CH-J SM Mobileszerverkezelés SSH felett
Menü
Közzétett forrás

CH-J SM Mobile

Könyvtárak és fájlok böngészése egy adott alkalmazás kiadásához.

Letöltés forrás ZIP
CH-J / SM Mobile 134 fájlok
sm-mobile-20261016T050549Z-3678f2a05fa9 Hozzáadva: · Beépített:
Fájlok
main.dart Hozzáadva: Nem rögzített dátum 3,1 KB · 98 sorok
Fájl letöltése
1import 'dart:async';
2import 'package:flutter/material.dart';
3import 'core/app_controller.dart';
4import 'l10n/strings.dart';
5import 'services/secure_store.dart';
6import 'services/local_files.dart';
7import 'ui/gates.dart';
8import 'ui/workspace.dart';
10void main() {
11 WidgetsFlutterBinding.ensureInitialized();
12 unawaited(purgeTransferCache().catchError((Object _) {}));
13 final controller = AppController(DeviceStore.normal);
14 runApp(SmMobileApp(controller));
15 controller.initialize();
18class SmMobileApp extends StatefulWidget {
19 final AppController controller;
20 const SmMobileApp(this.controller, {super.key});
21 @override
22 State<SmMobileApp> createState() => _SmMobileAppState();
25class _SmMobileAppState extends State<SmMobileApp> {
26 final navigator = GlobalKey<NavigatorState>();
27 @override
28 void initState() {
29 super.initState();
30 widget.controller.onLocked = () {
31 unawaited(purgeTransferCache().catchError((Object _) {}));
32 navigator.currentState?.popUntil((r) => r.isFirst);
33 };
34 }
36 @override
37 Widget build(BuildContext context) => ListenableBuilder(
38 listenable: widget.controller,
39 builder: (_, _) {
40 final c = widget.controller;
41 ThemeData theme(Brightness brightness) => ThemeData(
42 useMaterial3: true,
43 brightness: brightness,
44 colorScheme: ColorScheme.fromSeed(
45 seedColor: const Color(0xff42a5ff),
46 brightness: brightness,
47 ),
48 scaffoldBackgroundColor: brightness == Brightness.dark
49 ? const Color(0xff07111f)
50 : const Color(0xfff4f7fb),
51 inputDecorationTheme: const InputDecorationTheme(
52 border: OutlineInputBorder(),
53 filled: true,
54 ),
55 cardTheme: const CardThemeData(
56 margin: EdgeInsets.symmetric(vertical: 5),
57 elevation: 0,
58 ),
59 );
60 return MaterialApp(
61 navigatorKey: navigator,
62 title: 'SM Mobile',
63 debugShowCheckedModeBanner: false,
64 locale: c.locale,
65 supportedLocales: AppLocalizations.supportedLocales,
66 localizationsDelegates: AppLocalizations.localizationsDelegates,
67 theme: theme(Brightness.light),
68 darkTheme: theme(Brightness.dark),
69 themeMode: c.theme,
70 builder: (context, child) => Listener(
71 onPointerDown: (_) => c.activity(),
72 onPointerMove: (_) => c.activity(),
73 child: child!,
74 ),
75 home: !c.ready
76 ? const Scaffold(body: Center(child: CircularProgressIndicator()))
77 : c.startupError != null
78 ? Builder(
79 builder: (context) => Scaffold(
80 body: SafeArea(
81 child: Center(
82 child: Padding(
83 padding: const EdgeInsets.all(24),
84 child: Text(context.tr(c.startupError!)),
85 ),
86 ),
87 ),
88 ),
89 )
90 : !c.accepted
91 ? Onboarding(c)
92 : !c.vault.unlocked
93 ? VaultGate(c)
94 : Workspace(c),
95 );
96 },
97 );
SHA-256e012cbb85dc4c2da763d1866318f679bc4fbb79d127c773857808b42422289a2

CH-J Proprietary Software License 1.14 · A forrás a CH-J Proprietary Software License 1.14 alatt található. Rendelkezése nem változtatja meg a licenc feltételeit, és nem ad további jogokat.

Archive SHA-256c486a807e4828998b9c57ab0f2e760f7980b31965fe118e89d3e1a5a2b65be65