fix: theme sorting in quick settings menu (#882)

This commit is contained in:
Aman Harwara
2022-02-18 19:12:11 +05:30
committed by GitHub
parent d27916fc28
commit a47556b840

View File

@@ -58,9 +58,9 @@ const toggleFocusMode = (enabled: boolean) => {
} }
}; };
export const sortThemes = (a: SNTheme, b: SNTheme) => { export const sortThemes = (a: ThemeItem, b: ThemeItem) => {
const aIsLayerable = a.isLayerable(); const aIsLayerable = a.component?.isLayerable();
const bIsLayerable = b.isLayerable(); const bIsLayerable = b.component?.isLayerable();
if (aIsLayerable && !bIsLayerable) { if (aIsLayerable && !bIsLayerable) {
return 1; return 1;
@@ -105,15 +105,13 @@ export const QuickSettingsMenu: FunctionComponent<MenuProps> = observer(
const reloadThemes = useCallback(() => { const reloadThemes = useCallback(() => {
const themes = ( const themes = (
application.getDisplayableItems(ContentType.Theme) as SNTheme[] application.getDisplayableItems(ContentType.Theme) as SNTheme[]
) ).map((item) => {
.sort(sortThemes) return {
.map((item) => { name: item.name,
return { identifier: item.identifier,
name: item.name, component: item,
identifier: item.identifier, };
component: item, }) as ThemeItem[];
};
}) as ThemeItem[];
GetFeatures() GetFeatures()
.filter( .filter(
@@ -132,7 +130,7 @@ export const QuickSettingsMenu: FunctionComponent<MenuProps> = observer(
} }
}); });
setThemes(themes); setThemes(themes.sort(sortThemes));
setDefaultThemeOn( setDefaultThemeOn(
!themes !themes