Wenn ich mich recht erinnere, erleichterte der zusätzliche Wrapper die Ausrichtung des Titels am Themainhalt, da ich die kombinierte Breite von .header-contents__toggle-and-logo auf var(--d-sidebar-width) setzen kann, und diese ist unabhängig vom Inhalt genauso breit wie die Seitenleiste.
Ohne den zusätzlichen Wrapper ist das Layout machbar… aber mit zwei Grid-Spalten kann ich mich nicht auf eine einzige Breite für beide verlassen.
Ich muss davon ausgehen, dass der Seitenleisten-Umschalter immer eine statische Breite hat und dann die maximale Logo-Breite darauf basierend berechnen. Das funktioniert, aber ich erinnere mich, dass es anfälliger war… Ich habe mir das schon länger nicht mehr angesehen, aber vielleicht ist es einen weiteren Versuch wert ![]()
Zurück dazu… Ich kann verstehen, warum es mit einer Überschreibung gemacht wurde. Ohne sie muss man das Titel- oder Header-Icons-Widget dekorieren, sodass man Inhalt innerhalb von .title oder .panel hinzufügt, was die Zentrierung der Suchleiste erschwert… und CSS erfordert, das das Layout anfälliger macht und die Kompatibilität mit anderen Header-Komponenten erschwert. Idealerweise sollte der Inhalt der Suchleiste außerhalb dieser Divs liegen, aber es gibt nichts, woran man sich halten könnte, um das zu tun.
Wir können jetzt einen Plugin-Outlet zu Widgets hinzufügen, das könnte helfen…
Dies würde es ermöglichen, Inhalt vor dem .panel-Div hinzuzufügen, anstatt ihn mit decorateWidget hineinzufügen. In diesem Fall könnte die Template-Überschreibung aus der Header-Suchkomponente entfernt werden und ein neuer Connector kann hinzugefügt werden zu:
javascripts/discourse/connectors/before-header-panel
welcher enthalten könnte
<MountWidget @widget="search-banner" />
Das Hinzufügen eines Plugin-Outlets zu einem Widget, um dann ein Widget zu einem Plugin-Outlet hinzuzufügen, erscheint jedoch etwas umständlich… @david/@cvx wisst ihr, ob das schlecht für die Leistung wäre oder andere Probleme verursachen würde?

