Alguma forma de restringir um componente de tema apenas para moderadores?

Desenvolvi um componente de tema especificamente para nossos moderadores. Este componente adiciona um modal que lembra os moderadores de considerar a suspensão de um usuário após o tratamento de uma flag. Coloquei este componente em javascripts/discourse/admin/components/modal/remove-post.gjs, e no topo, ele importa AdminUser com import AdminUser from "admin/models/admin-user";.

Para os moderadores, tudo funciona perfeitamente. No entanto, usuários regulares estão enfrentando problemas. O Discourse ainda tenta carregar este componente para todos os usuários, e como usuários regulares não carregam nenhum módulo admin/**, isso resulta no seguinte erro:

Error: Could not find module `admin/models/admin-user`

Idealmente, eu gostaria que este subcomponente (ou até mesmo apenas esta importação) fosse carregado apenas para moderadores e administradores. Existe uma maneira oficialmente suportada de garantir que um componente Glimmer dentro de um componente de tema seja carregado apenas para a equipe (moderadores/administradores) no Discourse, para que usuários regulares nunca encontrem erros de módulo ausente para importações específicas de admin?

2 curtidas

No momento, a melhor estratégia é usar optionalRequire da seguinte forma:

Estamos trabalhando muito em nossos sistemas de build de JS no momento, então é provável que isso precise mudar no futuro. Se isso acontecer, haverá uma mensagem de depreciação com instruções para atualização.

4 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.