chore: fix types

This commit is contained in:
Aman Harwara
2022-11-27 16:48:30 +05:30
parent cadf03f0ef
commit 745e850a5c
6 changed files with 24 additions and 18 deletions

View File

@@ -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' : ''

View File

@@ -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>

View File

@@ -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()
}} }}

View File

@@ -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
}) })

View File

@@ -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()
}} }}

View File

@@ -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()