Skip to content

Commit 7a322b5

Browse files
Merge pull request #1863 from atsign-foundation/1859-show-atsign-on-appbar
feat: current atsign is now shown on all screens.
2 parents 9b2f3c5 + b9cce90 commit 7a322b5

File tree

7 files changed

+72
-19
lines changed

7 files changed

+72
-19
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
## 1.1.9+15
2+
3+
- **FEAT**: New profile can be created by pasting Json and Yaml formatted information.
4+
- **FEAT**: Added current atsign to app bar so it is available on all screens.
5+
- **FIX**: Removed current atsign to settings screen side panel.
6+
- **FEAT**: Added Version Number on the onboarding and settings screen.
7+
- **FIX**: Added Localization support for the authentication feature.
8+
- **FIX**: Backup Key is implemented correctly.
9+
10+
## 1.0.0
11+
12+
- Initial version

packages/dart/npt_flutter/lib/features/authorisation/widgets/authorisation_app_bar_button.dart

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ import 'dart:async';
22

33
import 'package:flutter/material.dart';
44
import 'package:flutter_bloc/flutter_bloc.dart';
5-
65
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
76
import 'package:npt_flutter/features/authorisation/cubit/pending_requests_count_cubit.dart';
87
import 'package:npt_flutter/home_wrapper_widget.dart';
98
import 'package:npt_flutter/routes.dart';
9+
import 'package:phosphor_flutter/phosphor_flutter.dart';
1010
import 'package:visibility_detector/visibility_detector.dart';
1111

