lanis icon indicating copy to clipboard operation
lanis copied to clipboard

Nachrichten - Rework

Open spezian opened this issue 1 year ago • 9 comments

Die alte Nachrichten ( - Beta-Version) PR will ich nicht für immer zum vergammeln hier lassen, somit wird es jetzt gemacht.

Main TODOs im Code:

  • [x] App Bar stylen
  • [x] Nachrichten Builder neustrukturieren, ist gerade sehr unnötig bloated
  • [x] Lanis-Style Formatting für Nachrichten
  • [x] Bubble und Author Header richtig gestyled
  • [x] Nachrichten mit Halten kopieren
  • [x] DateHeader stylen
  • [x] Rich Text Editor, da Nachrichten eher wie eine schlechtere Version von E-Mails benutzt wird.
    • ich muss ihn noch weiter testen ob er stabil genug ist
  • [x] Konversations Erstell Prozess anpassen
    • Also Erstell-Dialog, direkt zum Rich Text Editor schicken, ...
  • [x] MessageState Style
  • [x] Optimieren, aufräumen, ...
  • [x] Translations

Andere issues:

  • [x] Bubblegröße an die Gerätebreite anpassen.
  • [x] Wenn man eine Nachricht sendet wird immer nur mit MessageState.first gesendet
  • [x] Snackbar bei unerfolgreichen senden.
  • [x] Keine Auswahl an Nachrichtentypen wenn das nicht erlaubt wurde
  • [x] Eigene Datenklassen statt dynamic beim Fetcher
  • [x] Dispose()?
  • [x] Teilnehmer sehen

Potenzielle Performance issues:

  • [x] MessageBuilder zu einem Stateful Widget umwandeln, damit z. B. SetState-Calls nicht alles rebuilden
  • [x] Jedesmal BubbleStyle, BubbleStructure und FormatStyle auszurechnen ist nicht effizent, aber sollte fast gar keine Performance fressen. Trotzdem sollte man es vorher z. B. beim globalen Theme-Init speichern.
    • Hab es jetzt nur bei BubbleStyle gemacht, weil da bringt es glaube auch was.
  • ~LinkedList anstatt eines Arrays?~
    • ~Wenn man eine neue Nachricht sendet muss man immer den voherigen Item überprüfen, also ich weiß ob es dann so viel bringt.~ Bringt nix mehr
  • ~Zur Impeller-Engine wechseln, mache wahrscheinlich ein eigenes Issue dazu.~

spezian avatar Apr 29 '24 21:04 spezian

UI/UX wird bisschen komplexer weil man müsste eine halbwegs gute Messaging-UI bauen. Villt. gibt es schon Packages für sowas

flutter_chat_ui sieht sehr solide aus. Das Example ist wirklich einfach und soweit ich das sehe, kann man über textMessageBuilder auch eigene sachen sehr gut einbauen (hier vor allem markup)

alessioC42 avatar Apr 30 '24 14:04 alessioC42

Ich denke es wäre hier super hilfreich, wenn anstelle von dynamic eigene klassen für alles erstellt werden. Das hat mir bei den substituzions sehr geholfen und ist sehr viel cleaner.

alessioC42 avatar May 04 '24 07:05 alessioC42

Ja das ist eine gute Idee

spezian avatar May 04 '24 14:05 spezian

Das ist schon sehr groß geworden. 1.000 Zeilen an neuen Code.

spezian avatar Jun 23 '24 23:06 spezian

Ich glaube das ist jetzt endlich ready. Ich hoffe ich habe nichts vergessen. overview.dart ist jetzt halt bissl messy (war schon davor), aber das wird mal wann anders aufgeräumt.

spezian avatar Jul 18 '24 18:07 spezian

Ich brauche vlt ne weile mit dem durchschauen ^^ image Habe gerade wegen bewerbungen bissel was am hut. Drängt ja aber auch nicht wegen ferien

alessioC42 avatar Jul 18 '24 19:07 alessioC42

I wanted to do the overview thing later in a separate PR where I also rework it but I'll look into it.

The scroll to bottom FAB doesn't show itself directly, only if I scrolled down; I'll look into that. Maybe starting at the bottom is better and then you have a button which brings you to the top or the chat is reversed (nah that would be weird)?

Und soll ich jetzt Englisch oder Deutsch hier auf Github benutzen, weil irgendwie wird das immer herumgeswitcht.

spezian avatar Jul 30 '24 19:07 spezian

So now the UI needs to be adjusted bc the dialogues were just put in a Scaffold without really changing them and exceptions.

spezian avatar Jul 30 '24 22:07 spezian

I think it's ready. After that the overview needs to be cleaned and maybe then I can do experimental ideas like a dashboard?

spezian avatar Aug 02 '24 20:08 spezian