Frontend first draft
This commit is contained in:
19
frontend/pweb/lib/widgets/drawer/tiles/dashboard.dart
Normal file
19
frontend/pweb/lib/widgets/drawer/tiles/dashboard.dart
Normal file
@@ -0,0 +1,19 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:pweb/app/router/pages.dart';
|
||||
|
||||
import 'package:pweb/generated/i18n/app_localizations.dart';
|
||||
|
||||
|
||||
class DashboardTile extends StatelessWidget {
|
||||
const DashboardTile({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListTile(
|
||||
leading: const Icon(Icons.dashboard),
|
||||
title: Text(AppLocalizations.of(context)!.dashboard),
|
||||
onTap: () => navigate(context, Pages.dashboard),
|
||||
);
|
||||
}
|
||||
}
|
||||
32
frontend/pweb/lib/widgets/drawer/tiles/logout.dart
Normal file
32
frontend/pweb/lib/widgets/drawer/tiles/logout.dart
Normal file
@@ -0,0 +1,32 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
import 'package:pshared/provider/account.dart';
|
||||
|
||||
import 'package:pweb/app/router/pages.dart';
|
||||
|
||||
import 'package:pweb/generated/i18n/app_localizations.dart';
|
||||
|
||||
|
||||
class LogoutTile extends StatelessWidget {
|
||||
const LogoutTile({
|
||||
super.key,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListTile(
|
||||
leading: const Icon(Icons.logout),
|
||||
title: Text(AppLocalizations.of(context)!.navigationLogout),
|
||||
onTap: () => _logout(context),
|
||||
);
|
||||
}
|
||||
|
||||
void _logout(BuildContext context) {
|
||||
Navigator.pop(context);
|
||||
final accountProvider = Provider.of<AccountProvider>(context, listen: false);
|
||||
accountProvider.logout();
|
||||
navigateAndReplace(context, Pages.login);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:pweb/generated/i18n/app_localizations.dart';
|
||||
|
||||
|
||||
class PermissionsSettingsTile extends StatelessWidget {
|
||||
const PermissionsSettingsTile({
|
||||
super.key,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) => ListTile(
|
||||
leading: const Icon(Icons.vpn_key),
|
||||
title: Text(AppLocalizations.of(context)!.navigationPermissionsSettings),
|
||||
onTap: () {// ToDo: account settings
|
||||
},
|
||||
);
|
||||
}
|
||||
19
frontend/pweb/lib/widgets/drawer/tiles/settings/profile.dart
Normal file
19
frontend/pweb/lib/widgets/drawer/tiles/settings/profile.dart
Normal file
@@ -0,0 +1,19 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:pweb/app/router/pages.dart';
|
||||
|
||||
import 'package:pweb/generated/i18n/app_localizations.dart';
|
||||
|
||||
|
||||
class ProfileSettingsTile extends StatelessWidget {
|
||||
const ProfileSettingsTile({
|
||||
super.key,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) => ListTile(
|
||||
leading: const Icon(Icons.settings),
|
||||
title: Text(AppLocalizations.of(context)!.navigationAccountSettings),
|
||||
onTap: () => navigateNamed(context, Pages.profile),
|
||||
);
|
||||
}
|
||||
19
frontend/pweb/lib/widgets/drawer/tiles/settings/roles.dart
Normal file
19
frontend/pweb/lib/widgets/drawer/tiles/settings/roles.dart
Normal file
@@ -0,0 +1,19 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:pweb/app/router/pages.dart';
|
||||
|
||||
import 'package:pweb/generated/i18n/app_localizations.dart';
|
||||
|
||||
|
||||
class RolesSettingsTile extends StatelessWidget {
|
||||
const RolesSettingsTile({
|
||||
super.key,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) => ListTile(
|
||||
leading: const Icon(Icons.manage_accounts),
|
||||
title: Text(AppLocalizations.of(context)!.navigationRolesSettings),
|
||||
onTap: () => navigateNamed(context, Pages.roles),
|
||||
);
|
||||
}
|
||||
21
frontend/pweb/lib/widgets/drawer/tiles/settings/users.dart
Normal file
21
frontend/pweb/lib/widgets/drawer/tiles/settings/users.dart
Normal file
@@ -0,0 +1,21 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import 'package:pweb/app/router/pages.dart';
|
||||
|
||||
import 'package:pweb/generated/i18n/app_localizations.dart';
|
||||
|
||||
|
||||
class UsersSettingsTile extends StatelessWidget {
|
||||
const UsersSettingsTile({
|
||||
super.key,
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListTile(
|
||||
leading: const Icon(Icons.people),
|
||||
title: Text(AppLocalizations.of(context)!.navigationUsersSettings),
|
||||
onTap: () => navigateNamed(context, Pages.users),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user