Fold duplicated campanha access, loaders, list/filter/form shells, and scripts into shared modules; reorganize utilities by domain; stabilize e2e; and document prevention-first audit workflow so the same smells cannot creep back in.
Let marketing configure a numeric facebookPixelId per petition in Payload, fire PageView on load and Lead after a successful signature, and mark the roadmap item delivered with deferred follow-ups documented.
Integrate a real-time signature counter component into petition pages.
This includes:
- A new `SignatureCounter` component that displays and animates the
signature count.
- Server action `getSignatureCount` to fetch current signatures from
Payload.
- Updates to `submitPetitionSignature` to return the signature number
for immediate display.
- Event listeners for real-time updates when new signatures are
submitted.
- Integration of the counter into both the hero section and card views
of the petition page.
- Improved dialog for displaying signature success and number.
- add group to collection with title, subtitle, and required consent relationship
- refactor to:
- use a dedicated shared zod schema
- submit via server action (create contact + signature)
- register RHF fields and handle pending/error states
- load city options from selected state
- add server action
- add shared schema
- replace state source in collection: derive select options from
- make immutable with and remove obsolete
- update generated payload types for petition and consent references