Chat-Seitenspalte

:information_source: Zusammenfassung Öffnet sich automatisch und zeigt den Chat wie eine Seitenleiste an, solange Platz vorhanden ist, und nutzt die Höhe aus
:hammer_and_wrench: Repository GitHub - Arkshine/discourse-chat-sidebar
:question: Installationsanleitung So installieren Sie ein Theme oder eine Theme-Komponente
:open_book: Neu bei Discourse Themes? Anfängerleitfaden zur Verwendung von Discourse Themes

Install this theme component

Credits: @Alon1 (gesponserte Anfrage)[1]

Diese Theme-Komponente zielt darauf ab, sich automatisch zu öffnen und den Chat wie eine Seitenleiste anzuzeigen, solange Platz vorhanden ist, und die Höhe auszunutzen.

  • Unterstützung für die Größenänderung von Fenstern
  • Unterstützung für den Komponisten
  • Kann auf beiden Seiten entweder am Inhalt oder am Fenster befestigt werden
  • Der Benutzer kann die Position wählen (gespeichert im lokalen Speicher des Browsers)
  • Kann zum ursprünglichen Chat-Zustand zurückkehren, wenn er zuvor geöffnet war
  • Die ursprünglichen Benutzereinstellungen des Chats bleiben unberührt
  • Teilweise Theme-Unterstützung (die meisten beliebten)

Dies sollte bei den meisten Themes funktionieren.
Lassen Sie mich wissen, wenn Optionen fehlen oder etwas bei einem Theme nicht funktioniert! :smile:

Einstellungen

Name Standard Beschreibung
breakpoint auto Breakpoint in px, bei dem die Chat-Seitenleiste erscheint.
Setzen Sie auf auto, um die Standardbreite der Seitenleiste und des Inhalts als natürlichen Breakpoint zu verwenden (empfohlen).
width 400px Breite der Chat-Seitenleiste.
position [2] right Position der Chat-Seitenleiste.

left: An der linken Seite des Inhalts befestigen
right: An der rechten Seite des Inhalts befestigen
outside-left: An der linken Seite des Fensters befestigen
outside-right: An der rechten Seite des Fensters befestigen
theme_style Wenn möglich, verwenden Sie den aktuellen Theme-Stil für diese chat sidebar position.
Nur für die meisten beliebten Themes verfügbar.
Dies ist keine zuverlässige Einstellung (der Theme-Name kann geändert werden).
Deaktivieren, um den Standard-Theme-Stil zu verwenden.
allow_user_preference[3] Benutzern erlauben, ihre Chat-Seitenleisten-Einstellungen festzulegen.
Hinweis: Dies wird im lokalen Speicher des Browsers des Benutzers gespeichert.

Verfügbare Werte:
position: Benutzern erlauben, die Position der Chat-Seitenleiste festzulegen

Todo

  • Tests
  • Sanftere Übergänge
  • Mehr Benutzereinstellungen?

Dev Notes

Anfangs habe ich versucht, die ChatDrawer-Komponente in einen anderen Auslass einzufügen, damit sie leichter zu manipulieren und im Fluss zu halten ist. Leider kann die ursprüngliche Komponente nicht vollständig unterdrückt werden (ich denke an die Ereignisse). Zumindest konnte ich keine Möglichkeit finden, sie zu überschreiben.

Das lässt mir keine andere Wahl, als den harten JS-Weg zu gehen, auf Kosten von etwas mehr CPU-Auslastung, aber weniger aufdringlich (obwohl die manuelle Größenänderung nur manchmal stattfindet).


  1. Wenn Sie interessiert sind, Alons Anwendungsfall hier. ↩︎

  2. Stellen Sie sicher, dass Sie die Seite aktualisieren. ↩︎

  3. Wichtig: Diese Einstellung verwendet die neueste API, um das Symbol in der Kopfzeile anzuzeigen, und erfordert die neueste Discourse-Version. ↩︎

24 „Gefällt mir“

Gut gemacht! :clap: :slight_smile:

Unterstützt dies Discourse Bars 🍻 🍸 (a sidebar framework) , da es schön wäre, es mit anderen Seitenleisten-Widgets zu kombinieren?

7 „Gefällt mir“

Leider kann es Discourse Bars derzeit nicht unterstützen.

Die Komponente verwendet die ursprüngliche Chat-Schublade, und die Positionierung erfolgt manuell.
Solange wir die ursprüngliche <ChatDrawer />-Komponente nicht dort verwenden/verschieben können, wo wir wollen, wäre das schwierig, glaube ich. Ich stimme aber zu; das wäre großartig! :slight_smile:

Zumindest kann es neben der Seitenleiste der Bar angezeigt werden

Meine Komponente verwendet das Element #main-outlet-wrapper als Referenz, sodass alles darin einwandfrei funktioniert.

4 „Gefällt mir“

OMG, das ist großartig!

3 „Gefällt mir“

Funktioniert dies nur, wenn die Seitenleiste eingeklappt ist? Mir ist aufgefallen, dass die Chat-Seitenleiste nicht angezeigt wird, wenn ich meine Seitenleiste nicht einklappe.

1 „Gefällt mir“

In der aktuellen Version wird der Hauptinhalt nicht verkleinert, wenn nicht genügend Platz für die Chat-Seitenleiste vorhanden ist. Das ist so gewollt.

Vielleicht gibt es Situationen, in denen dies nützlich sein kann. Es macht mir nichts aus, eine Option für den Benutzer hinzuzufügen, um dies zu ermöglichen. :thinking:

1 „Gefällt mir“

Okay, ich verstehe, danke für die Komponente, sie funktioniert ziemlich gut.

1 „Gefällt mir“

Ich glaube, diese Komponente funktioniert seit \3.6.0.beta2-latest\\ nicht mehr? Egal, was ich auswähle, es ist immer auf der rechten Seite wie das Standarderlebnis… Funktioniert es bei jemandem?

Diese Komponente funktioniert jetzt wie erwartet! Ich habe die meiste Zeit auf dem Bildschirm meines MacBook-Benutzers getestet, und wenn die Komponente nicht genügend Platz hat, wird nichts angezeigt, was wahrscheinlich der Grund ist, warum ich verwirrt war. Das funktioniert jetzt perfekt.

2 „Gefällt mir“

Ich habe noch nicht getestet, aber danke für den Bericht, ich werde es bald überprüfen!

2 „Gefällt mir“

Super Komponente :+1: Das ist eine sehr gute Idee

Ich habe einen PR erstellt, um die bekannten Veralterungen zu beheben. :+1:

Danke an @DevTeVe fürs Testen!

4 „Gefällt mir“

Vielen Dank, dass Sie sich so sehr bemüht haben, mir zu helfen :heart: !

Ich habe offline mit @Arkshine gesprochen, und da ich ein paar Vorschläge hatte, haben wir beschlossen, dass dies ein besserer Ort ist, um sie zu hinterlassen!

  1. Größenveränderbares Chatfenster (Breite und Höhe)
  2. Erlauben Sie, dass es immer noch schwebend ist, auch wenn es den Text auf dem Bildschirm verdeckt.
  3. Es wäre großartig, wenn die Breite auch automatisch wäre; auf diese Weise würde es immer einen Weg finden, sich anzupassen, auch wenn es klein aussieht, und in den Einstellungen (nicht standardmäßig) hätten wir etwas wie “min px” und eine Warnung, die besagt: “Wenn gesetzt, wird der Chat auf den Standard zurückgesetzt, wenn er nicht mindestens xxx beträgt.”
2 „Gefällt mir“