fix: navbar responsiveness

This commit is contained in:
DenserMeerkat
2024-06-11 23:26:52 +05:30
parent a3381c9f38
commit 9c4b492679
2 changed files with 32 additions and 16 deletions

View File

@ -124,6 +124,7 @@ class NavRail extends ConsumerWidget {
Icons.help, Icons.help,
Icons.help_outline, Icons.help_outline,
'About', 'About',
showLabel: false,
), ),
const SizedBox(height: 24), const SizedBox(height: 24),
customNavigationDestination( customNavigationDestination(
@ -134,6 +135,7 @@ class NavRail extends ConsumerWidget {
Icons.settings, Icons.settings,
Icons.settings_outlined, Icons.settings_outlined,
'Settings', 'Settings',
showLabel: false,
), ),
], ],
), ),

View File

@ -1,8 +1,10 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:apidash/consts.dart'; import 'package:apidash/consts.dart';
import 'package:apidash/extensions/extensions.dart';
import 'package:apidash/providers/providers.dart'; import 'package:apidash/providers/providers.dart';
import 'package:apidash/widgets/window_caption.dart'; import 'package:apidash/widgets/window_caption.dart';
import '../navbar.dart';
class PageBase extends ConsumerWidget { class PageBase extends ConsumerWidget {
final String title; final String title;
@ -13,27 +15,39 @@ class PageBase extends ConsumerWidget {
Widget build(BuildContext context, WidgetRef ref) { Widget build(BuildContext context, WidgetRef ref) {
final isDarkMode = final isDarkMode =
ref.watch(settingsProvider.select((value) => value.isDark)); ref.watch(settingsProvider.select((value) => value.isDark));
final scaffold = Scaffold(
backgroundColor: Theme.of(context).colorScheme.background,
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.background,
primary: true,
title: Text(title),
centerTitle: true,
),
body: Padding(
padding: EdgeInsets.only(
bottom: MediaQuery.paddingOf(context).bottom,
),
child: scaffoldBody,
),
);
return Stack( return Stack(
children: [ children: [
Container( Container(
padding: const EdgeInsets.only(bottom: 70) + padding: (context.isCompactWindow
? const EdgeInsets.only(bottom: 70)
: EdgeInsets.zero) +
(kIsWindows || kIsMacOS ? kPt28 : EdgeInsets.zero), (kIsWindows || kIsMacOS ? kPt28 : EdgeInsets.zero),
color: Theme.of(context).colorScheme.surface, color: Theme.of(context).colorScheme.surface,
child: Scaffold( child: !context.isCompactWindow
backgroundColor: Theme.of(context).colorScheme.background, ? Row(
appBar: AppBar( children: [
backgroundColor: Theme.of(context).colorScheme.background, const NavRail(),
primary: true, Expanded(
title: Text(title), child: scaffold,
centerTitle: true, ),
), ],
body: Padding( )
padding: EdgeInsets.only( : scaffold,
bottom: MediaQuery.paddingOf(context).bottom,
),
child: scaffoldBody,
),
),
), ),
if (kIsWindows) if (kIsWindows)
SizedBox( SizedBox(