feishin/src/renderer/hooks/use-should-pad-titlebar.tsx

24 lines
876 B
TypeScript
Raw Normal View History

2023-03-31 06:22:04 -07:00
import isElectron from 'is-electron';
import { useLocation } from 'react-router';
import { AppRoute } from '/@/renderer/router/routes';
2023-03-31 05:06:54 -07:00
import { useSidebarRightExpanded, useGeneralSettings, useWindowSettings } from '/@/renderer/store';
2023-03-28 23:59:51 -07:00
import { Platform } from '/@/renderer/types';
2022-12-19 15:59:14 -08:00
export const useShouldPadTitlebar = () => {
2023-07-01 19:10:05 -07:00
const location = useLocation();
const isSidebarExpanded = useSidebarRightExpanded();
const isQueuePage = location.pathname === AppRoute.NOW_PLAYING;
const { sideQueueType } = useGeneralSettings();
const { windowBarStyle } = useWindowSettings();
2022-12-19 15:59:14 -08:00
2023-07-01 19:10:05 -07:00
const conditions = [
isElectron(),
windowBarStyle === Platform.WEB,
!(isSidebarExpanded && sideQueueType === 'sideQueue' && !isQueuePage),
];
2023-07-01 19:10:05 -07:00
const shouldPadTitlebar = conditions.every((condition) => condition);
2023-03-28 23:59:51 -07:00
2023-07-01 19:10:05 -07:00
return shouldPadTitlebar;
2022-12-19 15:59:14 -08:00
};