trypost/resources/js
Paulo Castellano 44d891ef08 fix(pinterest): restore board picker + require board_id in validation
The post editor lost the Pinterest board picker during a UI rewrite,
causing scheduled posts to fail in production with 'Pinterest board_id
is required'. This restores the picker and locks the contract with
validation + tests so the regression cannot happen silently again.

Backend:
- PostController: pinterestBoards is now Record<account_id, Board[]>
  (mirrors the TikTok creator-info pattern); supports multi-account.
- UpdatePostRequest: 'platforms.*.meta.board_id' rule + after-validator
  rejects Publishing/Scheduling Pinterest posts without board_id.

Frontend:
- PinterestSettings.vue: Combobox board picker with empty-state warning;
  emits update:meta with board_id.
- ScheduleTab / PostEditorSidebar / Edit pass pinterestBoards down by
  social_account_id.

Tests (6 new):
- UpdatePostRequestTest: rejects publishing/scheduling without board_id
  across pin/carousel/video pin; allows draft without board_id;
  pinterest error doesn't block sibling platforms in multi-platform.
- PinterestPublisherTest: publisher throws for carousel + video pin
  when no board_id (existing image-pin case kept).

1542 tests passing.
2026-05-15 11:51:20 -03:00
..
components fix(pinterest): restore board picker + require board_id in validation 2026-05-15 11:51:20 -03:00
composables feat(tracking): push Google Ads conversion data to dataLayer on purchase 2026-05-12 13:31:00 -03:00
data feat: media gallery picker, custom emoji picker, preview tabs, real platform logos 2026-05-01 14:53:49 -03:00
enums feat(tiktok): photo carousel support + UX Content Sharing API compliance 2026-05-09 12:47:49 -03:00
layouts feat: AI image generation pipeline and post creation overhaul 2026-05-08 13:38:30 -03:00
lib feat: implement consolidated authentication settings including session management and social provider integration 2026-05-03 17:42:44 -03:00
pages fix(pinterest): restore board picker + require board_id in validation 2026-05-15 11:51:20 -03:00
types fix: yearly billing interval display in UpgradeDialog and Billing page 2026-05-07 11:35:28 -03:00
utils feat: add PostCommentCreated broadcast event 2026-04-15 20:11:36 -03:00
app.ts refactor: PostHog review polish 2026-05-07 10:41:53 -03:00
datalayer.ts feat: GTM dataLayer context + checkout/purchase events 2026-05-06 10:14:17 -03:00
date.ts refactor: reorganize billing language keys and implement AccountPolicy for subscription management 2026-05-03 17:26:55 -03:00
dayjs.ts refactor: reorganize billing language keys and implement AccountPolicy for subscription management 2026-05-03 17:26:55 -03:00
debounce.ts fix: resolve all TypeScript errors 2026-03-31 09:34:39 -03:00
posthog.ts fix: PostHog property keys, deletion idempotency and full enabled gate 2026-05-07 13:15:36 -03:00
ssr.ts chore: first commit 2026-01-14 22:13:44 -03:00