diff --git a/packages/features/src/Domain/Component/NoteType.spec.ts b/packages/features/src/Domain/Component/NoteType.spec.ts index 7d53b1420..7fcc6e1ff 100644 --- a/packages/features/src/Domain/Component/NoteType.spec.ts +++ b/packages/features/src/Domain/Component/NoteType.spec.ts @@ -5,7 +5,6 @@ describe('note type', () => { it('should return the correct note type for editor identifier', () => { expect(noteTypeForEditorIdentifier(FeatureIdentifier.PlainEditor)).toEqual(NoteType.Plain) expect(noteTypeForEditorIdentifier(FeatureIdentifier.SuperEditor)).toEqual(NoteType.Super) - expect(noteTypeForEditorIdentifier(FeatureIdentifier.MarkdownVisualEditor)).toEqual(NoteType.Markdown) expect(noteTypeForEditorIdentifier(FeatureIdentifier.MarkdownProEditor)).toEqual(NoteType.Markdown) expect(noteTypeForEditorIdentifier(FeatureIdentifier.PlusEditor)).toEqual(NoteType.RichText) expect(noteTypeForEditorIdentifier(FeatureIdentifier.CodeEditor)).toEqual(NoteType.Code) diff --git a/packages/features/src/Domain/Feature/FeatureIdentifier.ts b/packages/features/src/Domain/Feature/FeatureIdentifier.ts index ea1bb4fec..1c6861207 100644 --- a/packages/features/src/Domain/Feature/FeatureIdentifier.ts +++ b/packages/features/src/Domain/Feature/FeatureIdentifier.ts @@ -30,12 +30,12 @@ export enum FeatureIdentifier { CodeEditor = 'org.standardnotes.code-editor', MarkdownProEditor = 'org.standardnotes.advanced-markdown-editor', - MarkdownVisualEditor = 'org.standardnotes.markdown-visual-editor', PlusEditor = 'org.standardnotes.plus-editor', SheetsEditor = 'org.standardnotes.standard-sheets', TaskEditor = 'org.standardnotes.simple-task-editor', TokenVaultEditor = 'org.standardnotes.token-vault', + DeprecatedMarkdownVisualEditor = 'org.standardnotes.markdown-visual-editor', DeprecatedBoldEditor = 'org.standardnotes.bold-editor', DeprecatedMarkdownBasicEditor = 'org.standardnotes.simple-markdown-editor', DeprecatedMarkdownMathEditor = 'org.standardnotes.fancy-markdown-editor', diff --git a/packages/features/src/Domain/Lists/DeprecatedFeatures.ts b/packages/features/src/Domain/Lists/DeprecatedFeatures.ts index 306440aa2..95e726a9b 100644 --- a/packages/features/src/Domain/Lists/DeprecatedFeatures.ts +++ b/packages/features/src/Domain/Lists/DeprecatedFeatures.ts @@ -55,6 +55,21 @@ export function GetDeprecatedFeatures(): FeatureDescription[] { availableInRoles: [RoleName.NAMES.PlusUser, RoleName.NAMES.ProUser], }) + const markdownAlt: EditorFeatureDescription = FillEditorComponentDefaults({ + availableInSubscriptions: [SubscriptionName.PlusPlan, SubscriptionName.ProPlan], + name: 'Markdown Alternative', + identifier: FeatureIdentifier.DeprecatedMarkdownVisualEditor, + note_type: NoteType.Markdown, + file_type: 'md', + deprecated: true, + permission_name: PermissionName.MarkdownVisualEditor, + spellcheckControl: true, + description: + 'A WYSIWYG-style Markdown editor that renders Markdown in preview-mode while you type without displaying any syntax.', + index_path: 'build/index.html', + availableInRoles: [RoleName.NAMES.PlusUser, RoleName.NAMES.ProUser], + }) + const markdownMinimist: EditorFeatureDescription = FillEditorComponentDefaults({ availableInSubscriptions: [SubscriptionName.PlusPlan, SubscriptionName.ProPlan], name: 'Minimal Markdown', @@ -112,5 +127,5 @@ export function GetDeprecatedFeatures(): FeatureDescription[] { availableInRoles: [RoleName.NAMES.PlusUser, RoleName.NAMES.ProUser], }) - return [bold, markdownBasic, markdownMinimist, markdownMath, filesafe] + return [bold, markdownBasic, markdownMinimist, markdownMath, markdownAlt, filesafe] } diff --git a/packages/features/src/Domain/Lists/Editors.ts b/packages/features/src/Domain/Lists/Editors.ts index 8cc277f4a..611ca50f6 100644 --- a/packages/features/src/Domain/Lists/Editors.ts +++ b/packages/features/src/Domain/Lists/Editors.ts @@ -52,20 +52,6 @@ export function editors(): EditorFeatureDescription[] { availableInRoles: [RoleName.NAMES.PlusUser, RoleName.NAMES.ProUser], }) - const markdownAlt: EditorFeatureDescription = FillEditorComponentDefaults({ - availableInSubscriptions: [SubscriptionName.PlusPlan, SubscriptionName.ProPlan], - name: 'Markdown Alternative', - identifier: FeatureIdentifier.MarkdownVisualEditor, - note_type: NoteType.Markdown, - file_type: 'md', - permission_name: PermissionName.MarkdownVisualEditor, - spellcheckControl: true, - description: - 'A WYSIWYG-style Markdown editor that renders Markdown in preview-mode while you type without displaying any syntax.', - index_path: 'build/index.html', - availableInRoles: [RoleName.NAMES.PlusUser, RoleName.NAMES.ProUser], - }) - const task: EditorFeatureDescription = FillEditorComponentDefaults({ availableInSubscriptions: [SubscriptionName.PlusPlan, SubscriptionName.ProPlan], name: 'Checklist', @@ -109,5 +95,5 @@ export function editors(): EditorFeatureDescription[] { availableInRoles: [RoleName.NAMES.PlusUser, RoleName.NAMES.ProUser], }) - return [code, plus, markdown, markdownAlt, task, tokenvault, spreadsheets] + return [code, plus, markdown, task, tokenvault, spreadsheets] } diff --git a/packages/models/src/Domain/Syncable/Component/Component.spec.ts b/packages/models/src/Domain/Syncable/Component/Component.spec.ts index 839aacd2c..a91d47d40 100644 --- a/packages/models/src/Domain/Syncable/Component/Component.spec.ts +++ b/packages/models/src/Domain/Syncable/Component/Component.spec.ts @@ -68,7 +68,7 @@ describe('component model', () => { expect(component.noteType).toEqual(NoteType.Authentication) }) - it('should return plain as noteType if no note type defined in package_info', () => { + it('should return unknown as noteType if no note type defined in package_info', () => { const component = new SNComponent( new DecryptedPayload( { @@ -83,6 +83,6 @@ describe('component model', () => { ), ) - expect(component.noteType).toEqual(NoteType.Plain) + expect(component.noteType).toEqual(NoteType.Unknown) }) }) diff --git a/packages/models/src/Domain/Syncable/Component/Component.ts b/packages/models/src/Domain/Syncable/Component/Component.ts index 509f28bc9..1b13d37dc 100644 --- a/packages/models/src/Domain/Syncable/Component/Component.ts +++ b/packages/models/src/Domain/Syncable/Component/Component.ts @@ -180,7 +180,7 @@ export class SNComponent extends DecryptedItem implements Comp } public get noteType(): NoteType { - return this.package_info.note_type || NoteType.Plain + return this.package_info.note_type || NoteType.Unknown } public get isDeprecated(): boolean { diff --git a/packages/snjs/lib/Services/ComponentManager/ComponentManager.spec.ts b/packages/snjs/lib/Services/ComponentManager/ComponentManager.spec.ts index 2c3e265c8..f5454bb16 100644 --- a/packages/snjs/lib/Services/ComponentManager/ComponentManager.spec.ts +++ b/packages/snjs/lib/Services/ComponentManager/ComponentManager.spec.ts @@ -147,7 +147,7 @@ describe('featuresService', () => { const manager = createManager(Environment.Desktop, Platform.MacDesktop) expect( - manager.areRequestedPermissionsValid(nativeComponent(FeatureIdentifier.MarkdownVisualEditor), permissions), + manager.areRequestedPermissionsValid(nativeComponent(FeatureIdentifier.MarkdownProEditor), permissions), ).toEqual(true) }) diff --git a/packages/web/src/javascripts/Utils/Items/Icons/getIconAndTintForNoteType.ts b/packages/web/src/javascripts/Utils/Items/Icons/getIconAndTintForNoteType.ts index e94fee989..e9a34d601 100644 --- a/packages/web/src/javascripts/Utils/Items/Icons/getIconAndTintForNoteType.ts +++ b/packages/web/src/javascripts/Utils/Items/Icons/getIconAndTintForNoteType.ts @@ -4,6 +4,9 @@ import { IconType } from '@standardnotes/models' export function getIconAndTintForNoteType(noteType?: NoteType, subtle?: boolean): [IconType, number] { switch (noteType) { + case undefined: + case NoteType.Plain: + return [PlainEditorMetadata.icon, PlainEditorMetadata.iconTintNumber] case NoteType.RichText: return ['rich-text', 1] case NoteType.Markdown: @@ -21,7 +24,8 @@ export function getIconAndTintForNoteType(noteType?: NoteType, subtle?: boolean) subtle ? (SuperEditorMetadata.subtleIcon as IconType) : SuperEditorMetadata.icon, SuperEditorMetadata.iconTintNumber, ] + case NoteType.Unknown: default: - return [PlainEditorMetadata.icon, PlainEditorMetadata.iconTintNumber] + return ['editor', PlainEditorMetadata.iconTintNumber] } }