refactor: remove unused dark mode code (#2332)
This commit is contained in:
@@ -40,7 +40,6 @@ export enum PrefKey {
|
|||||||
NewNoteTitleFormat = 'newNoteTitleFormat',
|
NewNoteTitleFormat = 'newNoteTitleFormat',
|
||||||
CustomNoteTitleFormat = 'customNoteTitleFormat',
|
CustomNoteTitleFormat = 'customNoteTitleFormat',
|
||||||
UpdateSavingStatusIndicator = 'updateSavingStatusIndicator',
|
UpdateSavingStatusIndicator = 'updateSavingStatusIndicator',
|
||||||
DarkMode = 'darkMode',
|
|
||||||
DefaultEditorIdentifier = 'defaultEditorIdentifier',
|
DefaultEditorIdentifier = 'defaultEditorIdentifier',
|
||||||
MomentsDefaultTagUuid = 'momentsDefaultTagUuid',
|
MomentsDefaultTagUuid = 'momentsDefaultTagUuid',
|
||||||
ClipperDefaultTagUuid = 'clipperDefaultTagUuid',
|
ClipperDefaultTagUuid = 'clipperDefaultTagUuid',
|
||||||
@@ -118,7 +117,6 @@ export type PrefValue = {
|
|||||||
[PrefKey.EditorLineWidth]: EditorLineWidth
|
[PrefKey.EditorLineWidth]: EditorLineWidth
|
||||||
[PrefKey.EditorFontSize]: EditorFontSize
|
[PrefKey.EditorFontSize]: EditorFontSize
|
||||||
[PrefKey.UpdateSavingStatusIndicator]: boolean
|
[PrefKey.UpdateSavingStatusIndicator]: boolean
|
||||||
[PrefKey.DarkMode]: boolean
|
|
||||||
[PrefKey.DefaultEditorIdentifier]: EditorIdentifier
|
[PrefKey.DefaultEditorIdentifier]: EditorIdentifier
|
||||||
[PrefKey.MomentsDefaultTagUuid]: string | undefined
|
[PrefKey.MomentsDefaultTagUuid]: string | undefined
|
||||||
[PrefKey.ClipperDefaultTagUuid]: string | undefined
|
[PrefKey.ClipperDefaultTagUuid]: string | undefined
|
||||||
|
|||||||
@@ -249,7 +249,6 @@ export class ThemeManager extends AbstractService {
|
|||||||
const setTheme = () => {
|
const setTheme = () => {
|
||||||
if (themeIdentifier === DefaultThemeIdentifier) {
|
if (themeIdentifier === DefaultThemeIdentifier) {
|
||||||
toggleActiveTheme()
|
toggleActiveTheme()
|
||||||
void this.application.setPreference(PrefKey.DarkMode, false)
|
|
||||||
} else {
|
} else {
|
||||||
const theme = themes.find((theme) => theme.package_info.identifier === themeIdentifier)
|
const theme = themes.find((theme) => theme.package_info.identifier === themeIdentifier)
|
||||||
if (theme && !theme.active) {
|
if (theme && !theme.active) {
|
||||||
@@ -345,8 +344,6 @@ export class ThemeManager extends AbstractService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
document.getElementsByTagName('head')[0].appendChild(link)
|
document.getElementsByTagName('head')[0].appendChild(link)
|
||||||
|
|
||||||
void this.application.setPreference(PrefKey.DarkMode, false)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private getBackgroundColor() {
|
private getBackgroundColor() {
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ import FileDragNDropProvider from '../FileDragNDropProvider'
|
|||||||
import ResponsivePaneProvider from '../Panes/ResponsivePaneProvider'
|
import ResponsivePaneProvider from '../Panes/ResponsivePaneProvider'
|
||||||
import AndroidBackHandlerProvider from '@/NativeMobileWeb/useAndroidBackHandler'
|
import AndroidBackHandlerProvider from '@/NativeMobileWeb/useAndroidBackHandler'
|
||||||
import ConfirmDeleteAccountContainer from '@/Components/ConfirmDeleteAccountModal/ConfirmDeleteAccountModal'
|
import ConfirmDeleteAccountContainer from '@/Components/ConfirmDeleteAccountModal/ConfirmDeleteAccountModal'
|
||||||
import DarkModeHandler from '../DarkModeHandler/DarkModeHandler'
|
|
||||||
import ApplicationProvider from '../ApplicationProvider'
|
import ApplicationProvider from '../ApplicationProvider'
|
||||||
import CommandProvider from '../CommandProvider'
|
import CommandProvider from '../CommandProvider'
|
||||||
import PanesSystemComponent from '../Panes/PanesSystemComponent'
|
import PanesSystemComponent from '../Panes/PanesSystemComponent'
|
||||||
@@ -216,7 +215,6 @@ const ApplicationView: FunctionComponent<Props> = ({ application, mainApplicatio
|
|||||||
<ApplicationProvider application={application}>
|
<ApplicationProvider application={application}>
|
||||||
<CommandProvider service={application.keyboardService}>
|
<CommandProvider service={application.keyboardService}>
|
||||||
<AndroidBackHandlerProvider application={application}>
|
<AndroidBackHandlerProvider application={application}>
|
||||||
<DarkModeHandler application={application} />
|
|
||||||
<ResponsivePaneProvider paneController={application.getViewControllerManager().paneController}>
|
<ResponsivePaneProvider paneController={application.getViewControllerManager().paneController}>
|
||||||
<PremiumModalProvider
|
<PremiumModalProvider
|
||||||
application={application}
|
application={application}
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
import { WebApplication } from '@/Application/WebApplication'
|
|
||||||
import { PrefDefaults } from '@/Constants/PrefDefaults'
|
|
||||||
import { ApplicationEvent, PrefKey } from '@standardnotes/snjs'
|
|
||||||
import { useEffect } from 'react'
|
|
||||||
|
|
||||||
type Props = {
|
|
||||||
application: WebApplication
|
|
||||||
}
|
|
||||||
|
|
||||||
const DarkModeHandler = ({ application }: Props) => {
|
|
||||||
useEffect(() => {
|
|
||||||
application.addSingleEventObserver(ApplicationEvent.PreferencesChanged, async () => {
|
|
||||||
const isDarkModeOn = application.getPreference(PrefKey.DarkMode, PrefDefaults[PrefKey.DarkMode])
|
|
||||||
|
|
||||||
if (isDarkModeOn) {
|
|
||||||
document.documentElement.classList.add('dark-mode')
|
|
||||||
} else {
|
|
||||||
document.documentElement.classList.remove('dark-mode')
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}, [application])
|
|
||||||
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
|
|
||||||
export default DarkModeHandler
|
|
||||||
@@ -1,13 +1,5 @@
|
|||||||
import { WebApplication } from '@/Application/WebApplication'
|
import { WebApplication } from '@/Application/WebApplication'
|
||||||
import {
|
import { ComponentArea, ContentType, FeatureIdentifier, GetFeatures, SNComponent } from '@standardnotes/snjs'
|
||||||
ApplicationEvent,
|
|
||||||
ComponentArea,
|
|
||||||
ContentType,
|
|
||||||
FeatureIdentifier,
|
|
||||||
GetFeatures,
|
|
||||||
PrefKey,
|
|
||||||
SNComponent,
|
|
||||||
} from '@standardnotes/snjs'
|
|
||||||
import { observer } from 'mobx-react-lite'
|
import { observer } from 'mobx-react-lite'
|
||||||
import { FunctionComponent, useCallback, useEffect, useRef, useState } from 'react'
|
import { FunctionComponent, useCallback, useEffect, useRef, useState } from 'react'
|
||||||
import Icon from '@/Components/Icon/Icon'
|
import Icon from '@/Components/Icon/Icon'
|
||||||
@@ -18,7 +10,6 @@ import { sortThemes } from '@/Utils/SortThemes'
|
|||||||
import HorizontalSeparator from '../Shared/HorizontalSeparator'
|
import HorizontalSeparator from '../Shared/HorizontalSeparator'
|
||||||
import { QuickSettingsController } from '@/Controllers/QuickSettingsController'
|
import { QuickSettingsController } from '@/Controllers/QuickSettingsController'
|
||||||
import PanelSettingsSection from './PanelSettingsSection'
|
import PanelSettingsSection from './PanelSettingsSection'
|
||||||
import { PrefDefaults } from '@/Constants/PrefDefaults'
|
|
||||||
import Menu from '../Menu/Menu'
|
import Menu from '../Menu/Menu'
|
||||||
import MenuSwitchButtonItem from '../Menu/MenuSwitchButtonItem'
|
import MenuSwitchButtonItem from '../Menu/MenuSwitchButtonItem'
|
||||||
import MenuRadioButtonItem from '../Menu/MenuRadioButtonItem'
|
import MenuRadioButtonItem from '../Menu/MenuRadioButtonItem'
|
||||||
@@ -34,24 +25,7 @@ const QuickSettingsMenu: FunctionComponent<MenuProps> = ({ application, quickSet
|
|||||||
const [themes, setThemes] = useState<ThemeItem[]>([])
|
const [themes, setThemes] = useState<ThemeItem[]>([])
|
||||||
const [toggleableComponents, setToggleableComponents] = useState<SNComponent[]>([])
|
const [toggleableComponents, setToggleableComponents] = useState<SNComponent[]>([])
|
||||||
|
|
||||||
const [isDarkModeOn, setDarkModeOn] = useState(() =>
|
const defaultThemeOn = !themes.map((item) => item?.component).find((theme) => theme?.active && !theme.isLayerable())
|
||||||
application.getPreference(PrefKey.DarkMode, PrefDefaults[PrefKey.DarkMode]),
|
|
||||||
)
|
|
||||||
const defaultThemeOn =
|
|
||||||
!themes.map((item) => item?.component).find((theme) => theme?.active && !theme.isLayerable()) && !isDarkModeOn
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
const removeObserver = application.addEventObserver(async (event) => {
|
|
||||||
if (event !== ApplicationEvent.PreferencesChanged) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
const isDarkModeOn = application.getPreference(PrefKey.DarkMode, PrefDefaults[PrefKey.DarkMode])
|
|
||||||
setDarkModeOn(isDarkModeOn)
|
|
||||||
})
|
|
||||||
|
|
||||||
return removeObserver
|
|
||||||
}, [application])
|
|
||||||
|
|
||||||
const prefsButtonRef = useRef<HTMLButtonElement>(null)
|
const prefsButtonRef = useRef<HTMLButtonElement>(null)
|
||||||
const defaultThemeButtonRef = useRef<HTMLButtonElement>(null)
|
const defaultThemeButtonRef = useRef<HTMLButtonElement>(null)
|
||||||
@@ -145,8 +119,7 @@ const QuickSettingsMenu: FunctionComponent<MenuProps> = ({ application, quickSet
|
|||||||
|
|
||||||
const toggleDefaultTheme = useCallback(() => {
|
const toggleDefaultTheme = useCallback(() => {
|
||||||
deactivateAnyNonLayerableTheme()
|
deactivateAnyNonLayerableTheme()
|
||||||
void application.setPreference(PrefKey.DarkMode, false)
|
}, [deactivateAnyNonLayerableTheme])
|
||||||
}, [application, deactivateAnyNonLayerableTheme])
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Menu a11yLabel="Quick settings menu" isOpen>
|
<Menu a11yLabel="Quick settings menu" isOpen>
|
||||||
|
|||||||
@@ -36,6 +36,5 @@ export const PrefDefaults = {
|
|||||||
[PrefKey.NewNoteTitleFormat]: NewNoteTitleFormat.CurrentDateAndTime,
|
[PrefKey.NewNoteTitleFormat]: NewNoteTitleFormat.CurrentDateAndTime,
|
||||||
[PrefKey.CustomNoteTitleFormat]: 'YYYY-MM-DD [at] hh:mm A',
|
[PrefKey.CustomNoteTitleFormat]: 'YYYY-MM-DD [at] hh:mm A',
|
||||||
[PrefKey.UpdateSavingStatusIndicator]: true,
|
[PrefKey.UpdateSavingStatusIndicator]: true,
|
||||||
[PrefKey.DarkMode]: false,
|
|
||||||
[PrefKey.PaneGesturesEnabled]: true,
|
[PrefKey.PaneGesturesEnabled]: true,
|
||||||
} as const
|
} as const
|
||||||
|
|||||||
Reference in New Issue
Block a user