Skip to content

Commit 24b58b5

Browse files
Unify Remaining Stores (#390)
#390 * - unified apiStore, blockStore, commentStore; * - add unify few more stores; * - rebase with main; * - unified more stores; - get mexit-autstore from indexedDB for extension initialise; * - fix store imports and store types; * - fix combobox imports; - add types to config store variables; - fix type errors for QuickLinkType and CategoryType; * - fix typo in createHighlightTextPlugin * - add changeset; * - fix highlighted state typo; - import inviteModalData, ComboTriggerType, RefactorPath and Shortcut imports; - add types to states; * - change type of itemLoading in combobox store; * - fix Shortcut import in ShortcutTable.tsx; * - remove version.store.ts; - unify useAppStore.ts; * useLayoutStore merge conflict fixed * Add storage options in createStore * localStorage undefined in worker fixed * Use localstorage in app store instead of indexedDB * Store fixes * - [cherry-pick]: remove unwanted files for stores; - [cherry-pick]fix the stores imports; * - fix build errors; * Get local storage with window type check --------- Co-authored-by: Dinesh Singh <[email protected]>
1 parent e194b4d commit 24b58b5

File tree

362 files changed

+1970
-3009
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

362 files changed

+1970
-3009
lines changed

.changeset/kind-rice-cover.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'mexit': patch
3+
---
4+
5+
unify all stores in webapp and extension

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Adding a New Theme or Shortcut
44

5-
When adding a new theme or shortcut, ensure to bump the version in the `apps/webapp/src/Stores/useThemeStore.ts` and `apps/webapp/src/Stores/useHelpStore.ts` files respectively
5+
When adding a new theme or shortcut, ensure to bump the version in the `apps/webapp/src/Stores/useThemeStore.ts` and `/libs/core/src/Stores/help.store.ts` files respectively
66

77
## Run - Dev
88

apps/extension/src/Components/Action/index.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@ import React from 'react'
22

33
import { DisplayShortcut } from '@workduck-io/mex-components'
44

5-
import { ActionType, cleanString, MexitAction, QuickLinkType } from '@mexit/core'
5+
import { ActionType, cleanString, MexitAction, QuickLinkType, useLayoutStore } from '@mexit/core'
66
import { PrimaryText } from '@mexit/shared'
77

8-
import { useLayoutStore } from '../../Stores/useLayoutStore'
98
import { useSputlitStore } from '../../Stores/useSputlitStore'
109

1110
import {

apps/extension/src/Components/Content/index.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,13 @@ import React, { useEffect, useState } from 'react'
22

33
import { createPlateEditor, createPlateUI } from '@udecode/plate'
44

5-
import { ELEMENT_TAG, getDefaultContent, NodeEditorContent, QuickLinkType } from '@mexit/core'
5+
import { ELEMENT_TAG, getDefaultContent, NodeEditorContent, QuickLinkType, useContentStore } from '@mexit/core'
66

77
import { CopyTag } from '../../Editor/components/Tags/CopyTag'
88
import { generateEditorPluginsWithComponents } from '../../Editor/plugins/index'
99
import { useEditorStore } from '../../Hooks/useEditorStore'
1010
import { useSnippets } from '../../Hooks/useSnippets'
1111
import { useSputlitContext } from '../../Hooks/useSputlitContext'
12-
import { useContentStore } from '../../Stores/useContentStore'
1312
import { useSputlitStore } from '../../Stores/useSputlitStore'
1413
import { getDeserializeSelectionToNodes } from '../../Utils/deserialize'
1514
import Results from '../Results'

apps/extension/src/Components/Dibba/index.tsx

+6-7
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,12 @@ import {
1212
getMIcon,
1313
NodeEditorContent,
1414
QuickLinkType,
15-
SEPARATOR
16-
} from '@mexit/core'
15+
SEPARATOR,
16+
useAuthStore,
17+
useContentStore,
18+
useLinkStore,
19+
useMetadataStore, useSnippetStore
20+
} from '@mexit/core'
1721
import {
1822
ActionTitle,
1923
CenteredIcon,
@@ -30,14 +34,9 @@ import {
3034
} from '@mexit/shared'
3135

3236
import { ElementTypeBasedShortcut } from '../../Editor/components/ComboBox'
33-
import { useAuthStore } from '../../Hooks/useAuth'
3437
import { getPathFromNodeIdHookless } from '../../Hooks/useLinks'
3538
import usePointerMovedSinceMount from '../../Hooks/usePointerMovedSinceMount'
3639
import { useSputlitContext, VisualState } from '../../Hooks/useSputlitContext'
37-
import { useContentStore } from '../../Stores/useContentStore'
38-
import { useLinkStore } from '../../Stores/useLinkStore'
39-
import { useMetadataStore } from '../../Stores/useMetadataStore'
40-
import { useSnippetStore } from '../../Stores/useSnippetStore'
4140
import { getDibbaText } from '../../Utils/getDibbaText'
4241
import { copySnippetToClipboard, copyToClipboard, getUpcomingData, simulatePaste } from '../../Utils/pasteUtils'
4342
import EditorPreviewRenderer from '../EditorPreviewRenderer'

apps/extension/src/Components/Editor/EditorPreview.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import Tippy from '@tippyjs/react/headless'
77

88
import { SecondaryButton } from '@workduck-io/mex-components'
99

10-
import { API_BASE_URLS, generateTempId, getNameFromPath, mog, NodeEditorContent } from '@mexit/core'
10+
import { API_BASE_URLS, generateTempId, getNameFromPath, mog, NodeEditorContent, useContentStore , useMetadataStore } from '@mexit/core'
1111
import {
1212
EditorPreviewControls,
1313
EditorPreviewEditorWrapper,
@@ -20,8 +20,6 @@ import {
2020
// import { useRouting, ROUTE_PATHS, NavigationType } from '../../../Hooks/useRouting'
2121
// import { useTags } from '../../Hooks/useTags'
2222
import { useLinks } from '../../Hooks/useLinks'
23-
import { useContentStore } from '../../Stores/useContentStore'
24-
import { useMetadataStore } from '../../Stores/useMetadataStore'
2523
import { getElementById } from '../../Utils/cs-utils'
2624
import EditorPreviewRenderer from '../EditorPreviewRenderer'
2725

apps/extension/src/Components/Editor/SnippetPreview.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import magicLine from '@iconify/icons-ri/magic-line'
55
import quillPenLine from '@iconify/icons-ri/quill-pen-line'
66
import { useTheme } from 'styled-components'
77

8+
import { useContentStore,useMetadataStore, useSnippetStore } from '@mexit/core'
89
import {
910
DefaultMIcons,
1011
EditorPreviewControls,
@@ -19,9 +20,6 @@ import {
1920
} from '@mexit/shared'
2021

2122
import { useSnippets } from '../../Hooks/useSnippets'
22-
import { useContentStore } from '../../Stores/useContentStore'
23-
import { useMetadataStore } from '../../Stores/useMetadataStore'
24-
import { useSnippetStore } from '../../Stores/useSnippetStore'
2523
import { getElementById } from '../../Utils/cs-utils'
2624
import EditorPreviewRenderer from '../EditorPreviewRenderer'
2725

apps/extension/src/Components/Editor/Todo/Todo.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import React, { useEffect, useMemo, useState } from 'react'
22

3-
import { getNextStatus, PriorityDataType, PriorityType, TodoStatus, TodoType } from '@mexit/core'
3+
import { getNextStatus, PriorityDataType, PriorityType, TodoStatus, TodoType, useTodoStore } from '@mexit/core'
44
import { CheckBoxWrapper, MexIcon, StyledTodoStatus, TodoContainer, TodoOptions, TodoText } from '@mexit/shared'
55

6-
import { useTodoStore } from '../../../Stores/useTodoStore'
7-
86
import PrioritySelect from './PrioritySelect'
97

108
export interface TodoControls {

apps/extension/src/Components/Floating/NoteSelector.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,11 @@ import { debounce } from 'lodash'
77
import { Button } from '@workduck-io/mex-components'
88
import { tinykeys } from '@workduck-io/tinykeys'
99

10-
import { fuzzySearch } from '@mexit/core'
10+
import { fuzzySearch, useDataStore } from '@mexit/core'
1111
import { DefaultMIcons, IconDisplay, Input, SidebarListFilter } from '@mexit/shared'
1212

1313
import { getTitleFromPath } from '../../Hooks/useLinks'
1414
import { isReadonly, usePermissions } from '../../Hooks/usePermissions'
15-
import useDataStore from '../../Stores/useDataStore'
1615

1716
import { Dialog } from './Dialog'
1817
import { NoteItem, NoteItemsWrapper, SelectionList } from './NoteSelector.style'

apps/extension/src/Components/Form/index.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,10 @@ import { useTheme } from 'styled-components'
66
import { MexIcon } from '@workduck-io/mex-components'
77
import { tinykeys } from '@workduck-io/tinykeys'
88

9-
import { mog, NodeEditorContent } from '@mexit/core'
9+
import { mog, NodeEditorContent , userPreferenceStore as useUserPreferenceStore } from '@mexit/core'
1010
import { FlexBetween } from '@mexit/shared'
1111

1212
import { useSaveChanges } from '../../Hooks/useSaveChanges'
13-
import { useUserPreferenceStore } from '../../Stores/userPreferenceStore'
1413
import { useSputlitStore } from '../../Stores/useSputlitStore'
1514
import { FormBuilder } from '../../Types/Form'
1615
import { formToBlocks } from '../../Utils/evalSmartCapture'

apps/extension/src/Components/InternalEvents.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,13 @@ import * as Sentry from '@sentry/react'
66
import mixpanel from 'mixpanel-browser'
77
import Highlighter from 'web-highlighter'
88

9-
import { API_BASE_URLS, mog } from '@mexit/core'
9+
import { API_BASE_URLS, mog, useHighlightStore } from '@mexit/core'
1010
import { getScrollbarWidth, isInputField } from '@mexit/shared'
1111

1212
import { useEditorStore } from '../Hooks/useEditorStore'
1313
import { useInitLoader } from '../Hooks/useInitLoader'
1414
import { useReminderActionHandler } from '../Hooks/useReminderActionHandler'
1515
import { useSputlitContext, VisualState } from '../Hooks/useSputlitContext'
16-
import { useHighlightStore } from '../Stores/useHighlightStore'
1716
import { useSputlitStore } from '../Stores/useSputlitStore'
1817
import messagePassing from '../Sync'
1918
import { getDibbaText } from '../Utils/getDibbaText'

apps/extension/src/Components/ReminderArmer.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import React, { useEffect } from 'react'
22

3+
import { useReminderStore } from '@mexit/core'
4+
35
import { useReminders } from '../Hooks/useReminders'
4-
import { useReminderStore } from '../Stores/useReminderStore'
56

67
const ReminderArmer = () => {
78
const reminders = useReminderStore((state) => state.reminders)

apps/extension/src/Components/Renderers/Screenshot/Screenshot.tsx

+2-6
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@ import { Icon } from '@iconify/react'
99

1010
import { Button, IconButton, PrimaryButton } from '@workduck-io/mex-components'
1111

12-
import { mog } from '@mexit/core'
12+
import { mog, useAuthStore } from '@mexit/core'
1313
import { useDebounceEffect } from '@mexit/shared'
1414

15-
import { useAuthStore } from '../../../Hooks/useAuth'
1615
import { useSaveChanges } from '../../../Hooks/useSaveChanges'
1716
import { useSputlitStore } from '../../../Stores/useSputlitStore'
1817
import { uploadImageToCDN } from '../../../Sync/invokeOnWorker'
@@ -326,12 +325,9 @@ const Screenshot = () => {
326325
if (base64) {
327326
const imageURL = await uploadImageToCDN(base64)
328327
const appendContent = [
329-
{ type: 'p', children: [{ text: 'Screenshot' }] },
330328
{ children: [{ text: '' }], type: 'img', url: imageURL },
331329
{ text: '\n' },
332-
{ text: '[' },
333-
{ type: 'a', url: window.location.href, children: [{ text: 'Ref' }] },
334-
{ text: ' ]' }
330+
{ type: 'a', url: window.location.href, children: [{ text: 'Ref' }] }
335331
]
336332
appendAndSave({ nodeid, content: appendContent, saveAndExit: true, notification: true })
337333
resetSpotlitState()

apps/extension/src/Components/Search/index.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ import {
1616
isParent,
1717
ListItemType,
1818
MAX_RECENT_ITEMS,
19+
useDataStore,
20+
useDescriptionStore,
21+
useRecentsStore,
1922
withoutContinuousDelimiter
2023
} from '@mexit/core'
2124
import { IconDisplay, Loading, WDLogo } from '@mexit/shared'
@@ -27,10 +30,7 @@ import { useSaveChanges } from '../../Hooks/useSaveChanges'
2730
import { useSearch } from '../../Hooks/useSearch'
2831
import { useSearchProps } from '../../Hooks/useSearchProps'
2932
import { useSputlitContext } from '../../Hooks/useSputlitContext'
30-
import useDataStore from '../../Stores/useDataStore'
31-
import { useDescriptionStore } from '../../Stores/useDescriptionStore'
3233
// import events from "events"
33-
import { useRecentsStore } from '../../Stores/useRecentsStore'
3434
import { type SearchType, useSputlitStore } from '../../Stores/useSputlitStore'
3535
import { getListItemFromNode } from '../../Utils/helper'
3636

apps/extension/src/Components/Sidebar/AddTags.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import React, { MetaHTMLAttributes, useMemo, useState } from 'react'
22

3-
import { Link, Tag } from '@mexit/core'
3+
import { Link, Tag, useLinkStore } from '@mexit/core'
44
import { AddTagMenu, LinkShortenAndTagsWrapper, TagsLabel } from '@mexit/shared'
55

66
import { useLinkURLs } from '../../Hooks/useURLs'
7-
import { useLinkStore } from '../../Stores/useLinkStore'
87

98
const getGoodMeta = (document: Document) => {
109
return {

apps/extension/src/Components/Sidebar/ContextInfoBar.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
import React, { useMemo } from 'react'
22

3+
import { useHighlightStore } from '@mexit/core'
34
import { CenteredFlex, DefaultMIcons, getMIcon, List, SnippetCards } from '@mexit/shared'
45

5-
import { useHighlightStore } from '../../Stores/useHighlightStore'
6-
76
import { AddTags } from './AddTags'
87
import { GenericCard } from './GenericCard'
98
import { HighlightGroups } from './HighlightGroup'

apps/extension/src/Components/Sidebar/DraggableToggle.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ import styled, { css } from 'styled-components'
77

88
import { TitleWithShortcut } from '@workduck-io/mex-components'
99

10+
import { useLayoutStore } from '@mexit/core'
1011
import { WDLogo } from '@mexit/shared'
1112

1213
import { useSidebarTransition } from '../../Hooks/useSidebarTransition'
13-
import { useLayoutStore } from '../../Stores/useLayoutStore'
1414
import { getElementById } from '../../Utils/cs-utils'
1515

1616
const DragIcon = styled(Icon)<{ $show: boolean }>`

apps/extension/src/Components/Sidebar/NodeCard.tsx

+10-5
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,16 @@ import { ErrorBoundary } from 'react-error-boundary'
33

44
import styled, { useTheme } from 'styled-components'
55

6-
import { API_BASE_URLS, convertContentToRawText, DefaultMIcons, mog, WORKSPACE_HEADER } from '@mexit/core'
6+
import {
7+
API_BASE_URLS,
8+
convertContentToRawText,
9+
DefaultMIcons,
10+
mog,
11+
useAuthStore,
12+
useContentStore,
13+
useMetadataStore, useRecentsStore,
14+
WORKSPACE_HEADER
15+
} from '@mexit/core'
716
import {
817
CopyButton,
918
GenericFlex,
@@ -14,12 +23,8 @@ import {
1423
SnippetContentPreview
1524
} from '@mexit/shared'
1625

17-
import { useAuthStore } from '../../Hooks/useAuth'
1826
import { getTitleFromPath } from '../../Hooks/useLinks'
1927
import { useNodes } from '../../Hooks/useNodes'
20-
import { useContentStore } from '../../Stores/useContentStore'
21-
import { useMetadataStore } from '../../Stores/useMetadataStore'
22-
import { useRecentsStore } from '../../Stores/useRecentsStore'
2328
import SnippetPreview from '../Editor/SnippetPreview'
2429

2530
export const NodeCardHeader = styled.div<{ $noHover?: boolean }>`

apps/extension/src/Components/Sidebar/NotesInfoBar.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { useTheme } from 'styled-components'
66

77
import { Indexes } from '@workduck-io/mex-search'
88

9-
import { BASE_TASKS_PATH, fuzzySearch, ILink, isParent, mog } from '@mexit/core'
9+
import { BASE_TASKS_PATH, fuzzySearch, ILink, isParent, mog, useDataStore, useRecentsStore } from '@mexit/core'
1010
import {
1111
CenteredColumn,
1212
DefaultMIcons,
@@ -20,8 +20,6 @@ import {
2020
} from '@mexit/shared'
2121

2222
import { useLinks } from '../../Hooks/useLinks'
23-
import useDataStore from '../../Stores/useDataStore'
24-
import { useRecentsStore } from '../../Stores/useRecentsStore'
2523
import { wSearchIndexWithRanking } from '../../Sync/invokeOnWorker'
2624

2725
import { NodeCard } from './NodeCard'

apps/extension/src/Components/Sidebar/ShortenerComponent.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import linkM from '@iconify/icons-ri/link-m'
55
import { Icon } from '@iconify/react'
66
import styled from 'styled-components'
77

8-
import { apiURLs, getFavicon } from '@mexit/core'
8+
import { apiURLs, getFavicon, useAuthStore, useLinkStore } from '@mexit/core'
99
import {
1010
CopyButton,
1111
DefaultMIcons,
@@ -18,9 +18,7 @@ import {
1818
ShortenerTitle
1919
} from '@mexit/shared'
2020

21-
import { useAuthStore } from '../../Hooks/useAuth'
2221
import { useLinkURLs } from '../../Hooks/useURLs'
23-
import { useLinkStore } from '../../Stores/useLinkStore'
2422

2523
const ShortenerWrapper = styled(ShortenButton)`
2624
padding: ${({ theme }) => theme.spacing.small};

apps/extension/src/Components/Sidebar/SnippetCard.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { useTheme } from 'styled-components'
88

99
import { tinykeys } from '@workduck-io/tinykeys'
1010

11-
import { API_BASE_URLS, Snippet } from '@mexit/core'
11+
import { API_BASE_URLS, Snippet, useDescriptionStore } from '@mexit/core'
1212
import {
1313
GenericFlex,
1414
MexIcon,
@@ -19,7 +19,6 @@ import {
1919
SnippetContentPreview
2020
} from '@mexit/shared'
2121

22-
import { useDescriptionStore } from '../../Stores/useDescriptionStore'
2322
import SnippetPreview from '../Editor/SnippetPreview'
2423

2524
import { NodeCardHeader } from './NodeCard'

apps/extension/src/Components/Sidebar/SnippetsInfoBar.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ import {
1515
DefaultMIcons,
1616
ELEMENT_TAG,
1717
parseSnippet,
18-
Snippet
18+
Snippet,
19+
useSnippetStore
1920
} from '@mexit/core'
2021
import {
2122
CenteredColumn,
@@ -31,7 +32,6 @@ import {
3132
import { CopyTag } from '../../Editor/components/Tags/CopyTag'
3233
import { generateEditorPluginsWithComponents } from '../../Editor/plugins/index'
3334
import { useSnippets } from '../../Hooks/useSnippets'
34-
import { useSnippetStore } from '../../Stores/useSnippetStore'
3535
import { wSearchIndexWithRanking } from '../../Sync/invokeOnWorker'
3636
import { copySnippetToClipboard, simulateOnChange, supportedDomains } from '../../Utils/pasteUtils'
3737

apps/extension/src/Components/Sidebar/index.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@ import React, { useEffect, useMemo } from 'react'
22

33
import { tinykeys } from '@workduck-io/tinykeys'
44

5+
import { useAuthStore, useLayoutStore } from '@mexit/core'
56
import { ExtInfobarMode, Group, InfoBarWrapper, LoginInfoBar, Tabs, WDLogo } from '@mexit/shared'
67

7-
import { useAuthStore } from '../../Hooks/useAuth'
88
import { useRightSidebarShortcuts } from '../../Hooks/useRightSidebarShortcuts'
99
import { useSidebarTransition } from '../../Hooks/useSidebarTransition'
10-
import { useLayoutStore } from '../../Stores/useLayoutStore'
1110
import { useRightSidebarItems } from '../../Stores/useRightSidebarItems'
1211
import { getElementById } from '../../Utils/cs-utils'
1312
import { RHSLogin } from '../Login'

apps/extension/src/Components/Sputlit/index.tsx

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
import React, { useEffect, useRef } from 'react'
22

3-
import { ActionType, QuickLinkType } from '@mexit/core'
3+
import { ActionType, QuickLinkType, useAuthStore, useHighlightStore } from '@mexit/core'
44

5-
import { useAuthStore } from '../../Hooks/useAuth'
65
import { useHighlighter } from '../../Hooks/useHighlighter'
76
import { useSputlitContext, VisualState } from '../../Hooks/useSputlitContext'
8-
import { useHighlightStore } from '../../Stores/useHighlightStore'
97
import { useSputlitStore } from '../../Stores/useSputlitStore'
108
import Content from '../Content'
119
import { SputlitLogin } from '../Login'

0 commit comments

Comments
 (0)