22 |
23 |
24 | {showFull && <> {user.fullname}>}
25 |
26 | );
27 | }
28 |
--------------------------------------------------------------------------------
/apps/webapp/common/virtualized-list/index.ts:
--------------------------------------------------------------------------------
1 | export * from './scroll-managed-list';
2 |
--------------------------------------------------------------------------------
/apps/webapp/common/wrappers/index.ts:
--------------------------------------------------------------------------------
1 | export * from './auth-guard';
2 | export * from './database-wrapper';
3 | export * from './user-data-wrapper';
4 |
--------------------------------------------------------------------------------
/apps/webapp/electron.d.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable @typescript-eslint/no-explicit-any */
2 | declare global {
3 | interface Window {
4 | electron: {
5 | // Add specific methods or properties you expose to the renderer
6 | ipcRenderer: {
7 | sendMessage(channel: string, ...args: any[]): void;
8 | on(
9 | channel: string,
10 | listener: (event: any, ...args: any[]) => void,
11 | ): void;
12 | once(
13 | channel: string,
14 | listener: (event: any, ...args: any[]) => void,
15 | ): void;
16 | };
17 | };
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/apps/webapp/hooks/application/index.ts:
--------------------------------------------------------------------------------
1 | export * from './use-application';
2 |
--------------------------------------------------------------------------------
/apps/webapp/hooks/application/use-tab.ts:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | import { useContextStore } from 'store/global-context-provider';
4 | import { TabContext } from 'store/tab-context';
5 |
6 | export const useTab = () => {
7 | const tabContext = React.useContext(TabContext);
8 | const { applicationStore } = useContextStore();
9 | const tabGroup = applicationStore.getTabGroup();
10 |
11 | return { tab: tabGroup.tabs.find((tab) => tab.id === tabContext.tabId) };
12 | };
13 |
--------------------------------------------------------------------------------
/apps/webapp/hooks/conversations/index.ts:
--------------------------------------------------------------------------------
1 | export * from './use-conversation-history';
2 |
--------------------------------------------------------------------------------
/apps/webapp/hooks/integration/index.ts:
--------------------------------------------------------------------------------
1 | export * from './use-integration-from-account';
2 |
--------------------------------------------------------------------------------
/apps/webapp/hooks/ipc/index.ts:
--------------------------------------------------------------------------------
1 | export * from './use-ipc';
2 |
--------------------------------------------------------------------------------
/apps/webapp/hooks/list/index.ts:
--------------------------------------------------------------------------------
1 | export * from './use-lists';
2 |
--------------------------------------------------------------------------------
/apps/webapp/hooks/pages/index.ts:
--------------------------------------------------------------------------------
1 | export * from './use-page';
2 |
--------------------------------------------------------------------------------
/apps/webapp/hooks/pages/use-page.tsx:
--------------------------------------------------------------------------------
1 | import type { PageType } from 'common/types';
2 |
3 | import { useContextStore } from 'store/global-context-provider';
4 |
5 | export function usePage(pageId: string): PageType {
6 | const { pagesStore } = useContextStore();
7 |
8 | return pagesStore.getPageWithId(pageId);
9 | }
10 |
--------------------------------------------------------------------------------
/apps/webapp/hooks/use-is-electron.tsx:
--------------------------------------------------------------------------------
1 | export const useIsElectron = () => {
2 | if (typeof window === 'undefined') {
3 | return false;
4 | }
5 |
6 | // eslint-disable-next-line @typescript-eslint/no-explicit-any
7 | return (window as any)?.electron;
8 | };
9 |
--------------------------------------------------------------------------------
/apps/webapp/hooks/use-scope.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { useHotkeysContext } from 'react-hotkeys-hook';
3 |
4 | export function useScope(scope: string) {
5 | const { enableScope, disableScope } = useHotkeysContext();
6 |
7 | React.useEffect(() => {
8 | enableScope(scope);
9 |
10 | return () => {
11 | disableScope(scope);
12 | };
13 | // eslint-disable-next-line react-hooks/exhaustive-deps
14 | }, []);
15 | }
16 |
--------------------------------------------------------------------------------
/apps/webapp/hooks/workspace/index.ts:
--------------------------------------------------------------------------------
1 | export * from './use-workspace';
2 |
--------------------------------------------------------------------------------
/apps/webapp/hooks/workspace/use-workspace.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react';
2 |
3 | import { UserContext } from 'store/user-context';
4 |
5 | export function useWorkspace() {
6 | const user = React.useContext(UserContext);
7 |
8 | return user.workspace;
9 | }
10 |
--------------------------------------------------------------------------------
/apps/webapp/icons/index.ts:
--------------------------------------------------------------------------------
1 | export * from './hevy';
2 | export * from './gmail';
3 | export * from './claude';
4 |
--------------------------------------------------------------------------------
/apps/webapp/icons/types.tsx:
--------------------------------------------------------------------------------
1 | export interface IconProps {
2 | size?: number;
3 | className?: string;
4 | color?: string;
5 | onClick?: (event: MouseEvent) => void;
6 | }
7 |
--------------------------------------------------------------------------------
/apps/webapp/layouts/app-layout/index.ts:
--------------------------------------------------------------------------------
1 | export * from './app-layout';
2 | export * from './navigation';
3 |
--------------------------------------------------------------------------------
/apps/webapp/layouts/right-side-layout/index.ts:
--------------------------------------------------------------------------------
1 | export * from './right-side-layout';
2 |
--------------------------------------------------------------------------------
/apps/webapp/modules/auth/index.ts:
--------------------------------------------------------------------------------
1 | export * from './layout';
2 | export * from './auth';
3 | export * from './verify';
4 | export * from './authorize';
5 |
--------------------------------------------------------------------------------
/apps/webapp/modules/auth/layout.tsx:
--------------------------------------------------------------------------------
1 | import type { ReactElement } from 'react';
2 |
3 | import { Logo } from 'common/logo';
4 |
5 | interface Props {
6 | children: React.ReactNode;
7 | }
8 |
9 | export function AuthLayout(props: Props): ReactElement {
10 | const { children } = props;
11 |
12 | return (
13 |