chore: fix types
This commit is contained in:
@@ -5,7 +5,7 @@ import { classNames } from '@standardnotes/utils'
|
|||||||
import Popover from '@/Components/Popover/Popover'
|
import Popover from '@/Components/Popover/Popover'
|
||||||
import DisplayOptionsMenu from './DisplayOptionsMenu'
|
import DisplayOptionsMenu from './DisplayOptionsMenu'
|
||||||
import { NavigationMenuButton } from '@/Components/NavigationMenu/NavigationMenu'
|
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 RoundIconButton from '@/Components/Button/RoundIconButton'
|
||||||
import { AnyTag } from '@/Controllers/Navigation/AnyTagType'
|
import { AnyTag } from '@/Controllers/Navigation/AnyTagType'
|
||||||
import { MediaQueryBreakpoints, useMediaQuery } from '@/Hooks/useMediaQuery'
|
import { MediaQueryBreakpoints, useMediaQuery } from '@/Hooks/useMediaQuery'
|
||||||
@@ -13,7 +13,7 @@ import { MediaQueryBreakpoints, useMediaQuery } from '@/Hooks/useMediaQuery'
|
|||||||
type Props = {
|
type Props = {
|
||||||
application: WebApplication
|
application: WebApplication
|
||||||
panelTitle: string
|
panelTitle: string
|
||||||
icon?: IconType | string
|
icon?: VectorIconNameOrEmoji
|
||||||
addButtonLabel: string
|
addButtonLabel: string
|
||||||
addNewItem: () => void
|
addNewItem: () => void
|
||||||
isFilesSmartView: boolean
|
isFilesSmartView: boolean
|
||||||
@@ -108,7 +108,7 @@ const ContentListHeader = ({
|
|||||||
<div className={`flex min-w-0 flex-grow flex-row ${!optionsSubtitle ? 'items-center' : ''}`}>
|
<div className={`flex min-w-0 flex-grow flex-row ${!optionsSubtitle ? 'items-center' : ''}`}>
|
||||||
{icon && (
|
{icon && (
|
||||||
<Icon
|
<Icon
|
||||||
type={icon as IconType}
|
type={icon}
|
||||||
size={'custom'}
|
size={'custom'}
|
||||||
className={` ml-0.5 mr-1.5 h-7 w-7 text-2xl text-neutral lg:h-6 lg:w-6 lg:text-lg ${
|
className={` ml-0.5 mr-1.5 h-7 w-7 text-2xl text-neutral lg:h-6 lg:w-6 lg:text-lg ${
|
||||||
optionsSubtitle ? 'mt-1' : ''
|
optionsSubtitle ? 'mt-1' : ''
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import { IconPickerType } from './IconPickerType'
|
|||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
selectedValue: VectorIconNameOrEmoji
|
selectedValue: VectorIconNameOrEmoji
|
||||||
onIconChange: (value?: string) => void
|
onIconChange: (value?: VectorIconNameOrEmoji) => void
|
||||||
platform: Platform
|
platform: Platform
|
||||||
useIconGrid?: boolean
|
useIconGrid?: boolean
|
||||||
iconGridClassName?: string
|
iconGridClassName?: string
|
||||||
@@ -87,7 +87,7 @@ const IconPicker = ({
|
|||||||
const handleEmojiChange = (value: EmojiString) => {
|
const handleEmojiChange = (value: EmojiString) => {
|
||||||
setEmojiInputValue(value)
|
setEmojiInputValue(value)
|
||||||
|
|
||||||
const emojiLength = getEmojiLength(value)
|
const emojiLength = getEmojiLength(value as string)
|
||||||
if (emojiLength === 1) {
|
if (emojiLength === 1) {
|
||||||
onIconChange(value)
|
onIconChange(value)
|
||||||
emojiInputRef.current?.blur()
|
emojiInputRef.current?.blur()
|
||||||
@@ -130,7 +130,7 @@ const IconPicker = ({
|
|||||||
id="change-tag-icon-dropdown"
|
id="change-tag-icon-dropdown"
|
||||||
label="Change the icon for a tag"
|
label="Change the icon for a tag"
|
||||||
items={iconOptions}
|
items={iconOptions}
|
||||||
value={selectedValue}
|
value={selectedValue as string}
|
||||||
onChange={handleIconChange}
|
onChange={handleIconChange}
|
||||||
portal={portalDropdown}
|
portal={portalDropdown}
|
||||||
/>
|
/>
|
||||||
@@ -144,7 +144,7 @@ const IconPicker = ({
|
|||||||
autoFocus={emojiInputFocused}
|
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"
|
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"
|
type="text"
|
||||||
value={emojiInputValue}
|
value={emojiInputValue as string}
|
||||||
onChange={({ target: input }) => handleEmojiChange((input as HTMLInputElement)?.value)}
|
onChange={({ target: input }) => handleEmojiChange((input as HTMLInputElement)?.value)}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import ModalDialogButtons from '@/Components/Shared/ModalDialogButtons'
|
|||||||
import ModalDialogDescription from '@/Components/Shared/ModalDialogDescription'
|
import ModalDialogDescription from '@/Components/Shared/ModalDialogDescription'
|
||||||
import ModalDialogLabel from '@/Components/Shared/ModalDialogLabel'
|
import ModalDialogLabel from '@/Components/Shared/ModalDialogLabel'
|
||||||
import Spinner from '@/Components/Spinner/Spinner'
|
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 { observer } from 'mobx-react-lite'
|
||||||
import { useCallback, useEffect, useRef, useState } from 'react'
|
import { useCallback, useEffect, useRef, useState } from 'react'
|
||||||
import { EditSmartViewModalController } from './EditSmartViewModalController'
|
import { EditSmartViewModalController } from './EditSmartViewModalController'
|
||||||
@@ -103,7 +103,7 @@ const EditSmartViewModal = ({ controller, platform }: Props) => {
|
|||||||
<div className="p-2">
|
<div className="p-2">
|
||||||
<IconPicker
|
<IconPicker
|
||||||
selectedValue={icon || SmartViewDefaultIconName}
|
selectedValue={icon || SmartViewDefaultIconName}
|
||||||
onIconChange={(value?: string | undefined) => {
|
onIconChange={(value?: VectorIconNameOrEmoji) => {
|
||||||
setIcon(value || SmartViewDefaultIconName)
|
setIcon(value || SmartViewDefaultIconName)
|
||||||
toggleIconPicker()
|
toggleIconPicker()
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -6,13 +6,14 @@ import {
|
|||||||
SmartView,
|
SmartView,
|
||||||
SmartViewDefaultIconName,
|
SmartViewDefaultIconName,
|
||||||
SmartViewMutator,
|
SmartViewMutator,
|
||||||
|
VectorIconNameOrEmoji,
|
||||||
} from '@standardnotes/snjs'
|
} from '@standardnotes/snjs'
|
||||||
import { confirmDialog } from '@standardnotes/ui-services'
|
import { confirmDialog } from '@standardnotes/ui-services'
|
||||||
import { action, makeObservable, observable } from 'mobx'
|
import { action, makeObservable, observable } from 'mobx'
|
||||||
|
|
||||||
export class EditSmartViewModalController {
|
export class EditSmartViewModalController {
|
||||||
title = ''
|
title = ''
|
||||||
icon: string = SmartViewDefaultIconName
|
icon: VectorIconNameOrEmoji = SmartViewDefaultIconName
|
||||||
predicateJson = ''
|
predicateJson = ''
|
||||||
isPredicateJsonValid = false
|
isPredicateJsonValid = false
|
||||||
isSaving = false
|
isSaving = false
|
||||||
@@ -40,7 +41,7 @@ export class EditSmartViewModalController {
|
|||||||
this.title = title
|
this.title = title
|
||||||
}
|
}
|
||||||
|
|
||||||
setIcon = (icon: string) => {
|
setIcon = (icon: VectorIconNameOrEmoji) => {
|
||||||
this.icon = icon
|
this.icon = icon
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,7 +90,7 @@ export class EditSmartViewModalController {
|
|||||||
|
|
||||||
await this.application.mutator.changeAndSaveItem<SmartViewMutator>(this.view, (mutator) => {
|
await this.application.mutator.changeAndSaveItem<SmartViewMutator>(this.view, (mutator) => {
|
||||||
mutator.title = this.title
|
mutator.title = this.title
|
||||||
mutator.iconString = this.icon || SmartViewDefaultIconName
|
mutator.iconString = (this.icon as string) || SmartViewDefaultIconName
|
||||||
mutator.predicate = JSON.parse(this.predicateJson) as PredicateJsonForm
|
mutator.predicate = JSON.parse(this.predicateJson) as PredicateJsonForm
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import ModalDialogButtons from '@/Components/Shared/ModalDialogButtons'
|
|||||||
import ModalDialogDescription from '@/Components/Shared/ModalDialogDescription'
|
import ModalDialogDescription from '@/Components/Shared/ModalDialogDescription'
|
||||||
import ModalDialogLabel from '@/Components/Shared/ModalDialogLabel'
|
import ModalDialogLabel from '@/Components/Shared/ModalDialogLabel'
|
||||||
import Spinner from '@/Components/Spinner/Spinner'
|
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 { observer } from 'mobx-react-lite'
|
||||||
import { useEffect, useRef, useState } from 'react'
|
import { useEffect, useRef, useState } from 'react'
|
||||||
import { AddSmartViewModalController } from './AddSmartViewModalController'
|
import { AddSmartViewModalController } from './AddSmartViewModalController'
|
||||||
@@ -153,7 +153,7 @@ const AddSmartViewModal = ({ controller, platform }: Props) => {
|
|||||||
<div className="p-2">
|
<div className="p-2">
|
||||||
<IconPicker
|
<IconPicker
|
||||||
selectedValue={icon || SmartViewDefaultIconName}
|
selectedValue={icon || SmartViewDefaultIconName}
|
||||||
onIconChange={(value?: string | undefined) => {
|
onIconChange={(value?: VectorIconNameOrEmoji) => {
|
||||||
setIcon(value ?? SmartViewDefaultIconName)
|
setIcon(value ?? SmartViewDefaultIconName)
|
||||||
toggleIconPicker()
|
toggleIconPicker()
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
import { WebApplication } from '@/Application/Application'
|
import { WebApplication } from '@/Application/Application'
|
||||||
import { CompoundPredicateBuilderController } from '@/Components/SmartViewBuilder/CompoundPredicateBuilderController'
|
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'
|
import { action, makeObservable, observable } from 'mobx'
|
||||||
|
|
||||||
export class AddSmartViewModalController {
|
export class AddSmartViewModalController {
|
||||||
@@ -9,7 +14,7 @@ export class AddSmartViewModalController {
|
|||||||
|
|
||||||
title = ''
|
title = ''
|
||||||
|
|
||||||
icon: string = SmartViewDefaultIconName
|
icon: VectorIconNameOrEmoji = SmartViewDefaultIconName
|
||||||
|
|
||||||
predicateController = new CompoundPredicateBuilderController()
|
predicateController = new CompoundPredicateBuilderController()
|
||||||
|
|
||||||
@@ -49,7 +54,7 @@ export class AddSmartViewModalController {
|
|||||||
this.title = title
|
this.title = title
|
||||||
}
|
}
|
||||||
|
|
||||||
setIcon = (icon: string) => {
|
setIcon = (icon: VectorIconNameOrEmoji) => {
|
||||||
this.icon = icon
|
this.icon = icon
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,7 +89,7 @@ export class AddSmartViewModalController {
|
|||||||
? JSON.parse(this.customPredicateJson)
|
? JSON.parse(this.customPredicateJson)
|
||||||
: this.predicateController.toJson()
|
: this.predicateController.toJson()
|
||||||
const predicate = predicateFromJson(predicateJson as PredicateJsonForm)
|
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.setIsSaving(false)
|
||||||
this.closeModal()
|
this.closeModal()
|
||||||
|
|||||||
Reference in New Issue
Block a user