share content

This commit is contained in:
Kalonkarthik 2025-06-04 13:59:48 +05:30
parent 4b800042a8
commit 06c832a249
10 changed files with 78 additions and 1898 deletions

View File

@ -1,4 +1,3 @@
index.html,1740467251291,3094e9e392638f12a83064c2bd3eb47179fc87830e120211fee9bbaca8521153
404.html,1740467250990,762bf484ba67404bd1a3b181546ea28d60dfddf18e9dd4795d8d25bcf3c1a890
.well-known/deeplink.txt,1740662700011,8b3c4be59000686b807f432cf2d226e993bab79debd39d5a091bffc403537a89
.well-known/assetlinks.json,1739864133103,9b1de4b52760425f3607c90e639af0c72594c3d2fa92b0865360ccdc0b6303ff
index.html,1749016928549,c42b806930f499518bfbe07c7c4475c3facaf88ae99e2bf699ae2c7432968ca9
404.html,1749016923653,762bf484ba67404bd1a3b181546ea28d60dfddf18e9dd4795d8d25bcf3c1a890
.well-known/assetlinks.json,1749020217418,2cbceb7922baa8574ba7b3ddb959273603d28e7729c277783cc7715f9e18110b

View File

@ -1,5 +1,5 @@
{
"projects": {
"default": "fcsc-da580"
"default": "fcsc-a161c"
}
}

View File

@ -7,62 +7,33 @@
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
<activity
android:enableOnBackInvokedCallback="true"
android:name=".MainActivity"
android:exported="true"
android:launchMode="singleTop"
android:taskAffinity=""
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true"
android:windowSoftInputMode="adjustResize">
<!-- Specifies an Android theme to apply to this Activity as soon as
the Android process has started. This theme is visible to the user
while the Flutter UI initializes. After that, this theme continues
to determine the Window background behind the Flutter UI. -->
<meta-data
android:name="io.flutter.embedding.android.NormalTheme"
android:resource="@style/NormalTheme"
/>
<!-- Required launcher intent -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<meta-data android:name="flutter_deeplinking_enabled"
android:value="true"/>
<!-- Deep linking intent filter -->
<intent-filter android:autoVerify="true">
<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="www.fcsc.com"/>
<data
android:scheme="https"
android:host="fcsc-a161c.web.app"
android:pathPrefix="/"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="flutterdeeplink"
android:host="fcsc"
android:pathPrefix="/login" />
<data
android:scheme="flutterdeeplink"
android:host="fcsc"
android:pathPrefix="/chartScreen"/>
<data
android:scheme="flutterdeeplink"
android:host="fcsc"
android:pathPrefix="/forgot-password"/>
</intent-filter>
<!-- <intent-filter >-->
<!-- <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="dev-fcsc.web.app"-->
<!-- android:pathPrefix="/" />-->
<!-- </intent-filter>-->
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<meta-data

View File

@ -5,6 +5,17 @@
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"headers": [
{
"source": "/.well-known/assetlinks.json",
"headers": [
{
"key": "Content-Type",
"value": "application/json"
}
]
}
]
}
}
}

View File

@ -2896,7 +2896,7 @@ Future<void> shareCurrentPage(BuildContext context, bool isSharing) async {
isSharing = true;
try {
final String currentRoute = GoRouterState.of(context).uri.toString();
final String baseAppLink = 'https://www.fcsc.com';
final String baseAppLink = 'https://fcsc-a161c.web.app';
final String shareLink = '$baseAppLink$currentRoute';
final String shareText = 'Check this out!\n\n$shareLink';
print('Generated Share Link: $shareLink');

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@
"namespace": "android_app",
"package_name": "ae.gov.fcsc.frontend",
"sha256_cert_fingerprints": [
"E0:B4:6F:B9:8B:96:66:5B:EC:14:98:53:07:01:D4:DF:39:24:E8:1F:CD:A2:9E:E4:77:66:E0:B4:5B:C2:E0:94"
"8E:D9:A0:F3:32:A7:5A:65:5B:F5:3B:57:76:39:2F:F8:1D:B1:8D:68:64:69:2D:0F:18:73:0D:02:39:7C:2E:E6"
]
}
}

