[client] Add sync button next to logo for expanded layouts

This commit is contained in:
Abhishek Shroff
2025-07-03 15:26:59 +05:30
parent f96ae998b1
commit 461c647206
4 changed files with 16 additions and 10 deletions

View File

@@ -5,6 +5,7 @@ import 'package:phylum/libphylum/phylum_account.dart';
import 'package:phylum/libphylum/phylum_api_types.dart';
import 'package:phylum/ui/common/logo_row.dart';
import 'package:phylum/ui/layout/account_state_page.dart';
import 'package:phylum/ui/layout/sync_status_button.dart';
import 'package:phylum/ui/layout/sync_status_notifier.dart';
import 'package:phylum/ui/layout/app_actions.dart';
import 'package:phylum/ui/layout/nav_list.dart';
@@ -102,7 +103,13 @@ class ExpandedAppLayout extends StatelessWidget {
width: sidebarWidth,
child: Padding(
padding: const EdgeInsets.only(left: 16),
child: const LogoRow(),
child: const Row(
spacing: 6.0,
children: [
LogoRow(),
SyncStatusButton(),
],
),
),
),
Expanded(

View File

@@ -1,10 +1,11 @@
import 'package:flutter/material.dart';
import 'package:phylum/ui/layout/create_action.dart';
import 'package:phylum/ui/layout/nav_list.dart';
import 'package:phylum/ui/layout/search.dart';
import 'package:phylum/ui/explorer/explorer_controller.dart';
import 'package:phylum/ui/explorer/explorer_view.dart';
import 'package:phylum/ui/explorer/selection_mode.dart';
import 'package:phylum/ui/layout/create_action.dart';
import 'package:phylum/ui/layout/nav_list.dart';
import 'package:phylum/ui/layout/search.dart';
import 'package:phylum/ui/layout/sync_status_button.dart';
import 'package:phylum/ui/menu/bottom_sheet.dart';
import 'package:phylum/ui/menu/option_groups.dart';
import 'package:provider/provider.dart';
@@ -63,6 +64,7 @@ class AppLayoutCollapsed extends StatelessWidget {
return AppBar(
title: const Text('Phylum'),
actions: [
const SyncStatusButton(),
IconButton(
icon: const Icon(Icons.search),
onPressed: () {

View File

@@ -13,7 +13,6 @@ import 'package:phylum/libphylum/phylum_account.dart';
import 'package:phylum/ui/common/dialogs/new_user_details_dialog.dart';
import 'package:phylum/ui/common/logo_row.dart';
import 'package:phylum/ui/layout/button_downloads.dart';
import 'package:phylum/ui/layout/button_sync_status.dart';
import 'package:phylum/ui/layout/create_action.dart';
import 'package:phylum/util/dialogs.dart';
import 'package:phylum/util/user_display_name.dart';
@@ -167,7 +166,6 @@ class NavList extends StatelessWidget {
: SizedBox();
}),
if (!kIsWeb) const DownloadButton(),
const SyncStatusButton(),
ListTile(
leading: const Icon(Icons.help),
title: const Text('About'),

View File

@@ -9,10 +9,9 @@ class SyncStatusButton extends StatelessWidget {
@override
Widget build(BuildContext context) {
final state = context.select<SyncStatusNotifier, SyncStatus>((notifier) => notifier.status);
return ListTile(
leading: Icon(state.icon),
title: Text(state.text, style: state == SyncStatus.done ? null : TextStyle(fontWeight: FontWeight.bold)),
onTap: () {
return IconButton(
icon: Icon(state.icon),
onPressed: () {
Scaffold.maybeOf(context)?.closeDrawer();
SyncDialog.show(context);
},