fix: Titlebar overlay fullScreenRoutes

This commit is contained in:
PartyDonut 2025-09-01 20:51:26 +02:00
parent 92d5391b93
commit fbd1d762d3
5 changed files with 12 additions and 6 deletions

View file

@ -335,6 +335,7 @@ enum FladderItemType {
FladderItemType.video => 0.8,
FladderItemType.photo => 0.8,
FladderItemType.photoAlbum => 0.8,
FladderItemType.folder => 0.8,
FladderItemType.musicAlbum => 0.8,
FladderItemType.baseType => 0.8,
_ => 0.55,

View file

@ -7,6 +7,10 @@ import 'package:fladder/screens/login/lock_screen.dart';
const settingsPageRoute = "settings";
const fullScreenRoutes = {
PhotoViewerRoute.name,
};
@AutoRouterConfig(replaceInRouteName: 'Screen|Page,Route')
class AutoRouter extends RootStackRouter {
AutoRouter({

View file

@ -43,6 +43,7 @@ class _DefaultTitleBarState extends ConsumerState<DefaultTitleBar> with WindowLi
final iconColor = theme.colorScheme.onSurface.withValues(alpha: 0.65);
final isOffline = ref.watch(connectivityStatusProvider.select((value) => value == ConnectionState.offline));
final surfaceColor = theme.colorScheme.surface;
return MouseRegion(
onEnter: (event) => setState(() => hovering = true),
onExit: (event) => setState(() => hovering = false),

View file

@ -10,6 +10,7 @@ import 'package:fladder/models/collection_types.dart';
import 'package:fladder/models/library_filter_model.dart';
import 'package:fladder/providers/settings/client_settings_provider.dart';
import 'package:fladder/providers/views_provider.dart';
import 'package:fladder/routes/auto_router.dart';
import 'package:fladder/routes/auto_router.gr.dart';
import 'package:fladder/screens/metadata/refresh_metadata.dart';
import 'package:fladder/screens/shared/animated_fade_size.dart';
@ -25,10 +26,6 @@ import 'package:fladder/widgets/shared/custom_tooltip.dart';
import 'package:fladder/widgets/shared/item_actions.dart';
import 'package:fladder/widgets/shared/modal_bottom_sheet.dart';
const _fullScreenRoutes = {
PhotoViewerRoute.name,
};
class SideNavigationBar extends ConsumerStatefulWidget {
final int currentIndex;
final List<DestinationModel> destinations;
@ -65,7 +62,7 @@ class _SideNavigationBarState extends ConsumerState<SideNavigationBar> {
final shouldExpand = fullyExpanded;
final isDesktop = AdaptiveLayout.of(context).isDesktop;
final fullScreenChildRoute = _fullScreenRoutes.contains(context.router.current.name);
final fullScreenChildRoute = fullScreenRoutes.contains(context.router.current.name);
return Stack(
children: [

View file

@ -1,6 +1,7 @@
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart' hide ConnectionState;
import 'package:auto_route/auto_route.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:fladder/models/media_playback_model.dart';
@ -81,6 +82,8 @@ class _NavigationScaffoldState extends ConsumerState<NavigationScaffold> {
final currentTab =
HomeTabs.values.elementAtOrNull(currentIndex.clamp(0, HomeTabs.values.length - 1)) ?? HomeTabs.dashboard;
final fullScreenChildRoute = fullScreenRoutes.contains(context.router.current.name);
return PopScope(
canPop: currentIndex == 0,
onPopInvokedWithResult: (didPop, result) {
@ -107,7 +110,7 @@ class _NavigationScaffoldState extends ConsumerState<NavigationScaffold> {
child: Builder(builder: (context) {
return Scaffold(
key: _key,
appBar: const FladderAppBar(),
appBar: fullScreenChildRoute ? null : const FladderAppBar(),
extendBodyBehindAppBar: true,
resizeToAvoidBottomInset: false,
extendBody: true,