replace: swap prosappweb content for prosapp_web_app (more complete version)
prosapp_web_app has chat, dashboard, calendar, support, 13 providers and Fluro URL routing. Keep Dockerfile + nginx.conf from previous prosappweb. Upgrade google_fonts 6.2.1 → 8.1.0 (Dart 3.12 compat fix). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
74a4f41902
commit
15175c1b91
@@ -0,0 +1,9 @@
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
class LocalStorage {
|
||||
static late SharedPreferences prefs;
|
||||
|
||||
static Future<void> configurePrefs() async {
|
||||
prefs = await SharedPreferences.getInstance();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class NavigationService {
|
||||
static GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
|
||||
|
||||
static navigateTo(String routeName) {
|
||||
navigatorKey.currentState!.pushNamed(routeName);
|
||||
}
|
||||
|
||||
static Future<dynamic> navigateToFuture(String routeName) async {
|
||||
return await navigatorKey.currentState!.pushNamed(routeName);
|
||||
}
|
||||
|
||||
static replaceTo(String routeName) {
|
||||
navigatorKey.currentState!.pushReplacementNamed(routeName);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,53 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class NotificationsService {
|
||||
static GlobalKey<ScaffoldMessengerState> messengerKey = GlobalKey<ScaffoldMessengerState>();
|
||||
|
||||
static showSnackBarError(String message) {
|
||||
final snackBar = SnackBar(
|
||||
backgroundColor: Colors.red.withOpacity(0.9),
|
||||
content: Text(
|
||||
message,
|
||||
style: const TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 20,
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
messengerKey.currentState!
|
||||
..removeCurrentSnackBar()
|
||||
..showSnackBar(snackBar);
|
||||
}
|
||||
|
||||
static showSnackbar(String message) {
|
||||
final snackBar = SnackBar(
|
||||
backgroundColor: Colors.blue.withOpacity(0.9),
|
||||
content: Text(
|
||||
message,
|
||||
style: const TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 20,
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
messengerKey.currentState!
|
||||
..removeCurrentSnackBar()
|
||||
..showSnackBar(snackBar);
|
||||
}
|
||||
|
||||
static showBusyIndicator(BuildContext context) {
|
||||
const AlertDialog dialog = AlertDialog(
|
||||
content: SizedBox(
|
||||
width: 100,
|
||||
height: 100,
|
||||
child: Center(
|
||||
child: CircularProgressIndicator(),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
showDialog(context: context, builder: (_) => dialog);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user