- Player + VideoController per session; Reload video (Ctrl+R) and a frozen-picture watchdog that reloads automatically. - Shortcuts no longer fire while typing; empty swap disabled; hwdec setting/env actually applied. - Idle unready measured from real inactivity; cancellable reconnects and setup; ready restored from server state; kicked/failed host stops its server; graceful leave on window close; no URLs with keys in display names. - Welcome + connect screens replaced by one Home screen with Join and Host cards, recent servers, Settings, Integrations and About. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
29 lines
763 B
Dart
29 lines
763 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:signals/signals_flutter.dart';
|
|
|
|
import 'src/screens/home/home_screen.dart';
|
|
import 'src/screens/home/ui.dart';
|
|
import 'src/screens/session_screen.dart';
|
|
import 'src/state/session_state.dart';
|
|
|
|
class WatchTogetherApp extends StatelessWidget {
|
|
const WatchTogetherApp({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
final session = SessionState.instance;
|
|
return MaterialApp(
|
|
title: appName,
|
|
theme: ThemeData.dark(),
|
|
home: SignalBuilder(
|
|
builder: (context) {
|
|
return switch (session.route.value) {
|
|
AppRoute.home => const HomeScreen(),
|
|
AppRoute.session => const SessionScreen(),
|
|
};
|
|
},
|
|
),
|
|
);
|
|
}
|
|
}
|