Declaraciones contradictorias en dos componentes: diseño de ancho completo y búsqueda de encabezado

Si mal no recuerdo, el envoltorio adicional facilita la alineación del título con el contenido del tema porque puedo establecer el ancho combinado de .header-contents__toggle-and-logo en var(--d-sidebar-width), y tiene el mismo ancho que la barra lateral independientemente del contenido.

Sin el envoltorio adicional, el diseño es factible… pero con dos columnas de cuadrícula no puedo depender de un solo ancho para ambas.

Tengo que asumir que el alternador de la barra lateral siempre tendrá un ancho estático y luego calcular el ancho máximo del logotipo en función de eso. Eso funciona, pero recuerdo que era más frágil… No he mirado esto en mucho tiempo, pero tal vez valga la pena intentarlo de nuevo :thinking:

Volviendo a esto… puedo ver por qué se hizo con una anulación. Sin ella, tienes que decorar el widget de título o iconos de cabecera, por lo que terminas añadiendo contenido dentro de .title o .panel, lo que dificulta la alineación central de la barra de búsqueda… y requiere CSS que hace que el diseño sea más frágil y dificulta la compatibilidad con otros componentes de la cabecera. Idealmente, el contenido de la barra de búsqueda debería estar fuera de estos divs, pero no hay nada a lo que engancharse para hacerlo.

Ahora podemos añadir un plugin outlet a los widgets, así que eso podría ayudar…

Esto permitiría añadir contenido antes del div .panel, en lugar de dentro de él con decorateWidget. En este caso, la anulación de la plantilla podría eliminarse del componente header-search, y se puede añadir un nuevo conector a:

javascripts/discourse/connectors/before-header-panel

que podría contener

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

Sin embargo, añadir un plugin outlet a un widget para poder añadir un widget a un plugin outlet parece un poco complicado… @david/@cvx, ¿saben si esto sería malo para el rendimiento o causaría algún otro problema?