6177214e-ce7c-49e3-99de-ff9721b26f63 — Commit 354fc2a3

AuthorNKL<nikolaj.king@gmail.com>
Date2024-09-18 10:59:28 +0200
testing redirect url

Changed files

comwell_key_app/android/app/build.gradle           |   4 +
 .../android/app/src/main/AndroidManifest.xml       |   2 +-
 .../lib/components/bottom_sheet_widget.dart        |  32 ++++++
 comwell_key_app/lib/home/home_page.dart            | 117 ++++++++-------------
 .../lib/login/components/azure_b2c_widget.dart     |  13 ++-
 comwell_key_app/lib/routing/app_router.dart        |   6 +-
 6 files changed, 91 insertions(+), 83 deletions(-)

Diff

diff --git a/comwell_key_app/android/app/build.gradle b/comwell_key_app/android/app/build.gradle
index b7448a41..839f955a 100644
--- a/comwell_key_app/android/app/build.gradle
+++ b/comwell_key_app/android/app/build.gradle
@@ -47,6 +47,7 @@ android {
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.comwell.phoenix"
+
// You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
minSdkVersion localProperties.getProperty('flutter.minSdkVersion').toInteger()
@@ -54,6 +55,9 @@ android {
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
multiDexEnabled true
+ manifestPlaceholders += [
+ 'appAuthRedirectScheme': 'comwellservicesdev.b2clogin.com'
+ ]
}
diff --git a/comwell_key_app/android/app/src/main/AndroidManifest.xml b/comwell_key_app/android/app/src/main/AndroidManifest.xml
index 74cadfbf..c1680ad5 100644
--- a/comwell_key_app/android/app/src/main/AndroidManifest.xml
+++ b/comwell_key_app/android/app/src/main/AndroidManifest.xml
@@ -33,7 +33,7 @@
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
- <data android:scheme="https" android:host="com.comwell.app" />
+ <data android:scheme="https" />
</intent-filter>
</activity>
<!-- Don't delete the meta-data below.
diff --git a/comwell_key_app/lib/components/bottom_sheet_widget.dart b/comwell_key_app/lib/components/bottom_sheet_widget.dart
new file mode 100644
index 00000000..fa73391c
--- /dev/null
+++ b/comwell_key_app/lib/components/bottom_sheet_widget.dart
@@ -0,0 +1,32 @@
+import 'package:comwell_key_app/themes/light_theme.dart';
+import 'package:flutter/material.dart';
+import 'package:sheet/sheet.dart';
+
+class BottomSheetWidget extends StatelessWidget {
+ final List<Widget> widgetChildren;
+ const BottomSheetWidget({
+ required this.widgetChildren,
+ super.key,
+ });
+
+ @override
+ Widget build(BuildContext context) {
+ return Sheet(
+ backgroundColor: sandColor[40],
+ initialExtent: 200,
+ shape: const RoundedRectangleBorder(
+ borderRadius: BorderRadius.only(
+ topLeft: Radius.circular(30),
+ topRight: Radius.circular(30),
+ ),
+ ),
+ resizable: true,
+ fit: SheetFit.expand,
+ minExtent: 100,
+ maxExtent: 600,
+ child: SingleChildScrollView( child: Column(
+ children: widgetChildren
+ )),
+ );
+ }
+}
diff --git a/comwell_key_app/lib/home/home_page.dart b/comwell_key_app/lib/home/home_page.dart
index 5073ff73..ded18293 100644
--- a/comwell_key_app/lib/home/home_page.dart
+++ b/comwell_key_app/lib/home/home_page.dart
@@ -1,13 +1,9 @@
import 'package:comwell_key_app/components/comwell_app_bar.dart';
import 'package:comwell_key_app/extensions/scaffold_messenger_state_extension.dart';
import 'package:comwell_key_app/home/bloc/home_bloc.dart';
-import 'package:comwell_key_app/home/components/room_key_widget.dart';
-import 'package:comwell_key_app/routing/app_routes.dart';
-import 'package:easy_localization/easy_localization.dart';
+import 'package:comwell_key_app/components/bottom_sheet_widget.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
-import 'package:go_router/go_router.dart';
-
class HomeWidget extends StatefulWidget {
const HomeWidget({super.key});
@@ -23,85 +19,57 @@ class _HomeWidget extends State<HomeWidget> {
super.initState();
}
-Future<void> _updateEndpoint() async {
-
+ Future<void> _updateEndpoint() async {
try {
context.read<HomeBloc>().add(SearchForKeysEvent());
} catch (e) {
if (!mounted) return;
- ScaffoldMessenger.of(context)
- .showActionSnackBar(
- content: Text('Failed to update endpoint - ${e.toString()}'),
- label: 'Retry',
- onPressed: _updateEndpoint,
+ ScaffoldMessenger.of(context).showActionSnackBar(
+ content: Text('Failed to update endpoint - ${e.toString()}'),
+ label: 'Retry',
+ onPressed: _updateEndpoint,
);
-
- }
+ }
}
@override
Widget build(BuildContext context) {
- context.read<HomeBloc>().add(SearchForKeysEvent());
+ //context.read<HomeBloc>().add(SearchForKeysEvent());
return BlocConsumer<HomeBloc, HomeState>(
- listener: (context, state) {
-
-
- },
- builder: (context, state) {
- return RefreshIndicator(
- key: _refreshIndicatorKey,
- displacement: 20,
- onRefresh: () async {
- await _updateEndpoint();
- },
- child: Scaffold(
- extendBodyBehindAppBar: true,
- appBar: ComwellAppBar(
- label: Row(
- children: [
- Image.asset(
- 'assets/images/Logo.png',
- width: 100,
- height: 30,
+ listener: (context, state) {},
+ builder: (context, state) {
+ return Scaffold(
+ extendBodyBehindAppBar: true,
+ appBar: ComwellAppBar(
+ label: Row(
+ children: [
+ Image.asset(
+ 'assets/images/Logo.png',
+ width: 100,
+ height: 30,
+ ),
+ ],
),
- ],
- ),
- ),
- body: Column(
- mainAxisAlignment: MainAxisAlignment.start,
- children: <Widget>[
- Expanded(
- child: Image.asset(
- 'assets/images/welcome_image.jpeg',
- width: double.infinity,
- height: 300,
- fit: BoxFit.cover,
- )),
- const SizedBox(height: 100),
- if (state is CodeNotRedeemed)
- ElevatedButton(
- onPressed: () {
- context.goNamed( AppRoutes.redeem.name);
- },
- child: Text('redeem_code'.tr()),
- )
- else if (state is ValidKey)
- RoomKeyWidget(onPressed: () {
- context.goNamed(AppRoutes.key.name);
- })
- else if (state is InvalidOrNoKey)
- RoomKeyWidget(isMultipleKeys: true,onPressed: () {
- context.goNamed(AppRoutes.key.name);
- })
- else if (state is MultipleKeys)
- RoomKeyWidget(isMultipleKeys: true,onPressed: () {
- context.goNamed(AppRoutes.key.name);
- }),
- const SizedBox(height: 100)
- ],
- ),
- ));
- });
+ ),
+ body: const Stack(
+ children: [
+ BottomSheetWidget(
+ widgetChildren: [
+ SizedBox(
+ height: 10,
+ width: double.infinity,
+ ),
+ Text('Rooms'),
+ SizedBox(height: 400),
+ Text('Keys'),
+ SizedBox(height: 400),
+ ],
+ )
+ ],
+ ),
+ );
+ });
+
/* body: ListView(
children: _menuList(context),
), */
@@ -110,8 +78,5 @@ Future<void> _updateEndpoint() async {
if (_toCredentials) _seosMobileKeysPlugin.stopIfScanning();
_toCredentials = false;
}, */
-
-
}
}
-
diff --git a/comwell_key_app/lib/login/components/azure_b2c_widget.dart b/comwell_key_app/lib/login/components/azure_b2c_widget.dart
index 718d46a5..980a9bd0 100644
--- a/comwell_key_app/lib/login/components/azure_b2c_widget.dart
+++ b/comwell_key_app/lib/login/components/azure_b2c_widget.dart
@@ -16,10 +16,15 @@ class AzureB2CWidget extends StatelessWidget {
clientId: dotenv.env['AAD_B2C_CLIENT_ID']!,
redirectUrl: dotenv.env['AAD_B2C_REDIRECT_URL']!,
scopes: dotenv.env['AAD_B2C_SCOPES']!.split(','),
- onAnyTokenRetrieved: (Token anyToken) {},
- onIDToken: (Token token) {},
- onAccessToken: (Token token) {},
- onRefreshToken: (Token token) {},
+ onAnyTokenRetrieved: (Token anyToken) {
+ print('AnyToken: ${anyToken}');
+ },
+ onIDToken: (Token token) {
+ print('IDToken: ${token}');
+ },
+ onRedirect: (context) => Navigator.of(context).pushNamed('/auth'),
+ onAccessToken: (Token token) {print('AccessToken: ${token}');},
+ onRefreshToken: (Token token) {print('RefreshToken: ${token}');},
optionalParameters: const [],
webViewBackgroundColor: sandColor[40]!,
diff --git a/comwell_key_app/lib/routing/app_router.dart b/comwell_key_app/lib/routing/app_router.dart
index 33e70ec5..6c2919b2 100644
--- a/comwell_key_app/lib/routing/app_router.dart
+++ b/comwell_key_app/lib/routing/app_router.dart
@@ -13,7 +13,9 @@ GoRouter goRouter() {
initialLocation: '/login',
navigatorKey: _rootNavigatorKey,
debugLogDiagnostics: true,
- redirect: (context, state) {},
+ redirect: (context, state) {
+ print(context);
+ },
routes: <RouteBase>[
GoRoute(
path: "/",
@@ -26,7 +28,7 @@ GoRouter goRouter() {
builder: (context, state) => const LoginPage(),
),
GoRoute(
- path: "/home",
+ path: "/auth",
name: AppRoutes.home.name,
builder: (context, state) => const HomeWidget(),
),