refactor: Gott-Datei rooms_panel.dart in 8 Dateien aufgeteilt
Gleiche Technik wie bei settings_modal.dart/message_group.dart: reine Verschiebung per Dart part/part-of, keine Logikänderung. rooms_panel.dart schrumpft von 2555 auf 31 Zeilen (nur noch Bibliothekskopf). Verifiziert per automatisiertem Blockvergleich gegen das Original und flutter analyze. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+39
@@ -13,6 +13,45 @@ Schritt (und beim Abbruch mitten im Schritt den Zwischenstand). Format:
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-03 – M2: Gott-Datei `rooms_panel.dart` aufgeteilt (8 Dateien)
|
||||
|
||||
**Erledigt:** Gleiche `part`/`part of`-Technik ein drittes Mal angewandt:
|
||||
`features/rooms/rooms_panel.dart` (2555 Zeilen, 37 Klassen/Enums + 4 lose
|
||||
Top-Level-Helfer) aufgeteilt in 8 Dateien unter `features/rooms/panel/`:
|
||||
`rooms_panel_core.dart` (`RoomsPanel`, `_RoomsPanelState` + die
|
||||
Top-Level-Helfer `_kVoiceRoomType`/`_kSpaceBannerType`/`_isVoiceRoom`/
|
||||
`_compareSpaceChildren`, die von mehreren anderen Teilen genutzt werden –
|
||||
deshalb bewusst NICHT in ein eigenes „shared"-File, sondern beim Hauptwidget
|
||||
belassen, wo sie ursprünglich standen), `rooms_header.dart` (`_Header`,
|
||||
`_MenuRow`, `_NotificationsButton`, `_FilterInput`, `_SpaceMenuItem`),
|
||||
`rooms_space_invite.dart` (`_SpaceInviteView`+State), `rooms_space_list.dart`
|
||||
(`_SpaceRoomsList`+State, `_JoinableRoom`+Item+State, `_CategoryHeader`+State),
|
||||
`rooms_list.dart` (`_RoomsList`, `_SectionHeader`+State, `_RoomItem`+State,
|
||||
`_DraggableRoomItem`+State), `rooms_voice.dart` (`_VoiceParticipantList`,
|
||||
`_Initials`, `_VoiceBarBtn`+State), `rooms_invite_item.dart`
|
||||
(`_InviteItem`+State), `rooms_shared.dart` (`_DmAvatar`+State,
|
||||
`_InitialCircle`, `_RoomMenuBtn`+State, `_HoverAction`+State, `_UnreadBadge`).
|
||||
`rooms_panel.dart` selbst: nur noch Bibliothekskopf (Imports + 8
|
||||
`part`-Direktiven, 31 Zeilen).
|
||||
|
||||
Verifikation wie bei den beiden vorigen Umbauten: automatisierte
|
||||
Klammer-Zählung für Blockgrenzen, alle 37 Blöcke + 4 Helfer wortwörtlich in
|
||||
den neuen Dateien wiedergefunden, Anzahl `class`/`enum` (37) und
|
||||
`Widget build(`-Methoden (22) vorher/nachher identisch, `flutter analyze`
|
||||
unverändert bei 1 bekanntem Hinweis. `dart format` wieder bewusst nicht
|
||||
gelaufen.
|
||||
|
||||
**Offen/Nächster Schritt:** UNGETESTET (Pi). Nächster Windows-Lauf: Raumliste
|
||||
prüfen – Space wechseln, Raum beitreten/verlassen, Voice-Channel-Teilnehmerliste
|
||||
in der Raumliste, Einladung annehmen/ablehnen, Drag&Drop zum Umsortieren,
|
||||
Ungelesen-Badge, DM-Avatare. Danach `space_admin_dialog.dart` (2278 Zeilen)
|
||||
oder `chat_view.dart` (2116 Zeilen) nach demselben Muster – damit wären alle
|
||||
in der Ist-Analyse gefundenen Gott-Dateien abgearbeitet.
|
||||
|
||||
**Stolperfallen:** Keine neuen.
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-03 – M2: Gott-Datei `message_group.dart` aufgeteilt (7 Dateien)
|
||||
|
||||
**Erledigt:** Gleiche Technik wie beim `settings_modal.dart`-Umbau direkt
|
||||
|
||||
Reference in New Issue
Block a user