mirror of
https://github.com/kilyabin/psysonic.git
synced 2026-07-22 14:35:41 +00:00
feat(titlebar): hide custom title bar in native fullscreen (F11)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+7
-3
@@ -75,6 +75,7 @@ function RequireAuth({ children }: { children: React.ReactNode }) {
|
|||||||
function AppShell() {
|
function AppShell() {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const isMobile = useIsMobile();
|
const isMobile = useIsMobile();
|
||||||
|
const [isWindowFullscreen, setIsWindowFullscreen] = useState(false);
|
||||||
const isFullscreenOpen = usePlayerStore(s => s.isFullscreenOpen);
|
const isFullscreenOpen = usePlayerStore(s => s.isFullscreenOpen);
|
||||||
const toggleFullscreen = usePlayerStore(s => s.toggleFullscreen);
|
const toggleFullscreen = usePlayerStore(s => s.toggleFullscreen);
|
||||||
const isQueueVisible = usePlayerStore(s => s.isQueueVisible);
|
const isQueueVisible = usePlayerStore(s => s.isQueueVisible);
|
||||||
@@ -261,14 +262,14 @@ function AppShell() {
|
|||||||
className="app-shell"
|
className="app-shell"
|
||||||
data-mobile={isMobile || undefined}
|
data-mobile={isMobile || undefined}
|
||||||
data-mobile-player={isMobilePlayer || undefined}
|
data-mobile-player={isMobilePlayer || undefined}
|
||||||
data-titlebar={(IS_LINUX && useCustomTitlebar) || undefined}
|
data-titlebar={(IS_LINUX && useCustomTitlebar && !isWindowFullscreen) || undefined}
|
||||||
style={{
|
style={{
|
||||||
'--sidebar-width': isMobile ? '0px' : (isSidebarCollapsed ? '72px' : 'clamp(200px, 15vw, 220px)'),
|
'--sidebar-width': isMobile ? '0px' : (isSidebarCollapsed ? '72px' : 'clamp(200px, 15vw, 220px)'),
|
||||||
'--queue-width': isMobile ? '0px' : (isQueueVisible ? `${queueWidth}px` : '0px')
|
'--queue-width': isMobile ? '0px' : (isQueueVisible ? `${queueWidth}px` : '0px')
|
||||||
} as React.CSSProperties}
|
} as React.CSSProperties}
|
||||||
onContextMenu={e => e.preventDefault()}
|
onContextMenu={e => e.preventDefault()}
|
||||||
>
|
>
|
||||||
{IS_LINUX && useCustomTitlebar && <TitleBar />}
|
{IS_LINUX && useCustomTitlebar && !isWindowFullscreen && <TitleBar />}
|
||||||
{!isMobile && (
|
{!isMobile && (
|
||||||
<Sidebar
|
<Sidebar
|
||||||
isCollapsed={isSidebarCollapsed}
|
isCollapsed={isSidebarCollapsed}
|
||||||
@@ -406,7 +407,10 @@ function TauriEventBridge() {
|
|||||||
case 'fullscreen-player': toggleFullscreen(); break;
|
case 'fullscreen-player': toggleFullscreen(); break;
|
||||||
case 'native-fullscreen': {
|
case 'native-fullscreen': {
|
||||||
const win = getCurrentWindow();
|
const win = getCurrentWindow();
|
||||||
win.isFullscreen().then(fs => win.setFullscreen(!fs));
|
win.isFullscreen().then(fs => {
|
||||||
|
win.setFullscreen(!fs);
|
||||||
|
setIsWindowFullscreen(!fs);
|
||||||
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user