Opção para ocultar categorias de 3º nível na página inicial de categorias sem perder o layout

Utilizamos uma estrutura de categorias profunda, com dois níveis (todas as bibliotecas públicas da nossa cidade com suas respectivas filiais, mais uma biblioteca central com suas próprias categorias de nível superior). Recentemente, precisamos introduzir um terceiro nível de aninhamento em alguns ramos de categorias.

Assim que qualquer categoria na árvore possui uma categoria neta, a página inicial de categorias altera seu modo de renderização: em vez da grade compacta de caixas (categoria pai com seus filhos diretos listados dentro), todas as categorias são renderizadas como uma lista longa e de coluna única. Isso torna a página inicial extremamente longa e difícil de ser navegada por nossos ~1.200 usuários da equipe.

Parece que isso é governado pela propriedade isGrandParent, descrita neste tópico relacionado: When you add an additional nesting level, all categories, including child categories, are displayed on the categories page

O que gostaríamos

Nossa opção preferida: uma maneira de manter o layout padrão de “caixas” na página inicial, mesmo quando uma categoria possui um terceiro nível de aninhamento — por exemplo, simplesmente não exibindo as categorias netas na página inicial (elas ainda seriam acessíveis via página da categoria pai).

Alternativamente, uma visão nativa expansível/recolhível para categorias com netas diretamente na página inicial de categorias, para que os usuários possam expandir apenas os ramos de que precisam, em vez de tudo ser listado de forma plana.

Por que estamos solicitando uma solução nativa/oficial

Estamos cientes de que existem soluções alternativas usando componentes de tema/CSS ou JS (por exemplo, sobrescrevendo isGrandParent via modifyClass) discutidas no tópico antigo vinculado acima. Preferiríamos não seguir esse caminho: não temos profunda expertise em front-end internamente e estamos preocupados com efeitos colaterais inesperados ou quebras em futuras atualizações do Discourse se sobrescrevermos a lógica de renderização central por conta própria. Uma configuração suportada ou opção oficial seria muito mais segura para mantermos a longo prazo.

Estamos cientes de que o Discourse não recomenda oficialmente aninhamento profundo, mas para nossa estrutura organizacional (múltiplas instituições, cada uma com vários locais físicos, cada um precisando de seu próprio espaço) isso não é opcional para nós.

Uma maneira suportada de controlar a exibição da página inicial nesses casos ajudaria muito e temos certeza de que, desde 2021, outras organizações também podem ter a necessidade de um terceiro nível oculto?

Capturas de tela anexadas: nosso layout atual de página inicial de dois níveis

e como ele se quebra atualmente assim que um terceiro nível é introduzido.

1 curtida