View File

@ -1,49 +0,0 @@
Future<bool> _checkUserLoginStatus() async {
try {
await Future.delayed(const Duration(seconds: 1));
log('Checking login status...');
final session = await _authRepo.fetchLocallyStored();
return session != null;
} catch (e) {
log('Error checking login status: $e');
return false;
}
}
Future<void> _redirectToLogin(String redirectPath) async {
if (mounted) {
GoRouter.of(context).push('/login?redirect=$redirectPath');
}
}
Future<void> _handleDeepLink(BuildContext context) async {
final GoRouterState state = GoRouterState.of(context);
final String? deepLink = state.uri.toString().isNotEmpty && state.uri.path != '/' ? state.uri.toString() : null;
if (deepLink == null) {
log('No deep link detected.');
return;
}
log('Received deep link: $deepLink');
final String path = Uri.parse(deepLink).path;
final bool isLoggedIn = await _checkUserLoginStatus();
if (!isLoggedIn) {
log('User not logged in. Redirecting to login.');
await _redirectToLogin(path);
return;
}
// If logged in, proceed to the shared page
if (mounted) {
log('User is logged in. Navigating to $path');
GoRouter.of(context).go(path);
}
}
@override
Widget build(BuildContext context) {
return widget.child;
}
}

View File

@ -6,17 +6,17 @@
<title>Welcome to Firebase Hosting</title>
<!-- update the version number as needed -->
<script defer src="/__/firebase/11.3.1/firebase-app-compat.js"></script>
<script defer src="/__/firebase/11.8.1/firebase-app-compat.js"></script>
<!-- include only the Firebase features as you need -->
<script defer src="/__/firebase/11.3.1/firebase-auth-compat.js"></script>
<script defer src="/__/firebase/11.3.1/firebase-database-compat.js"></script>
<script defer src="/__/firebase/11.3.1/firebase-firestore-compat.js"></script>
<script defer src="/__/firebase/11.3.1/firebase-functions-compat.js"></script>
<script defer src="/__/firebase/11.3.1/firebase-messaging-compat.js"></script>
<script defer src="/__/firebase/11.3.1/firebase-storage-compat.js"></script>
<script defer src="/__/firebase/11.3.1/firebase-analytics-compat.js"></script>
<script defer src="/__/firebase/11.3.1/firebase-remote-config-compat.js"></script>
<script defer src="/__/firebase/11.3.1/firebase-performance-compat.js"></script>
<script defer src="/__/firebase/11.8.1/firebase-auth-compat.js"></script>
<script defer src="/__/firebase/11.8.1/firebase-database-compat.js"></script>
<script defer src="/__/firebase/11.8.1/firebase-firestore-compat.js"></script>
<script defer src="/__/firebase/11.8.1/firebase-functions-compat.js"></script>
<script defer src="/__/firebase/11.8.1/firebase-messaging-compat.js"></script>
<script defer src="/__/firebase/11.8.1/firebase-storage-compat.js"></script>
<script defer src="/__/firebase/11.8.1/firebase-analytics-compat.js"></script>
<script defer src="/__/firebase/11.8.1/firebase-remote-config-compat.js"></script>
<script defer src="/__/firebase/11.8.1/firebase-performance-compat.js"></script>
<!--
initialize the SDK after all desired features are loaded, set useEmulator to false
to avoid connecting the SDK to running emulators.

View File

