TBTG Docs All docs

Beccie Feedback — Remaining Items

Updated March 21, 2026

Beccie Feedback — Remaining Items

Can Do (Code Changes)

# Item Notes Status
1 Region > sub-region > territory hierarchy Data is in COUNTRY GROUP SHEET CSV. Territory config already has full hierarchy (region > sub_region > country). Done — config matches CSV
2 Creator country showing EU instead of country code (DE) Fixed: dropdown grouped by territory shows country names. Country names seeded to DB (admin_settings.country_names). All display surfaces show "Germany (DE)" format. Done
3 Gifting history showing product name Product thumbnails added to gifting table Done
4 Due date / go live date consolidation in deliverables Removed Go Live Date from form, kept Due Date only Done
5 Unhide Approvals in nav Enabled Done
6 Unhide Briefs in nav Enabled Done

Needs Input / Beyond Code

# Item Who / What Status
7 "Fails to create influencer" Was permissions — fixed with finance view-only + RLS Done
8 View As role preview Built: admin/super_admin can preview app as any role via context bar dropdown. Blue gradient when active, "Viewing as [Role]" with Exit button. Done
9 Shopify gift order — "nothing happens" Needs investigation Open
10 Where to add briefs links Briefs attached during gifting (per Andrew) Answered
11 Pranika data access People/access task Open
12 Historically gifted partners 16k records from Airtable already in at hub.tbtg.com/gifting Done
13 Shopify metafields for BP Rick / Shopify config Open
14 Targets & KPIs / Paddy's node tree Question: should we hide targets page and use Paddy's analytics instead? Needs decision
15 Can't test calendar til agreements exist Unblocked — Beccie can add agreements and test Unblocked

Batch 2 — Beccie Feedback (2026-03-21)

# Item Notes Status
16 Formatting gone dodgy on main page Header/sidebar overlap — context bar height not accounted for. Fixed: content offset increased from pt-20 (80px) to pt-[5.5rem] (88px), sidebar top matched. Done
17 Senior Manager missing from Settings > Position Labels Added senior_manager to POSITION_KEYS in positions-settings.tsx Done
18 Users section showing "Head Of" instead of "Associate Director" Users page had local hardcoded ROLE_LABELS — replaced with usePositionLabels() hook so it reads admin-configured labels Done
19 Budgets don't save Two stale DB constraints blocking inserts: budgets_territory_check (only allowed UK/IE/US/EU), budgets_created_by_fkey (FK to public.users with 1 row). Both dropped. Done
20 Budgets showing by region not subregion Created useBudgetTerritories() hook that flattens region-level territories into subregion entries (DACH, France & Belgium, Italy, etc.). Budget create/edit/filter dropdowns now show subregions. Admin-configurable via Settings > Territories. Done
21 Flip tier 1 and 3 Tier 3 = biggest influencers (was gold), tier 1 = smallest (was bronze). Migration 064 renamed gold→tier_3, silver→tier_2, bronze→tier_1. Default for new creators is tier_1. Updated all display surfaces with getTierLabel(). Done
22 Budget delete doesn't work handleDelete was a stub (toast only). Implemented real deleteBudget() mutation + useDeleteBudget hook + DELETE RLS policy. Done

Also Done This Round

Approval Thresholds (Updated per Beccie)

Amount Approver(s)
£0 – £5,000 Senior Manager (Associate Director / Commercial)
Over £5,000 Senior Manager + Executive