fix(app): restore playback and state lifecycle contracts

This commit is contained in:
edde746
2026-07-25 16:16:04 +02:00
parent 73f4a3e055
commit 4af77f4696
58 changed files with 2448 additions and 363 deletions
@@ -73,9 +73,16 @@ class _SessionIndicator extends StatelessWidget {
@override
Widget build(BuildContext context) {
final semanticValue = [
'${t.watchTogether.participants}: $participantCount',
if (isHost) t.watchTogether.youAreHost,
if (isSyncing) t.watchTogether.syncing,
].join(', ');
return FocusableWrapper(
onSelect: onTap,
semanticLabel: t.watchTogether.openSessionControls,
semanticValue: semanticValue,
descendantsAreFocusable: false,
borderRadius: 20,
useBackgroundFocus: true,
@@ -173,6 +180,7 @@ class _SessionMenuSheet extends StatelessWidget {
FocusableWrapper(
onSelect: () => _copySessionCode(context, provider.sessionId!),
semanticLabel: t.watchTogether.copySessionCode,
semanticValue: provider.sessionId!,
descendantsAreFocusable: false,
borderRadius: 8,
useBackgroundFocus: true,