diff --git a/src/frontend/apps/impress/src/features/pads/pad-management/api/index.ts b/src/frontend/apps/impress/src/features/pads/pad-management/api/index.ts new file mode 100644 index 00000000..975546ee --- /dev/null +++ b/src/frontend/apps/impress/src/features/pads/pad-management/api/index.ts @@ -0,0 +1,3 @@ +export * from './usePad'; +export * from './usePads'; +export * from './useUpdatePad'; diff --git a/src/frontend/apps/impress/src/features/pads/pad/api/usePad.tsx b/src/frontend/apps/impress/src/features/pads/pad-management/api/usePad.tsx similarity index 100% rename from src/frontend/apps/impress/src/features/pads/pad/api/usePad.tsx rename to src/frontend/apps/impress/src/features/pads/pad-management/api/usePad.tsx diff --git a/src/frontend/apps/impress/src/features/pads/pads-panel/api/usePads.tsx b/src/frontend/apps/impress/src/features/pads/pad-management/api/usePads.tsx similarity index 96% rename from src/frontend/apps/impress/src/features/pads/pads-panel/api/usePads.tsx rename to src/frontend/apps/impress/src/features/pads/pad-management/api/usePads.tsx index bec57309..a0c29025 100644 --- a/src/frontend/apps/impress/src/features/pads/pads-panel/api/usePads.tsx +++ b/src/frontend/apps/impress/src/features/pads/pad-management/api/usePads.tsx @@ -6,7 +6,7 @@ import { } from '@tanstack/react-query'; import { APIError, APIList, errorCauses, fetchAPI } from '@/api'; -import { Pad } from '@/features/pads/pad'; +import { Pad } from '@/features/pads/pad-management'; export enum PadsOrdering { BY_CREATED_ON = 'created_at', diff --git a/src/frontend/apps/impress/src/features/pads/pad-management/api/useRemovePad.tsx b/src/frontend/apps/impress/src/features/pads/pad-management/api/useRemovePad.tsx index febb4d8e..02871c6c 100644 --- a/src/frontend/apps/impress/src/features/pads/pad-management/api/useRemovePad.tsx +++ b/src/frontend/apps/impress/src/features/pads/pad-management/api/useRemovePad.tsx @@ -6,7 +6,7 @@ import { import { APIError, errorCauses, fetchAPI } from '@/api'; -import { KEY_LIST_PAD } from '../../pads-panel'; +import { KEY_LIST_PAD } from './usePads'; interface RemovePadProps { padId: string; diff --git a/src/frontend/apps/impress/src/features/pads/pad/api/useUpdatePad.tsx b/src/frontend/apps/impress/src/features/pads/pad-management/api/useUpdatePad.tsx similarity index 83% rename from src/frontend/apps/impress/src/features/pads/pad/api/useUpdatePad.tsx rename to src/frontend/apps/impress/src/features/pads/pad-management/api/useUpdatePad.tsx index 40212921..8c59a9b9 100644 --- a/src/frontend/apps/impress/src/features/pads/pad/api/useUpdatePad.tsx +++ b/src/frontend/apps/impress/src/features/pads/pad-management/api/useUpdatePad.tsx @@ -3,10 +3,13 @@ import { useMutation, useQueryClient } from '@tanstack/react-query'; import { APIError, errorCauses, fetchAPI } from '@/api'; import { Pad } from '@/features/pads'; -export type PadParams = Pick & +export type UpdatePadParams = Pick & Partial>; -export const updatePad = async ({ id, ...params }: PadParams): Promise => { +export const updatePad = async ({ + id, + ...params +}: UpdatePadParams): Promise => { const response = await fetchAPI(`documents/${id}/`, { method: 'PATCH', body: JSON.stringify({ @@ -31,7 +34,7 @@ export function useUpdatePad({ listInvalideQueries, }: UpdatePadProps = {}) { const queryClient = useQueryClient(); - return useMutation({ + return useMutation({ mutationFn: updatePad, onSuccess: (data) => { listInvalideQueries?.forEach((queryKey) => { diff --git a/src/frontend/apps/impress/src/features/pads/pad-management/components/ModalRemovePad.tsx b/src/frontend/apps/impress/src/features/pads/pad-management/components/ModalRemovePad.tsx index bf48db4e..481adb9b 100644 --- a/src/frontend/apps/impress/src/features/pads/pad-management/components/ModalRemovePad.tsx +++ b/src/frontend/apps/impress/src/features/pads/pad-management/components/ModalRemovePad.tsx @@ -11,10 +11,10 @@ import { useRouter } from 'next/navigation'; import { Box, Text, TextErrors } from '@/components'; import useCunninghamTheme from '@/cunningham/useCunninghamTheme'; -import { Pad } from '../../pad/types'; import { useRemovePad } from '../api/useRemovePad'; import IconPad from '../assets/icon-pad.svg'; import IconRemove from '../assets/icon-trash.svg'; +import { Pad } from '../types'; interface ModalRemovePadProps { onClose: () => void; diff --git a/src/frontend/apps/impress/src/features/pads/pad-management/components/ModalUpdatePad.tsx b/src/frontend/apps/impress/src/features/pads/pad-management/components/ModalUpdatePad.tsx index dfdc1970..82af4376 100644 --- a/src/frontend/apps/impress/src/features/pads/pad-management/components/ModalUpdatePad.tsx +++ b/src/frontend/apps/impress/src/features/pads/pad-management/components/ModalUpdatePad.tsx @@ -11,11 +11,11 @@ import { useState } from 'react'; import { Box, Text } from '@/components'; import useCunninghamTheme from '@/cunningham/useCunninghamTheme'; -import { KEY_PAD, Pad } from '@/features/pads/pad'; -import { KEY_LIST_PAD } from '@/features/pads/pads-panel'; +import { KEY_LIST_PAD, KEY_PAD } from '../api'; import { useUpdatePad } from '../api/useUpdatePad'; import IconEdit from '../assets/icon-edit.svg'; +import { Pad } from '../types'; import { InputPadName } from './InputPadName'; diff --git a/src/frontend/apps/impress/src/features/pads/pad-management/index.ts b/src/frontend/apps/impress/src/features/pads/pad-management/index.ts index 07635cbb..314dad0c 100644 --- a/src/frontend/apps/impress/src/features/pads/pad-management/index.ts +++ b/src/frontend/apps/impress/src/features/pads/pad-management/index.ts @@ -1 +1,3 @@ +export * from './api'; export * from './components'; +export * from './types'; diff --git a/src/frontend/apps/impress/src/features/pads/pad/types.tsx b/src/frontend/apps/impress/src/features/pads/pad-management/types.tsx similarity index 100% rename from src/frontend/apps/impress/src/features/pads/pad/types.tsx rename to src/frontend/apps/impress/src/features/pads/pad-management/types.tsx diff --git a/src/frontend/apps/impress/src/features/pads/pad-tools/components/ModalPDF.tsx b/src/frontend/apps/impress/src/features/pads/pad-tools/components/ModalPDF.tsx index 2b2fe9e7..4746a89e 100644 --- a/src/frontend/apps/impress/src/features/pads/pad-tools/components/ModalPDF.tsx +++ b/src/frontend/apps/impress/src/features/pads/pad-tools/components/ModalPDF.tsx @@ -11,7 +11,8 @@ import { t } from 'i18next'; import { useEffect, useState } from 'react'; import { Box, Text } from '@/components'; -import { Pad, usePadStore } from '@/features/pads/pad/'; +import { usePadStore } from '@/features/pads/pad/'; +import { Pad } from '@/features/pads/pad-management'; import { useCreatePdf } from '../api/useCreatePdf'; import { downloadFile } from '../utils'; diff --git a/src/frontend/apps/impress/src/features/pads/pad-tools/components/PadToolBox.tsx b/src/frontend/apps/impress/src/features/pads/pad-tools/components/PadToolBox.tsx index 7c52c206..45eefb06 100644 --- a/src/frontend/apps/impress/src/features/pads/pad-tools/components/PadToolBox.tsx +++ b/src/frontend/apps/impress/src/features/pads/pad-tools/components/PadToolBox.tsx @@ -3,8 +3,11 @@ import React, { useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Box, DropButton, IconOptions, Text } from '@/components'; -import { Pad } from '@/features/pads/pad'; -import { ModalRemovePad, ModalUpdatePad } from '@/features/pads/pad-management'; +import { + ModalRemovePad, + ModalUpdatePad, + Pad, +} from '@/features/pads/pad-management'; import { TemplatesOrdering, useTemplates } from '../api/useTemplates'; diff --git a/src/frontend/apps/impress/src/features/pads/pad/api/index.ts b/src/frontend/apps/impress/src/features/pads/pad/api/index.ts deleted file mode 100644 index a995b80b..00000000 --- a/src/frontend/apps/impress/src/features/pads/pad/api/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './usePad'; diff --git a/src/frontend/apps/impress/src/features/pads/pad/components/BlockNoteEditor.tsx b/src/frontend/apps/impress/src/features/pads/pad/components/BlockNoteEditor.tsx index 576dfc4f..74f36bd2 100644 --- a/src/frontend/apps/impress/src/features/pads/pad/components/BlockNoteEditor.tsx +++ b/src/frontend/apps/impress/src/features/pads/pad/components/BlockNoteEditor.tsx @@ -6,10 +6,10 @@ import { WebrtcProvider } from 'y-webrtc'; import { Box } from '@/components'; import { useAuthStore } from '@/core/auth'; +import { Pad } from '@/features/pads/pad-management'; import useSavePad from '../hook/useSavePad'; import { usePadStore } from '../stores'; -import { Pad } from '../types'; import { randomColor } from '../utils'; import { BlockNoteToolbar } from './BlockNoteToolbar'; diff --git a/src/frontend/apps/impress/src/features/pads/pad/components/PadEditor.tsx b/src/frontend/apps/impress/src/features/pads/pad/components/PadEditor.tsx index 8d74d105..c09896b2 100644 --- a/src/frontend/apps/impress/src/features/pads/pad/components/PadEditor.tsx +++ b/src/frontend/apps/impress/src/features/pads/pad/components/PadEditor.tsx @@ -1,10 +1,9 @@ import React from 'react'; import { Box, Card, Text } from '@/components'; +import { Pad } from '@/features/pads/pad-management'; import { PadToolBox } from '@/features/pads/pad-tools'; -import { Pad } from '../types'; - import { BlockNoteEditor } from './BlockNoteEditor'; interface PadEditorProps { diff --git a/src/frontend/apps/impress/src/features/pads/pad/hook/useSavePad.tsx b/src/frontend/apps/impress/src/features/pads/pad/hook/useSavePad.tsx index c1a5535f..ec7bea65 100644 --- a/src/frontend/apps/impress/src/features/pads/pad/hook/useSavePad.tsx +++ b/src/frontend/apps/impress/src/features/pads/pad/hook/useSavePad.tsx @@ -2,7 +2,8 @@ import { useRouter } from 'next/router'; import { useCallback, useEffect, useRef, useState } from 'react'; import * as Y from 'yjs'; -import { useUpdatePad } from '../api/useUpdatePad'; +import { useUpdatePad } from '@/features/pads/pad-management/'; + import { toBase64 } from '../utils'; const useSavePad = (padId: string, doc: Y.Doc) => { diff --git a/src/frontend/apps/impress/src/features/pads/pad/index.tsx b/src/frontend/apps/impress/src/features/pads/pad/index.tsx index 93eec6ee..70605fb7 100644 --- a/src/frontend/apps/impress/src/features/pads/pad/index.tsx +++ b/src/frontend/apps/impress/src/features/pads/pad/index.tsx @@ -1,4 +1,2 @@ -export * from './api'; export * from './components'; export * from './stores'; -export * from './types'; diff --git a/src/frontend/apps/impress/src/features/pads/pad/stores/usePadStore.tsx b/src/frontend/apps/impress/src/features/pads/pad/stores/usePadStore.tsx index e2ca6b79..a4a58ed5 100644 --- a/src/frontend/apps/impress/src/features/pads/pad/stores/usePadStore.tsx +++ b/src/frontend/apps/impress/src/features/pads/pad/stores/usePadStore.tsx @@ -4,8 +4,7 @@ import * as Y from 'yjs'; import { create } from 'zustand'; import { signalingUrl } from '@/core'; - -import { Base64, Pad } from '../types'; +import { Base64, Pad } from '@/features/pads/pad-management'; export interface PadStore { padsStore: { diff --git a/src/frontend/apps/impress/src/features/pads/pads-panel/api/index.ts b/src/frontend/apps/impress/src/features/pads/pads-panel/api/index.ts deleted file mode 100644 index 439cceb9..00000000 --- a/src/frontend/apps/impress/src/features/pads/pads-panel/api/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './usePads'; diff --git a/src/frontend/apps/impress/src/features/pads/pads-panel/components/PadItem.tsx b/src/frontend/apps/impress/src/features/pads/pads-panel/components/PadItem.tsx index fd578a41..d069e033 100644 --- a/src/frontend/apps/impress/src/features/pads/pads-panel/components/PadItem.tsx +++ b/src/frontend/apps/impress/src/features/pads/pads-panel/components/PadItem.tsx @@ -5,7 +5,7 @@ import { useTranslation } from 'react-i18next'; import IconGroup from '@/assets/icons/icon-group.svg'; import { Box, StyledLink, Text } from '@/components'; import { useCunninghamTheme } from '@/cunningham'; -import { Pad } from '@/features/pads/pad'; +import { Pad } from '@/features/pads/pad-management'; import IconNone from '../assets/icon-none.svg'; diff --git a/src/frontend/apps/impress/src/features/pads/pads-panel/components/PadList.tsx b/src/frontend/apps/impress/src/features/pads/pads-panel/components/PadList.tsx index ca63e435..d3179f7c 100644 --- a/src/frontend/apps/impress/src/features/pads/pads-panel/components/PadList.tsx +++ b/src/frontend/apps/impress/src/features/pads/pads-panel/components/PadList.tsx @@ -4,9 +4,8 @@ import { useTranslation } from 'react-i18next'; import { Box, Text } from '@/components'; import { InfiniteScroll } from '@/components/InfiniteScroll'; -import { Pad } from '@/features/pads/pad'; +import { Pad, usePads } from '@/features/pads/pad-management'; -import { usePads } from '../api'; import { usePadPanelStore } from '../store'; import { PadItem } from './PadItem'; diff --git a/src/frontend/apps/impress/src/features/pads/pads-panel/components/PanelActions.tsx b/src/frontend/apps/impress/src/features/pads/pads-panel/components/PanelActions.tsx index bc54a205..e06a9b1e 100644 --- a/src/frontend/apps/impress/src/features/pads/pads-panel/components/PanelActions.tsx +++ b/src/frontend/apps/impress/src/features/pads/pads-panel/components/PanelActions.tsx @@ -3,8 +3,8 @@ import { useTranslation } from 'react-i18next'; import { Box, BoxButton, StyledLink } from '@/components'; import { useCunninghamTheme } from '@/cunningham'; +import { PadsOrdering } from '@/features/pads/pad-management'; -import { PadsOrdering } from '../api'; import IconAdd from '../assets/icon-add.svg'; import IconSort from '../assets/icon-sort.svg'; import { usePadPanelStore } from '../store'; diff --git a/src/frontend/apps/impress/src/features/pads/pads-panel/index.ts b/src/frontend/apps/impress/src/features/pads/pads-panel/index.ts index 0ef46430..07635cbb 100644 --- a/src/frontend/apps/impress/src/features/pads/pads-panel/index.ts +++ b/src/frontend/apps/impress/src/features/pads/pads-panel/index.ts @@ -1,2 +1 @@ -export * from './api'; export * from './components'; diff --git a/src/frontend/apps/impress/src/features/pads/pads-panel/store/usePadPanelStore.tsx b/src/frontend/apps/impress/src/features/pads/pads-panel/store/usePadPanelStore.tsx index 4c2b1b4d..37d98c5b 100644 --- a/src/frontend/apps/impress/src/features/pads/pads-panel/store/usePadPanelStore.tsx +++ b/src/frontend/apps/impress/src/features/pads/pads-panel/store/usePadPanelStore.tsx @@ -1,6 +1,6 @@ import { create } from 'zustand'; -import { PadsOrdering } from '../api/usePads'; +import { PadsOrdering } from '@/features/pads/pad-management'; interface PadPanelStore { ordering: PadsOrdering; diff --git a/src/frontend/apps/impress/src/pages/pads/[id].tsx b/src/frontend/apps/impress/src/pages/pads/[id].tsx index ab251253..91510846 100644 --- a/src/frontend/apps/impress/src/pages/pads/[id].tsx +++ b/src/frontend/apps/impress/src/pages/pads/[id].tsx @@ -5,7 +5,8 @@ import { ReactElement } from 'react'; import { Box } from '@/components'; import { TextErrors } from '@/components/TextErrors'; -import { PadEditor, usePad } from '@/features/pads/pad'; +import { PadEditor } from '@/features/pads/pad'; +import { usePad } from '@/features/pads/pad-management'; import { PadLayout } from '@/layouts'; import { NextPageWithLayout } from '@/types/next'; diff --git a/src/frontend/apps/impress/src/pages/pads/create.tsx b/src/frontend/apps/impress/src/pages/pads/create.tsx index 6be09f75..5cbf5f0f 100644 --- a/src/frontend/apps/impress/src/pages/pads/create.tsx +++ b/src/frontend/apps/impress/src/pages/pads/create.tsx @@ -1,7 +1,7 @@ import { ReactElement } from 'react'; import { Box } from '@/components'; -import { CardCreatePad } from '@/features/pads/'; +import { CardCreatePad } from '@/features/pads/pad-management'; import { PadLayout } from '@/layouts'; import { NextPageWithLayout } from '@/types/next';