diff --git a/packages/web/src/javascripts/Components/ContentListView/Header/ContentListHeader.tsx b/packages/web/src/javascripts/Components/ContentListView/Header/ContentListHeader.tsx index 696bf510c..f5d757119 100644 --- a/packages/web/src/javascripts/Components/ContentListView/Header/ContentListHeader.tsx +++ b/packages/web/src/javascripts/Components/ContentListView/Header/ContentListHeader.tsx @@ -5,7 +5,7 @@ import { classNames } from '@standardnotes/utils' import Popover from '@/Components/Popover/Popover' import DisplayOptionsMenu from './DisplayOptionsMenu' import { NavigationMenuButton } from '@/Components/NavigationMenu/NavigationMenu' -import { IconType, isTag } from '@standardnotes/snjs' +import { isTag, VectorIconNameOrEmoji } from '@standardnotes/snjs' import RoundIconButton from '@/Components/Button/RoundIconButton' import { AnyTag } from '@/Controllers/Navigation/AnyTagType' import { MediaQueryBreakpoints, useMediaQuery } from '@/Hooks/useMediaQuery' @@ -13,7 +13,7 @@ import { MediaQueryBreakpoints, useMediaQuery } from '@/Hooks/useMediaQuery' type Props = { application: WebApplication panelTitle: string - icon?: IconType | string + icon?: VectorIconNameOrEmoji addButtonLabel: string addNewItem: () => void isFilesSmartView: boolean @@ -108,7 +108,7 @@ const ContentListHeader = ({
{icon && ( void + onIconChange: (value?: VectorIconNameOrEmoji) => void platform: Platform useIconGrid?: boolean iconGridClassName?: string @@ -87,7 +87,7 @@ const IconPicker = ({ const handleEmojiChange = (value: EmojiString) => { setEmojiInputValue(value) - const emojiLength = getEmojiLength(value) + const emojiLength = getEmojiLength(value as string) if (emojiLength === 1) { onIconChange(value) emojiInputRef.current?.blur() @@ -130,7 +130,7 @@ const IconPicker = ({ id="change-tag-icon-dropdown" label="Change the icon for a tag" items={iconOptions} - value={selectedValue} + value={selectedValue as string} onChange={handleIconChange} portal={portalDropdown} /> @@ -144,7 +144,7 @@ const IconPicker = ({ autoFocus={emojiInputFocused} className="w-full flex-grow rounded border border-solid border-passive-3 bg-default px-2 py-1 text-base font-bold text-text focus:shadow-none focus:outline-none" type="text" - value={emojiInputValue} + value={emojiInputValue as string} onChange={({ target: input }) => handleEmojiChange((input as HTMLInputElement)?.value)} />
diff --git a/packages/web/src/javascripts/Components/Preferences/Panes/General/SmartViews/EditSmartViewModal.tsx b/packages/web/src/javascripts/Components/Preferences/Panes/General/SmartViews/EditSmartViewModal.tsx index 3471173f8..91f278294 100644 --- a/packages/web/src/javascripts/Components/Preferences/Panes/General/SmartViews/EditSmartViewModal.tsx +++ b/packages/web/src/javascripts/Components/Preferences/Panes/General/SmartViews/EditSmartViewModal.tsx @@ -7,7 +7,7 @@ import ModalDialogButtons from '@/Components/Shared/ModalDialogButtons' import ModalDialogDescription from '@/Components/Shared/ModalDialogDescription' import ModalDialogLabel from '@/Components/Shared/ModalDialogLabel' import Spinner from '@/Components/Spinner/Spinner' -import { Platform, SmartViewDefaultIconName } from '@standardnotes/snjs' +import { Platform, SmartViewDefaultIconName, VectorIconNameOrEmoji } from '@standardnotes/snjs' import { observer } from 'mobx-react-lite' import { useCallback, useEffect, useRef, useState } from 'react' import { EditSmartViewModalController } from './EditSmartViewModalController' @@ -103,7 +103,7 @@ const EditSmartViewModal = ({ controller, platform }: Props) => {
{ + onIconChange={(value?: VectorIconNameOrEmoji) => { setIcon(value || SmartViewDefaultIconName) toggleIconPicker() }} diff --git a/packages/web/src/javascripts/Components/Preferences/Panes/General/SmartViews/EditSmartViewModalController.tsx b/packages/web/src/javascripts/Components/Preferences/Panes/General/SmartViews/EditSmartViewModalController.tsx index 1e428a366..a7d545b6e 100644 --- a/packages/web/src/javascripts/Components/Preferences/Panes/General/SmartViews/EditSmartViewModalController.tsx +++ b/packages/web/src/javascripts/Components/Preferences/Panes/General/SmartViews/EditSmartViewModalController.tsx @@ -6,13 +6,14 @@ import { SmartView, SmartViewDefaultIconName, SmartViewMutator, + VectorIconNameOrEmoji, } from '@standardnotes/snjs' import { confirmDialog } from '@standardnotes/ui-services' import { action, makeObservable, observable } from 'mobx' export class EditSmartViewModalController { title = '' - icon: string = SmartViewDefaultIconName + icon: VectorIconNameOrEmoji = SmartViewDefaultIconName predicateJson = '' isPredicateJsonValid = false isSaving = false @@ -40,7 +41,7 @@ export class EditSmartViewModalController { this.title = title } - setIcon = (icon: string) => { + setIcon = (icon: VectorIconNameOrEmoji) => { this.icon = icon } @@ -89,7 +90,7 @@ export class EditSmartViewModalController { await this.application.mutator.changeAndSaveItem(this.view, (mutator) => { mutator.title = this.title - mutator.iconString = this.icon || SmartViewDefaultIconName + mutator.iconString = (this.icon as string) || SmartViewDefaultIconName mutator.predicate = JSON.parse(this.predicateJson) as PredicateJsonForm }) diff --git a/packages/web/src/javascripts/Components/SmartViewBuilder/AddSmartViewModal.tsx b/packages/web/src/javascripts/Components/SmartViewBuilder/AddSmartViewModal.tsx index 4e50f9b17..d7e653c42 100644 --- a/packages/web/src/javascripts/Components/SmartViewBuilder/AddSmartViewModal.tsx +++ b/packages/web/src/javascripts/Components/SmartViewBuilder/AddSmartViewModal.tsx @@ -8,7 +8,7 @@ import ModalDialogButtons from '@/Components/Shared/ModalDialogButtons' import ModalDialogDescription from '@/Components/Shared/ModalDialogDescription' import ModalDialogLabel from '@/Components/Shared/ModalDialogLabel' import Spinner from '@/Components/Spinner/Spinner' -import { Platform, SmartViewDefaultIconName } from '@standardnotes/snjs' +import { Platform, SmartViewDefaultIconName, VectorIconNameOrEmoji } from '@standardnotes/snjs' import { observer } from 'mobx-react-lite' import { useEffect, useRef, useState } from 'react' import { AddSmartViewModalController } from './AddSmartViewModalController' @@ -153,7 +153,7 @@ const AddSmartViewModal = ({ controller, platform }: Props) => {
{ + onIconChange={(value?: VectorIconNameOrEmoji) => { setIcon(value ?? SmartViewDefaultIconName) toggleIconPicker() }} diff --git a/packages/web/src/javascripts/Components/SmartViewBuilder/AddSmartViewModalController.ts b/packages/web/src/javascripts/Components/SmartViewBuilder/AddSmartViewModalController.ts index 28d7195ba..d6f53c650 100644 --- a/packages/web/src/javascripts/Components/SmartViewBuilder/AddSmartViewModalController.ts +++ b/packages/web/src/javascripts/Components/SmartViewBuilder/AddSmartViewModalController.ts @@ -1,6 +1,11 @@ import { WebApplication } from '@/Application/Application' import { CompoundPredicateBuilderController } from '@/Components/SmartViewBuilder/CompoundPredicateBuilderController' -import { predicateFromJson, PredicateJsonForm, SmartViewDefaultIconName } from '@standardnotes/snjs' +import { + predicateFromJson, + PredicateJsonForm, + SmartViewDefaultIconName, + VectorIconNameOrEmoji, +} from '@standardnotes/snjs' import { action, makeObservable, observable } from 'mobx' export class AddSmartViewModalController { @@ -9,7 +14,7 @@ export class AddSmartViewModalController { title = '' - icon: string = SmartViewDefaultIconName + icon: VectorIconNameOrEmoji = SmartViewDefaultIconName predicateController = new CompoundPredicateBuilderController() @@ -49,7 +54,7 @@ export class AddSmartViewModalController { this.title = title } - setIcon = (icon: string) => { + setIcon = (icon: VectorIconNameOrEmoji) => { this.icon = icon } @@ -84,7 +89,7 @@ export class AddSmartViewModalController { ? JSON.parse(this.customPredicateJson) : this.predicateController.toJson() const predicate = predicateFromJson(predicateJson as PredicateJsonForm) - await this.application.items.createSmartView(this.title, predicate, this.icon) + await this.application.items.createSmartView(this.title, predicate, this.icon as string) this.setIsSaving(false) this.closeModal()