diff --git a/frontend/pshared/lib/service/account.dart b/frontend/pshared/lib/service/account.dart index 69eaee7..b18db06 100644 --- a/frontend/pshared/lib/service/account.dart +++ b/frontend/pshared/lib/service/account.dart @@ -37,7 +37,7 @@ class AccountService { static Future logout() async { _logger.fine('Logging out'); - await AuthorizationService.logout(); + return AuthorizationService.logout(); } static Future _getAccount(Future> future) async { diff --git a/frontend/pweb/lib/widgets/sidebar/page.dart b/frontend/pweb/lib/widgets/sidebar/page.dart index 84d9528..57d773b 100644 --- a/frontend/pweb/lib/widgets/sidebar/page.dart +++ b/frontend/pweb/lib/widgets/sidebar/page.dart @@ -2,6 +2,8 @@ import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; +import 'package:pshared/provider/account.dart'; + import 'package:pweb/pages/address_book/form/page.dart'; import 'package:pweb/pages/address_book/page/page.dart'; import 'package:pweb/pages/payment_methods/page.dart'; @@ -9,9 +11,9 @@ import 'package:pweb/pages/payout_page/page.dart'; import 'package:pweb/pages/payout_page/wallet/edit/page.dart'; import 'package:pweb/pages/report/page.dart'; import 'package:pweb/pages/settings/profile/page.dart'; +import 'package:pweb/pages/dashboard/dashboard.dart'; import 'package:pweb/providers/page_selector.dart'; import 'package:pweb/widgets/appbar/app_bar.dart'; -import 'package:pweb/pages/dashboard/dashboard.dart'; import 'package:pweb/widgets/sidebar/destinations.dart'; import 'package:pweb/widgets/sidebar/sidebar.dart'; @@ -19,9 +21,10 @@ import 'package:pweb/widgets/sidebar/sidebar.dart'; class PageSelector extends StatelessWidget { const PageSelector({super.key}); + void _logout(BuildContext context) => context.read().logout(); + @override - Widget build(BuildContext context) { - final provider = context.watch(); + Widget build(BuildContext context) => Consumer(builder:(context, provider, _) { Widget content; switch (provider.selected) { @@ -87,7 +90,7 @@ class PageSelector extends StatelessWidget { appBar: PayoutAppBar( title: Text(provider.selected.localizedLabel(context)), onAddFundsPressed: () {}, - onLogout: () => debugPrint('Logout clicked'), + onLogout: () => _logout(context), ), body: Padding( padding: const EdgeInsets.only(left: 200, top: 40, right: 200), @@ -98,12 +101,12 @@ class PageSelector extends StatelessWidget { PayoutSidebar( selected: provider.selected, onSelected: provider.selectPage, - onLogout: () => debugPrint('Logout clicked'), + onLogout: () => _logout(context), ), Expanded(child: content), ], ), ), ); - } + }); } diff --git a/frontend/pweb/macos/Flutter/GeneratedPluginRegistrant.swift b/frontend/pweb/macos/Flutter/GeneratedPluginRegistrant.swift index 33de092..79f5652 100644 --- a/frontend/pweb/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/frontend/pweb/macos/Flutter/GeneratedPluginRegistrant.swift @@ -8,6 +8,7 @@ import Foundation import amplitude_flutter import file_selector_macos import flutter_timezone +import path_provider_foundation import share_plus import shared_preferences_foundation import sqflite_darwin @@ -17,6 +18,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { AmplitudeFlutterPlugin.register(with: registry.registrar(forPlugin: "AmplitudeFlutterPlugin")) FileSelectorPlugin.register(with: registry.registrar(forPlugin: "FileSelectorPlugin")) FlutterTimezonePlugin.register(with: registry.registrar(forPlugin: "FlutterTimezonePlugin")) + PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin")) SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))