refactor: importer service (#2674)
This commit is contained in:
@@ -13,7 +13,6 @@ import ItemSelectionDropdown from '../ItemSelectionDropdown/ItemSelectionDropdow
|
||||
import { ContentType, SNTag } from '@standardnotes/snjs'
|
||||
import Button from '../Button/Button'
|
||||
import { ClassicFileReader } from '@standardnotes/filepicker'
|
||||
import { NoteImportType } from '@standardnotes/ui-services'
|
||||
|
||||
const ImportModal = ({ importModalController }: { importModalController: ImportModalController }) => {
|
||||
const application = useApplication()
|
||||
@@ -60,7 +59,7 @@ const ImportModal = ({ importModalController }: { importModalController: ImportM
|
||||
)
|
||||
|
||||
const selectFiles = useCallback(
|
||||
async (service?: NoteImportType) => {
|
||||
async (service?: string) => {
|
||||
const files = await ClassicFileReader.selectFiles()
|
||||
|
||||
addFiles(files, service)
|
||||
|
||||
@@ -9,7 +9,7 @@ import {
|
||||
PreferencesServiceEvent,
|
||||
UuidGenerator,
|
||||
} from '@standardnotes/snjs'
|
||||
import { Importer, NoteImportType } from '@standardnotes/ui-services'
|
||||
import { Importer } from '@standardnotes/ui-services'
|
||||
import { action, makeObservable, observable, runInAction } from 'mobx'
|
||||
import { NavigationController } from '../../Controllers/Navigation/NavigationController'
|
||||
import { LinkingController } from '@/Controllers/LinkingController'
|
||||
@@ -18,7 +18,7 @@ import { AbstractViewController } from '@/Controllers/Abstract/AbstractViewContr
|
||||
type ImportModalFileCommon = {
|
||||
id: string
|
||||
file: File
|
||||
service: NoteImportType | null | undefined
|
||||
service: string | null | undefined
|
||||
}
|
||||
|
||||
export type ImportModalFile = (
|
||||
@@ -107,7 +107,7 @@ export class ImportModalController extends AbstractViewController {
|
||||
this.preferences.setValue(PrefKey.ExistingTagForImports, tag?.uuid).catch(console.error)
|
||||
}
|
||||
|
||||
getImportFromFile = (file: File, service?: NoteImportType) => {
|
||||
getImportFromFile = (file: File, service?: string) => {
|
||||
return {
|
||||
id: UuidGenerator.GenerateUuid(),
|
||||
file,
|
||||
@@ -116,11 +116,11 @@ export class ImportModalController extends AbstractViewController {
|
||||
} as ImportModalFile
|
||||
}
|
||||
|
||||
setFiles = (files: File[], service?: NoteImportType) => {
|
||||
setFiles = (files: File[], service?: string) => {
|
||||
this.files = files.map((file) => this.getImportFromFile(file, service))
|
||||
}
|
||||
|
||||
addFiles = (files: File[], service?: NoteImportType) => {
|
||||
addFiles = (files: File[], service?: string) => {
|
||||
this.files = [...this.files, ...files.map((file) => this.getImportFromFile(file, service))]
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { ImportModalController, ImportModalFile } from '@/Components/ImportModal/ImportModalController'
|
||||
import { classNames, ContentType, pluralize } from '@standardnotes/snjs'
|
||||
import { Importer, NoteImportType } from '@standardnotes/ui-services'
|
||||
import { Importer } from '@standardnotes/ui-services'
|
||||
import { observer } from 'mobx-react-lite'
|
||||
import { useCallback, useEffect, useState } from 'react'
|
||||
import Icon from '../Icon/Icon'
|
||||
|
||||
const NoteImportTypeColors: Record<NoteImportType, string> = {
|
||||
const NoteImportTypeColors: Record<string, string> = {
|
||||
evernote: 'bg-[#14cc45] text-[#000]',
|
||||
simplenote: 'bg-[#3360cc] text-default',
|
||||
'google-keep': 'bg-[#fbbd00] text-[#000]',
|
||||
@@ -15,7 +15,7 @@ const NoteImportTypeColors: Record<NoteImportType, string> = {
|
||||
super: 'bg-accessory-tint-1 text-accessory-tint-1',
|
||||
}
|
||||
|
||||
const NoteImportTypeIcons: Record<NoteImportType, string> = {
|
||||
const NoteImportTypeIcons: Record<string, string> = {
|
||||
evernote: 'evernote',
|
||||
simplenote: 'simplenote',
|
||||
'google-keep': 'gkeep',
|
||||
@@ -39,7 +39,7 @@ const ImportModalFileItem = ({
|
||||
const [changingService, setChangingService] = useState(false)
|
||||
|
||||
const setFileService = useCallback(
|
||||
async (service: NoteImportType | null) => {
|
||||
async (service: string | null) => {
|
||||
if (!service) {
|
||||
setChangingService(true)
|
||||
}
|
||||
@@ -116,7 +116,7 @@ const ImportModalFileItem = ({
|
||||
event.preventDefault()
|
||||
const form = event.target as HTMLFormElement
|
||||
const service = form.elements[0] as HTMLSelectElement
|
||||
void setFileService(service.value as NoteImportType)
|
||||
void setFileService(service.value)
|
||||
setChangingService(false)
|
||||
}}
|
||||
>
|
||||
|
||||
@@ -5,11 +5,10 @@ import Icon from '../Icon/Icon'
|
||||
import { useApplication } from '../ApplicationProvider'
|
||||
import { FeatureName } from '@/Controllers/FeatureName'
|
||||
import { NativeFeatureIdentifier, FeatureStatus } from '@standardnotes/snjs'
|
||||
import { NoteImportType } from '@standardnotes/ui-services'
|
||||
|
||||
type Props = {
|
||||
setFiles: ImportModalController['setFiles']
|
||||
selectFiles: (service?: NoteImportType) => Promise<void>
|
||||
selectFiles: (service?: string) => Promise<void>
|
||||
}
|
||||
|
||||
const ImportModalInitialPage = ({ setFiles, selectFiles }: Props) => {
|
||||
|
||||
Reference in New Issue
Block a user