mirror of
https://github.com/fsolla/teqo.git
synced 2026-11-14 08:53:11 +00:00
Lista publicados-only com capas 9:16, detalhe com player 9:16 e painel de downloads (vídeo sem áudio primário; com áudio, mp3 e .srt quando existem; transcrição em texto) e kill switch reversível: despublicar tira da lista e bloqueia a mídia (C193 decision B), republicar reativa e re-carimba publishedAt. Fiação: gate communicationCatalog (rename do speechCatalog), 3º sub-item da vertical no nav, rule da lista no chrome, paths e loader próprios; sem migration, sem Consent, sem tocar Media.read ou a rota de mídia do C193. Design tier: DEGRADED — crítica final do designer indisponível no tier primário (limite de uso); requer sign-off humano antes de push/PR.
53 lines
2.3 KiB
TypeScript
53 lines
2.3 KiB
TypeScript
/** Client-safe `/campanha` route paths shared by nav, gates, and home actions. */
|
|
export const CAMPAIGN_HOME = '/campanha' as const
|
|
|
|
export const CAMPAIGN_TERRITORIES_HOME = '/campanha/territorios' as const
|
|
|
|
export const CAMPAIGN_DEMANDS_HOME = '/campanha/demandas' as const
|
|
|
|
export const CAMPAIGN_ADVISORS_HOME = '/campanha/assessores' as const
|
|
|
|
export const CAMPAIGN_SUPPORTERS_HOME = '/campanha/apoiadores' as const
|
|
|
|
export const CAMPAIGN_AGENDA_HOME = '/campanha/agenda' as const
|
|
|
|
/** Staff page for the `Contact` ficha (C139). */
|
|
export const CAMPAIGN_CONTACTS_HOME = '/campanha/contatos' as const
|
|
|
|
/** Leader's own supporter contact tool (B43) — moved here by C139 so staff
|
|
* and leader no longer share the `/campanha/contatos` route. */
|
|
export const LEADER_CONTACTS_HOME = '/campanha/meus-contatos' as const
|
|
|
|
export const CAMPAIGN_PROFILE_HOME = '/campanha/perfil' as const
|
|
|
|
/** Communication vertical (C154) — home redirects to the acervo. */
|
|
export const CAMPAIGN_COMMUNICATION_HOME = '/campanha/comunicacao' as const
|
|
|
|
export const CAMPAIGN_COMMUNICATION_ACERVO = '/campanha/comunicacao/acervo' as const
|
|
|
|
/** C168 — library of cuts made from the acervo (list + `/<id>` detail). */
|
|
export const CAMPAIGN_COMMUNICATION_CORTES = '/campanha/comunicacao/acervo/cortes' as const
|
|
|
|
/** C194 — private library of reels (list + `/<id>` detail). */
|
|
export const CAMPAIGN_COMMUNICATION_REELS = '/campanha/comunicacao/reels' as const
|
|
|
|
/** C194 — internal detail of one reel (id is immutable). */
|
|
export const campaignReelDetailHref = (id: number): string =>
|
|
`${CAMPAIGN_COMMUNICATION_REELS}/${id}`
|
|
|
|
/** C194 — JSON endpoint the detail's kill switch calls to publish/unpublish. */
|
|
export const campaignReelPublicationHref = (id: number): string =>
|
|
`${campaignReelDetailHref(id)}/publicacao`
|
|
|
|
/** C168/C174 — internal detail of one cut in the library (id is immutable). */
|
|
export const campaignSpeechCutDetailHref = (id: number): string =>
|
|
`${CAMPAIGN_COMMUNICATION_CORTES}/${id}`
|
|
|
|
/** C183 — JSON endpoints the library card and the detail call to remove/retry a cut. */
|
|
export const campaignSpeechCutDeleteHref = (id: number): string =>
|
|
`${campaignSpeechCutDetailHref(id)}/apagar`
|
|
|
|
export const campaignSpeechCutRetryHref = (id: number): string =>
|
|
`${campaignSpeechCutDetailHref(id)}/retry`
|
|
|
|
export const CAMPAIGN_UPDATES_HREF = '/campanha/atualizacoes' as const
|