- Handy: Chat gleitet federnd über die Chatliste (Liste bleibt aufgebaut, Scrollposition erhalten), beim Zurück wieder hinaus; Liste schon während des Hinausgleitens bedienbar. Mitgliederleiste gleitet herein. - Neue/gesendete Nachrichten ploppen weich auf (nur live, nicht beim Öffnen oder Nachladen), Reaktionen ploppen auf und hüpfen beim Hochzählen, Ungelesen-Zähler hüpft, Scroll-nach-unten-Knopf federt (Handy größer), Antwort-Leiste klappt federnd auf/zu, Senden-Pfeil ploppt, Vollansicht zoomt auf. Alles skaliert mit Einstellung „Animationen“ (0 % = aus). - Fix: Beim Raumwechsel blieben Antwort-Ziel, Auswahl und getippter Text am neuen Raum hängen (Antwort auf Raum A konnte in Raum B rausgehen). Jetzt eigenes Eingabefeld je Raum mit Entwurf im Speicher. - Antwort-Leiste: größeres Schließen-X auf dem Handy. - Tests: test/spring_motion_test.dart, UI-Durchlauf mit Übergängen. Co-Authored-By: Claude Opus 5.5 <[email protected]>
39 lines
1.8 KiB
Dart
39 lines
1.8 KiB
Dart
import 'dart:async';
|
|
|
|
import 'package:flutter/material.dart' hide Visibility;
|
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import 'package:matrix/matrix.dart';
|
|
// SpaceChild wird vom matrix-Paket nicht öffentlich exportiert.
|
|
// ignore: implementation_imports
|
|
import 'package:matrix/src/utils/space_child.dart';
|
|
import 'package:pyramid/core/app_state.dart';
|
|
import 'package:pyramid/core/appearance.dart';
|
|
import 'package:pyramid/core/matrix_client.dart';
|
|
import 'package:pyramid/core/notification_content.dart' show notificationBody;
|
|
import 'package:pyramid/core/theme.dart';
|
|
import 'package:pyramid/features/rooms/rooms_provider.dart';
|
|
import 'package:pyramid/features/call_ui/mini_call_widget.dart';
|
|
import 'package:pyramid/features/call_signaling/call_signaling_service.dart';
|
|
import 'package:pyramid/features/voice_channel/voice_channel_service.dart';
|
|
import 'package:pyramid/features/rooms/user_panel.dart';
|
|
import 'package:pyramid/features/spaces/space_admin_dialog.dart';
|
|
import 'package:pyramid/utils/date_labels.dart';
|
|
import 'package:pyramid/widgets/create_join_dialog.dart';
|
|
import 'package:pyramid/widgets/hover_region.dart';
|
|
import 'package:pyramid/widgets/mxc_image.dart';
|
|
import 'package:pyramid/widgets/new_dm_dialog.dart';
|
|
import 'package:pyramid/widgets/spring_press.dart' show SpringBump;
|
|
|
|
// ─── Helpers ──────────────────────────────────────────────────────────────────
|
|
|
|
|
|
part 'panel/rooms_panel_core.dart';
|
|
part 'panel/rooms_header.dart';
|
|
part 'panel/rooms_space_invite.dart';
|
|
part 'panel/rooms_space_list.dart';
|
|
part 'panel/rooms_list.dart';
|
|
part 'panel/rooms_voice.dart';
|
|
part 'panel/rooms_invite_item.dart';
|
|
part 'panel/rooms_shared.dart';
|
|
part 'panel/rooms_mobile_tile.dart';
|