Skip to content

🌐 Diese Seite wurde noch nicht ins Deutsche übersetzt. Portugiesische (BR) Referenz wird angezeigt. Hilf bei der Übersetzung.

Marquee (Letreiro digital)

App de letreiro digital pra texto animado em tela cheia. Casos típicos: avisos em vitrine, recepção de evento, "voltamos em 5 min" num café, banner motivacional em monitor secundário, prompt pra chamar alguém num escritório aberto.

Marquee em modo edição

O que faz

  • Escreve um texto, escolhe efeito de animação, cor de fundo, cor do texto, velocidade
  • Modo fullscreen com 1 tecla (F ou botão )
  • Funciona em qualquer monitor — só arraste a janela pra outra tela e fullscreen

Efeitos disponíveis

EfeitoComportamento
Scroll horizontalTexto desliza da direita pra esquerda (letreiro clássico)
Scroll verticalTexto sobe (crédito de filme)
Fade in/outTexto pulsa centralizado
BounceTexto pula de canto a canto
GlowPulsa neon, ideal pra fundo preto
WaveCaracteres ondulam (efeito retro)
StaticTexto parado (banner simples)

Cores e fundo

  • Cor do texto: HEX picker
  • Cor de fundo: HEX picker
  • Predefinições (toggle): preto/branco, preto/neon verde, preto/amarelo (placas de aviso), vermelho/branco (emergência), azul/branco (corporativo)
  • Gradient toggle: fundo vira gradient suave (3 presets)

Velocidade

Slider de 0.5× a 5×. Default 1× (~10s pra atravessar texto de 30 chars).

Modo fullscreen

Clica no topo direito ou pressiona F. Sai com Esc.

Em fullscreen:

  • Wallpaper, dock, menubar somem
  • Window controls (X, _, ▢) somem
  • Cursor esconde após 3s sem mover

Boa prática mobile: travar orientação. Em landscape, texto longo cabe mais.

Mobile

Funciona em smartphone/tablet. Botão de drawer mobile no topo expõe os controles. Em fullscreen mobile, swipe pra cima na borda inferior pra trazer controles de volta.

Anti-pattern resolvido (2026-04-26)

Versão anterior aplicava touch-action: none em <html> pra capturar gestos custom de fullscreen. Bug: se o app fosse fechado por swipe-down OS-level (não pelo botão), a classe ficava presa globalmente e quebrava swipe-to-close de todos os apps subsequentes até reload da página.

Fix: agora usa Fullscreen API nativa do browser (element.requestFullscreen()) que se auto-resolve no destroy. Sem classes globais em <html>.

Atalhos teclado

TeclaAção
FToggle fullscreen
EscSair de fullscreen
SpacePause/resume animação
/ Aumentar/diminuir velocidade
/ Trocar efeito

Limitações

  • Não salva presets ainda (texto se perde ao fechar)
  • Não tem playlist (rotacionar entre 5 mensagens)
  • Sem som
  • Sem importar imagens (só texto)

Essas estão no roadmap pra v2 quando demanda justificar.

Casos de uso reais

SetupConfiguração
Vitrine "voltamos em 5min"Fundo preto, texto amarelo, scroll horizontal lento (0.7×)
Recepção de evento "Welcome to ROADSHOW 2026"Glow neon verde, static
Ponto de mostra com nome do palestrante atualGradient azul-corporativo, fade in/out 2s
"Sala em uso" porta de reuniãoVermelho/branco, bounce
Banner motivacional desktop secundárioWave + fundo gradient, 1× velocidade

Referências

  • App registrado em src/config/apps.js (procurar por id: 'marquee')
  • Componente: src/components/roqueos/apps/ROSMarquee.vue
  • Rule de regression .claude/rules/10-ui-patterns.md seção "ANTIPADRÃO: classes globais em <html>/<body>"