refactor: 进一步封装useColorScheme

将解析函数内聚到hooks里面
release/desktop
moonrailgun 3 years ago
parent 71ff176a66
commit 6558f612c3

@ -1,5 +1,6 @@
import React, { useContext } from 'react'; import React, { useContext } from 'react';
import { useStorage } from 'tailchat-shared'; import { useStorage } from 'tailchat-shared';
import { parseColorScheme } from '../../web/src/utils/color-scheme-helper';
const ColorSchemeContext = React.createContext<{ const ColorSchemeContext = React.createContext<{
/** /**
@ -28,5 +29,8 @@ export const ColorSchemeContextProvider: React.FC = React.memo((props) => {
ColorSchemeContextProvider.displayName = 'ColorSchemeContextProvider'; ColorSchemeContextProvider.displayName = 'ColorSchemeContextProvider';
export function useColorScheme() { export function useColorScheme() {
return useContext(ColorSchemeContext); const { colorScheme, setColorScheme } = useContext(ColorSchemeContext);
const { isDarkMode, extraSchemeName } = parseColorScheme(colorScheme);
return { colorScheme, setColorScheme, isDarkMode, extraSchemeName };
} }

@ -34,8 +34,7 @@ const AppProvider: React.FC = React.memo((props) => {
AppProvider.displayName = 'AppProvider'; AppProvider.displayName = 'AppProvider';
const AppContainer: React.FC = React.memo((props) => { const AppContainer: React.FC = React.memo((props) => {
const { colorScheme } = useColorScheme(); const { isDarkMode, extraSchemeName } = useColorScheme();
const { isDarkMode, extraSchemeName } = parseColorScheme(colorScheme);
return ( return (
<div <div

Loading…
Cancel
Save