@ -93,18 +93,18 @@ packages:
dependency: transitive
description:
name: async
sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
url: "https://pub.dev"
source: hosted
version: "2.12.0"
version: "2.11.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea"
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
url: "https://pub.dev"
source: hosted
version: "2.1.2"
version: "2.1.1"
boxy:
dependency: "direct main"
description:
@ -181,10 +181,10 @@ packages:
dependency: transitive
description:
name: characters
sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
url: "https://pub.dev"
source: hosted
version: "1.4.0"
version: "1.3.0"
checked_yaml:
dependency: transitive
description:
@ -213,10 +213,10 @@ packages:
dependency: transitive
description:
name: clock
sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
url: "https://pub.dev"
source: hosted
version: "1.1.2"
version: "1.1.1"
code_builder:
dependency: transitive
description:
@ -229,10 +229,10 @@ packages:
dependency: transitive
description:
name: collection
sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76"
sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf
url: "https://pub.dev"
source: hosted
version: "1.19.1"
version: "1.19.0"
community_charts_common:
dependency: transitive
description:
@ -428,10 +428,10 @@ packages:
dependency: transitive
description:
name: fake_async
sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc"
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
url: "https://pub.dev"
source: hosted
version: "1.3.2"
version: "1.3.1"
fast_immutable_collections:
dependency: "direct main"
description:
@ -976,18 +976,18 @@ packages:
dependency: transitive
description:
name: leak_tracker
sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec
sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06"
url: "https://pub.dev"
source: hosted
version: "10.0.8"
version: "10.0.7"
leak_tracker_flutter_testing:
dependency: transitive
description:
name: leak_tracker_flutter_testing
sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573
sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379"
url: "https://pub.dev"
source: hosted
version: "3.0.9"
version: "3.0.8"
leak_tracker_testing:
dependency: transitive
description:
@ -1032,10 +1032,10 @@ packages:
dependency: transitive
description:
name: matcher
sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2
sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
url: "https://pub.dev"
source: hosted
version: "0.12.17"
version: "0.12.16+1"
material_charts:
dependency: "direct main"
description:
@ -1056,10 +1056,10 @@ packages:
dependency: transitive
description:
name: meta
sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
url: "https://pub.dev"
source: hosted
version: "1.16.0"
version: "1.15.0"
mime:
dependency: transitive
description:
@ -1112,10 +1112,10 @@ packages:
dependency: transitive
description:
name: path
sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5"
sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
url: "https://pub.dev"
source: hosted
version: "1.9.1"
version: "1.9.0"
path_parsing:
dependency: transitive
description:
@ -1435,10 +1435,10 @@ packages:
dependency: transitive
description:
name: source_span
sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c"
sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
url: "https://pub.dev"
source: hosted
version: "1.10.1"
version: "1.10.0"
sprintf:
dependency: transitive
description:
@ -1451,10 +1451,10 @@ packages:
dependency: transitive
description:
name: stack_trace
sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1"
sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377"
url: "https://pub.dev"
source: hosted
version: "1.12.1"
version: "1.12.0"
state_notifier:
dependency: transitive
description:
@ -1467,10 +1467,10 @@ packages:
dependency: transitive
description:
name: stream_channel
sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d"
sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
url: "https://pub.dev"
source: hosted
version: "2.1.4"
version: "2.1.2"
stream_transform:
dependency: transitive
description:
@ -1483,26 +1483,26 @@ packages:
dependency: transitive
description:
name: string_scanner
sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43"
sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3"
url: "https://pub.dev"
source: hosted
version: "1.4.1"
version: "1.3.0"
term_glyph:
dependency: transitive
description:
name: term_glyph
sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e"
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
url: "https://pub.dev"
source: hosted
version: "1.2.2"
version: "1.2.1"
test_api:
dependency: transitive
description:
name: test_api
sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd
sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c"
url: "https://pub.dev"
source: hosted
version: "0.7.4"
version: "0.7.3"
the_validator:
dependency: "direct main"
description:
@ -1691,10 +1691,10 @@ packages:
dependency: transitive
description:
name: vm_service
sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14"
sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b
url: "https://pub.dev"
source: hosted
version: "14.3.1"
version: "14.3.0"
watcher:
dependency: transitive
description:
@ -1792,5 +1792,5 @@ packages:
source: hosted
version: "3.1.3"
sdks:
dart: ">=3.7.0-0 <4.0.0"
dart: ">=3.6.0 <4.0.0"
flutter: ">=3.27.0"