feishin/src/renderer/hooks/use-should-pad-titlebar.tsx
2025-05-26 17:20:02 -07:00

24 lines
881 B
TypeScript

import isElectron from 'is-electron';
import { useLocation } from 'react-router';
import { AppRoute } from '/@/renderer/router/routes';
import { useGeneralSettings, useSidebarRightExpanded, useWindowSettings } from '/@/renderer/store';
import { Platform } from '/@/shared/types/types';
export const useShouldPadTitlebar = () => {
const location = useLocation();
const isSidebarExpanded = useSidebarRightExpanded();
const isQueuePage = location.pathname === AppRoute.NOW_PLAYING;
const { sideQueueType } = useGeneralSettings();
const { windowBarStyle } = useWindowSettings();
const conditions = [
isElectron(),
windowBarStyle === Platform.WEB,
!(isSidebarExpanded && sideQueueType === 'sideQueue' && !isQueuePage),
];
const shouldPadTitlebar = conditions.every((condition) => condition);
return shouldPadTitlebar;
};