1212
class AuthorisationAppBarButton extends StatefulWidget {
@@ -46,12 +46,11 @@ class AuthorisationAppBarButtonState extends State<AuthorisationAppBarButton> {
4646
return IconButton(
4747
tooltip: strings.authorisation,
4848
icon: Badge.count(
49-
count: authorisationNotificationCount.count,
50-
isLabelVisible: authorisationNotificationCount.count > 0,
51-
backgroundColor: Theme.of(context).colorScheme.primary.withValues(alpha: 0.1),
52-
textColor: Theme.of(context).colorScheme.primary,
53-
child: const Icon(Icons.key_outlined),
54-
),
49+
count: authorisationNotificationCount.count,
50+
isLabelVisible: authorisationNotificationCount.count > 0,
51+
backgroundColor: Theme.of(context).colorScheme.primary.withValues(alpha: 0.1),
52+
textColor: Theme.of(context).colorScheme.primary,
53+
child: PhosphorIcon(PhosphorIcons.key())),
5554
onPressed: () {
5655
wrapperNav.currentState!.pushNamed(HomeRoutes.authorisation);
5756
},

packages/dart/npt_flutter/lib/features/settings/view/settings_view.dart

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
22
import 'package:flutter_bloc/flutter_bloc.dart';
33
import 'package:npt_flutter/features/settings/settings.dart';
44
import 'package:npt_flutter/features/settings/widgets/advance_section.dart';
5-
import 'package:npt_flutter/features/settings/widgets/contact_list_tile.dart';
65
import 'package:npt_flutter/features/settings/widgets/default_relay_section.dart';
76
import 'package:npt_flutter/features/settings/widgets/language_section.dart';
87
import 'package:npt_flutter/widgets/custom_card.dart';
@@ -50,7 +49,6 @@ class SettingsView extends StatelessWidget {
5049
const CustomTextButton.feedback(),
5150
const CustomTextButton.privacyPolicy(),
5251
const CustomTextButton.signOut(),
53-
const ContactListTile(),
5452
gapH13,
5553
FutureBuilder(
5654
future: PackageInfo.fromPlatform(),

packages/dart/npt_flutter/lib/features/settings/widgets/contact_list_tile.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ class ContactListTile extends StatelessWidget {
1414
final contactRepo = ContactsService.getInstance();
1515
final strings = AppLocalizations.of(context)!;
1616

17-
final bodyMedium = Theme.of(context).textTheme.bodyMedium!;
1817
final bodySmall = Theme.of(context).textTheme.bodySmall!;
1918
return FutureBuilder(
2019
future: contactRepo.getCurrentAtsignContactDetails(),

packages/dart/npt_flutter/lib/styles/app_color.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ class AppColor {
88
static const cardColorDark = Color(0xFFEAEAEA);
99
static const successColor = Color(0xFFA4CC4F);
1010
static const errorColor = Color(0xFFBF0813);
11-
11+
static const outlinePaddingColor = Color(0xFFEAEAEA);
1212
static const textFieldBorderColor = Color(0xFFD9D9D9);
1313
}

packages/dart/npt_flutter/lib/styles/sizes.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@ import 'package:npt_flutter/app.dart';
33

44
/// Constant sizes to be used in the app (paddings, gaps, rounded corners etc.)
55
class Sizes {
6+
static const p0 = 0.0;
67
static const p2 = 2.0;
78
// static const p3 = 3.0;
89
static const p4 = 4.0;
9-
// static const p5 = 5.0;
10+
static const p6 = 6.0;
1011
static const p8 = 8.0;
1112
static const p10 = 10.0;
1213
static const p11 = 11.0;

packages/dart/npt_flutter/lib/widgets/npt_app_bar.dart

Lines changed: 51 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import 'package:flutter_bloc/flutter_bloc.dart';
33
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
44
import 'package:flutter_svg/flutter_svg.dart';
55
import 'package:npt_flutter/features/authorisation/widgets/authorisation_app_bar_button.dart';
6+
import 'package:npt_flutter/features/settings/repository/contact_repository.dart';
67
import 'package:npt_flutter/home_wrapper_widget.dart';
78
import 'package:npt_flutter/pages/sub_nav_cubit.dart';
89
import 'package:npt_flutter/routes.dart';
@@ -27,6 +28,7 @@ class _NptAppBarState extends State<NptAppBar> {
2728
@override
2829
Widget build(BuildContext context) {
2930
final strings = AppLocalizations.of(context)!;
31+
final atsign = ContactsService.getInstance().atClientManager.atClient.getCurrentAtSign();
3032
return BlocBuilder<SubNavCubit, String>(
3133
builder: (context, state) {
3234
final isDashboard = state == HomeRoutes.dashboard;
@@ -111,13 +113,55 @@ class _NptAppBarState extends State<NptAppBar> {
111113
],
112114
),
113115
actions: [
114-
IgnorePointer(
115-
ignoring: !isDashboard,
116-
child: AnimatedOpacity(
117-
duration: const Duration(milliseconds: 300),
118-
curve: Curves.easeInOut,
119-
opacity: isDashboard ? 1 : 0,
120-
child: const AuthorisationAppBarButton(),
116+
Container(
117+
padding: const EdgeInsets.only(top: Sizes.p8, bottom: Sizes.p8, left: Sizes.p8, right: Sizes.p0),
118+
decoration: BoxDecoration(
119+
color: AppColor.outlinePaddingColor,
120+
borderRadius: BorderRadius.circular(Sizes.p4),
121+
),
122+
child: Row(
123+
children: [
124+
IgnorePointer(
125+
ignoring: !isDashboard,
126+
child: AnimatedOpacity(
127+
duration: const Duration(milliseconds: 300),
128+
curve: Curves.easeInOut,
129+
opacity: 1,
130+
child: Container(
131+
padding: const EdgeInsets.symmetric(horizontal: Sizes.p8),
132+
decoration: BoxDecoration(
133+
color: Colors.white,
134+
borderRadius: BorderRadius.circular(Sizes.p4),
135+
),
136+
height: 40,
137+
child: Row(
138+
children: [
139+
Text(
140+
atsign != null ? '@' : '',
141+
style: Theme.of(context)
142+
.textTheme
143+
.bodyLarge!
144+
.copyWith(color: AppColor.primaryColor, fontSize: Sizes.p20),
145+
),
146+
Text(
147+
atsign?.replaceFirst('@', '') ?? '',
148+
style: Theme.of(context).textTheme.bodyLarge,
149+
),
150+
],
151+
),
152+
),
153+
),
154+
),
155+
IgnorePointer(
156+
ignoring: !isDashboard,
157+
child: AnimatedOpacity(
158+
duration: const Duration(milliseconds: 300),
159+
curve: Curves.easeInOut,
160+
opacity: isDashboard ? 1 : 0,
161+
child: const AuthorisationAppBarButton(),
162+
),
163+
),
164+
],
121165
),
122166
),
123167
IgnorePointer(

0 commit comments

Comments
 (0)