- Timezone: curated USelectMenu dropdown (app/config/timezones.js), preserves unknown saved values
- Profile save now uses useToast() for success/error; remove inline save banner
- Nav onboarding dot nudged down 1px for optical alignment with lowercase text
- Onboarding: skip a suggestion with POST /api/onboarding/track {skip}; member.onboarding.skipped map; does not affect graduation
- CirclePicker takes :saved-value so 'Current' badge stays until save completes
- PrivacyToggle is binary (USwitch labeled Private); member schema enum reduced to ['members','private']; zod coerces legacy 'public'
- New /member/payment-setup page: HelcimPay $0 verify + update-contribution, wired from account.vue via requiresPaymentSetup redirect
- Helcim portal: NUXT_PUBLIC_HELCIM_PORTAL_URL env + account.vue 'Manage billing in Helcim' link
- Migration script: scripts/migrate-privacy-public-to-members.js
39 lines
2.1 KiB
JavaScript
39 lines
2.1 KiB
JavaScript
// Curated IANA timezone options for the profile editor.
|
||
// Grouped roughly by region; values are standard IANA identifiers.
|
||
export const TIMEZONE_OPTIONS = [
|
||
// Americas
|
||
{ label: 'Pacific — Los Angeles', value: 'America/Los_Angeles' },
|
||
{ label: 'Pacific — Vancouver', value: 'America/Vancouver' },
|
||
{ label: 'Mountain — Denver', value: 'America/Denver' },
|
||
{ label: 'Mountain — Edmonton', value: 'America/Edmonton' },
|
||
{ label: 'Central — Chicago', value: 'America/Chicago' },
|
||
{ label: 'Central — Mexico City', value: 'America/Mexico_City' },
|
||
{ label: 'Eastern — Toronto', value: 'America/Toronto' },
|
||
{ label: 'Eastern — New York', value: 'America/New_York' },
|
||
{ label: 'Atlantic — Halifax', value: 'America/Halifax' },
|
||
{ label: 'Newfoundland — St. John’s', value: 'America/St_Johns' },
|
||
{ label: 'Brazil — São Paulo', value: 'America/Sao_Paulo' },
|
||
{ label: 'Argentina — Buenos Aires', value: 'America/Argentina/Buenos_Aires' },
|
||
|
||
// Europe / Africa
|
||
{ label: 'UTC', value: 'UTC' },
|
||
{ label: 'UK — London', value: 'Europe/London' },
|
||
{ label: 'Ireland — Dublin', value: 'Europe/Dublin' },
|
||
{ label: 'Central Europe — Berlin', value: 'Europe/Berlin' },
|
||
{ label: 'Central Europe — Paris', value: 'Europe/Paris' },
|
||
{ label: 'Central Europe — Madrid', value: 'Europe/Madrid' },
|
||
{ label: 'Eastern Europe — Helsinki', value: 'Europe/Helsinki' },
|
||
{ label: 'Africa — Lagos', value: 'Africa/Lagos' },
|
||
{ label: 'Africa — Johannesburg', value: 'Africa/Johannesburg' },
|
||
|
||
// Asia / Oceania
|
||
{ label: 'Middle East — Dubai', value: 'Asia/Dubai' },
|
||
{ label: 'India — Kolkata', value: 'Asia/Kolkata' },
|
||
{ label: 'Southeast Asia — Bangkok', value: 'Asia/Bangkok' },
|
||
{ label: 'China — Shanghai', value: 'Asia/Shanghai' },
|
||
{ label: 'Japan — Tokyo', value: 'Asia/Tokyo' },
|
||
{ label: 'Korea — Seoul', value: 'Asia/Seoul' },
|
||
{ label: 'Australia — Sydney', value: 'Australia/Sydney' },
|
||
{ label: 'Australia — Perth', value: 'Australia/Perth' },
|
||
{ label: 'New Zealand — Auckland', value: 'Pacific/Auckland' },
|
||
];
|