refactor(web): dependency management (#2386)

This commit is contained in:
Mo
2023-08-05 12:48:39 -05:00
committed by GitHub
parent b07da5b663
commit d8d4052a52
274 changed files with 4065 additions and 3873 deletions

View File

@@ -1,6 +1,7 @@
import RevisionContentLocked from './RevisionContentLocked'
import { observer } from 'mobx-react-lite'
import { NoteHistoryController, RevisionContentState } from '@/Controllers/NoteHistory/NoteHistoryController'
import { NoteHistoryController } from '@/Controllers/NoteHistory/NoteHistoryController'
import { RevisionContentState } from '@/Controllers/NoteHistory/Types'
import Spinner from '@/Components/Spinner/Spinner'
import { ReadonlyNoteContent } from '../NoteView/ReadonlyNoteContent'
import { SNNote } from '@standardnotes/snjs'

View File

@@ -11,14 +11,29 @@ import { HistoryModalMobileTab } from './utils'
import MobileModalAction from '../Modal/MobileModalAction'
import Popover from '../Popover/Popover'
import MobileModalHeader from '../Modal/MobileModalHeader'
import { useApplication } from '../ApplicationProvider'
const HistoryModalDialogContent = ({
application,
dismissModal,
note,
selectionController,
}: RevisionHistoryModalContentProps) => {
const [noteHistoryController] = useState(() => new NoteHistoryController(application, note, selectionController))
const HistoryModalDialogContent = ({ dismissModal, note }: RevisionHistoryModalContentProps) => {
const application = useApplication()
const [noteHistoryController] = useState(
() =>
new NoteHistoryController(
note,
application.itemListController,
application.features,
application.items,
application.mutator,
application.sync,
application.actions,
application.history,
application.alerts,
application.getRevision,
application.listRevisions,
application.deleteRevision,
application.changeAndSaveItem,
),
)
const [selectedMobileTab, setSelectedMobileTab] = useState<HistoryModalMobileTab>('List')
const tabOptionRef = useRef<HTMLButtonElement>(null)

View File

@@ -6,15 +6,12 @@ import { RevisionHistoryModalProps } from './RevisionHistoryModalProps'
import { useAndroidBackHandler } from '@/NativeMobileWeb/useAndroidBackHandler'
import { useModalAnimation } from '../Modal/useModalAnimation'
const RevisionHistoryModal: FunctionComponent<RevisionHistoryModalProps> = ({
application,
historyModalController,
selectionController,
}) => {
const RevisionHistoryModal: FunctionComponent<RevisionHistoryModalProps> = ({ application }) => {
const addAndroidBackHandler = useAndroidBackHandler()
const isOpen = Boolean(
historyModalController.note && application.isAuthorizedToRenderItem(historyModalController.note),
application.historyModalController.note &&
application.isAuthorizedToRenderItem(application.historyModalController.note),
)
useEffect(() => {
@@ -22,7 +19,7 @@ const RevisionHistoryModal: FunctionComponent<RevisionHistoryModalProps> = ({
if (isOpen) {
removeListener = addAndroidBackHandler(() => {
historyModalController.dismissModal()
application.historyModalController.dismissModal()
return true
})
}
@@ -32,7 +29,7 @@ const RevisionHistoryModal: FunctionComponent<RevisionHistoryModalProps> = ({
removeListener()
}
}
}, [addAndroidBackHandler, historyModalController, isOpen])
}, [addAndroidBackHandler, application, isOpen])
const [isMounted, setElement] = useModalAnimation(isOpen)
@@ -41,13 +38,12 @@ const RevisionHistoryModal: FunctionComponent<RevisionHistoryModalProps> = ({
}
return (
<HistoryModalDialog onDismiss={historyModalController.dismissModal} ref={setElement}>
{!!historyModalController.note && (
<HistoryModalDialog onDismiss={application.historyModalController.dismissModal} ref={setElement}>
{!!application.historyModalController.note && (
<HistoryModalDialogContent
application={application}
dismissModal={historyModalController.dismissModal}
note={historyModalController.note}
selectionController={selectionController}
dismissModal={application.historyModalController.dismissModal}
note={application.historyModalController.note}
/>
)}
</HistoryModalDialog>

View File

@@ -1,16 +1,11 @@
import { WebApplication } from '@/Application/WebApplication'
import { HistoryModalController } from '@/Controllers/NoteHistory/HistoryModalController'
import { SelectedItemsController } from '@/Controllers/SelectedItemsController'
import { SNNote } from '@standardnotes/snjs'
type CommonProps = {
application: WebApplication
selectionController: SelectedItemsController
}
export type RevisionHistoryModalProps = CommonProps & {
historyModalController: HistoryModalController
}
export type RevisionHistoryModalProps = CommonProps
export type RevisionHistoryModalContentProps = CommonProps & {
note: SNNote