Abas, ações e configuração¶
Aba na reunião¶
meetingTabs cria uma aba com o seu título, em vez de uma aba genérica “Plugins”. Ela recebe o contexto da reunião selecionada e só lê dados autorizados.
Ação no sidebar direito¶
sidebarActions adiciona um widget de ação que abre sua interface em modal. Use-o para preparar uma ata, gerar um plano ou revisar um resultado.
Configuração¶
Em Meus plugins, a engrenagem abre configurationUrl em modal. Essa superfície configura preferências, não executa tarefas de reunião. O contexto tem surface: "configuration" e meetingId: "".
elo.onContext(async context => {
if (context.surface !== 'configuration') return;
const { user } = await elo.request('identity:read');
const { settings } = await elo.request('settings:read');
renderSettings(user, settings);
});
// No envio explícito do formulário:
await elo.request('settings:write', { value: { title: 'Ata', includeEvidence: true } });
Preferências são isoladas por usuário/instalação e limitadas a 16 KB de JSON serializado. Não use esse armazenamento para senhas de provedores; seu backend deve gerenciar credenciais externas.
UX esperada¶
Use layout responsivo, contraste legível, ícones com nomes acessíveis e tooltips. Bloqueie envios duplicados e mostre spinner no botão. Use toasts com fechamento e duração de 5 segundos. Informe sobre rascunhos ainda não salvos ao fechar a interface. Ao trocar de reunião, cancele requisições e descarte respostas do contexto anterior.