mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-14 08:53:11 +00:00
436 seeded Praças (municipality-based; per-TSE-zone in Salvador/Camaçari) become the operational unit; roles renamed to coordinator/advisor/leader with advisors scoped to administered Praças. Leadership is one record per person across many Praças/organizations; vote pledges split leader-declared vs staff-estimated (estimates never serialized to leaders). Adds organizations, demand workflow with staff-only cost/receipts, action-plan results with deputy presence, manual political trend, multi-candidate comparison and the diverging red/white/blue map mode. Migration 20260721_020109_remodel_plazas deliberately resets the campaign vertical in production (public site untouched); test suite ported to the new model (unit 187 / int 306 / e2e 9 green).
34 lines
1.5 KiB
TypeScript
34 lines
1.5 KiB
TypeScript
/** Client-safe copy and shared auth UI class tokens (not `server-only`). */
|
|
|
|
export const CAMPAIGN_LEADERSHIP_PHONE_ACCESS_HINT =
|
|
'Se você acessa só com celular, peça um novo convite ao coordenador.'
|
|
|
|
export const CAMPAIGN_LEADERSHIP_LOGIN_RECOVERY_HINT =
|
|
'Conta só com celular? Peça um novo convite ao coordenador — a recuperação por e-mail não funciona sem e-mail cadastrado.'
|
|
|
|
export const CAMPAIGN_FIRST_ACCESS_HINT =
|
|
'Peça um convite no WhatsApp ao assessor da sua Praça.'
|
|
|
|
export const CAMPAIGN_LOGIN_SUBTITLE = 'Use o e-mail ou o celular cadastrado na sua conta.'
|
|
|
|
/** Shown when Payload locks the account after maxLoginAttempts (default: 5 / 10 min). */
|
|
export const CAMPAIGN_ACCOUNT_LOCKED_MESSAGE =
|
|
'Conta temporariamente bloqueada após várias tentativas. Aguarde alguns minutos e tente de novo.'
|
|
|
|
export const CAMPAIGN_LOGIN_INVALID_CREDENTIALS_MESSAGE = 'E-mail, celular ou senha inválidos.'
|
|
|
|
/**
|
|
* Card titles on public campaign auth screens (login / forgot / reset).
|
|
* `!text-center` beats `[data-theme='campaign'] h1 { text-align: left }` (app shell).
|
|
*/
|
|
export const campaignAuthHeadingClassName =
|
|
'!text-center text-balance text-xl leading-snug font-medium'
|
|
|
|
export const campaignAuthDescriptionClassName = 'leading-snug text-pretty'
|
|
|
|
export const campaignAuthMutedTextClassName =
|
|
'text-sm text-muted-foreground leading-snug text-pretty'
|
|
|
|
export const campaignAuthTextLinkClassName = 'text-primary underline-offset-4 hover:underline'
|
|
|
|
export const campaignAuthCardHeaderClassName = 'gap-2 text-center'
|