2つのコンポーネントに関する競合する宣言:フル幅レイアウトとヘッダー検索

もし私の記憶が正しければ、余分なラッパーは、タイトルをトピックコンテンツに揃えやすくします。なぜなら、結合された .header-contents__toggle-and-logo の幅を var(--d-sidebar-width) に設定でき、これはコンテンツに関係なくサイドバーと同じ幅になるからです。

余分なラッパーがない場合、レイアウトは機能しますが、2つのグリッド列では単一の幅に依存できません。

サイドバーのトグルは常に固定幅であると仮定し、それに基づいて最大ロゴ幅を計算する必要があります。それは機能しますが、より壊れやすいものだったと記憶しています…しばらくこれを見ていませんが、もう一度試す価値があるかもしれません :thinking:

これに戻ると…オーバーライドでなぜそうされたのかがわかります。それなしでは、タイトルまたはヘッダーアイコンウィジェットを装飾する必要があるため、.title または .panel 内にコンテンツを追加することになり、検索バーのセンタリングがより困難になります…そして、レイアウトをより壊れやすくし、他のヘッダーコンポーネントとの互換性を低下させるCSSが必要になります。理想的には、検索バーのコンテンツはこれらのdivの外にあるべきですが、それをフックするものがありません。

ウィジェットにプラグインアウトレットを追加できるようになったため、それは役立つかもしれません…

これにより、.panel div の内側ではなく、その前方にコンテンツを追加できるようになります(decorateWidget を使用する場合)。この場合、ヘッダー検索コンポーネントからテンプレートオーバーライドを削除し、新しいコネクタを追加できます。

javascripts/discourse/connectors/before-header-panel

これには以下が含まれる可能性があります

<MountWidget @widget="search-banner" />

ウィジェットにプラグインアウトレットを追加して、プラグインアウトレットにウィジェットを追加できるようにするのは少し複雑なように思えます… @david/@cvx パフォーマンスに悪影響があるか、その他の問題が発生するかどうかご存知ですか?