Initial commit: watch-together phases 0-4 + presence hardening, internet-tested
This commit is contained in:
commit
427d851a5b
101 files changed
+11326
No files matched your search
@@ -0,0 +1,49 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:signals/signals_flutter.dart';
|
||||
|
||||
import 'src/screens/connect_screen.dart';
|
||||
import 'src/screens/legacy_session_screen.dart';
|
||||
import 'src/screens/minimal_session_screen.dart';
|
||||
import 'src/screens/nosheet_session_screen.dart';
|
||||
import 'src/screens/session_screen.dart';
|
||||
import 'src/screens/welcome_screen.dart';
|
||||
import 'src/state/session_state.dart';
|
||||
|
||||
bool get useLegacySession =>
|
||||
Platform.environment['SYNC_RELAY_UI'] == 'legacy';
|
||||
|
||||
bool get useMinimalSession =>
|
||||
Platform.environment['SYNC_RELAY_UI'] == 'minimal';
|
||||
|
||||
bool get useNosheetSession =>
|
||||
Platform.environment['SYNC_RELAY_UI'] == 'nosheet';
|
||||
|
||||
class WatchTogetherApp extends StatelessWidget {
|
||||
const WatchTogetherApp({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final session = SessionState.instance;
|
||||
return MaterialApp(
|
||||
title: 'Watch Together',
|
||||
theme: ThemeData.dark(),
|
||||
home: SignalBuilder(
|
||||
builder: (context) {
|
||||
return switch (session.route.value) {
|
||||
AppRoute.welcome => const WelcomeScreen(),
|
||||
AppRoute.connect => const ConnectScreen(),
|
||||
AppRoute.session => useMinimalSession
|
||||
? const MinimalSessionScreen()
|
||||
: useNosheetSession
|
||||
? const NosheetSessionScreen()
|
||||
: useLegacySession
|
||||
? const LegacySessionScreen()
|
||||
: const SessionScreen(),
|
||||
};
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user