diff --git a/services/web/frontend/js/utils/meta.ts b/services/web/frontend/js/utils/meta.ts index 2a396c805b..6e15309187 100644 --- a/services/web/frontend/js/utils/meta.ts +++ b/services/web/frontend/js/utils/meta.ts @@ -34,6 +34,7 @@ import { import { SplitTestInfo } from '../../../types/split-test' import { ValidationStatus } from '../../../types/group-management/validation' import { ManagedInstitution } from '../../../types/subscription/dashboard/managed-institution' +import { OnboardingFormData } from '../../../types/onboarding' import { GroupSSOTestResult } from '../../../modules/group-settings/frontend/js/utils/types' import { AccessToken, @@ -53,6 +54,7 @@ import { DefaultNavbarMetadata } from '@/features/ui/components/types/default-na import { FooterMetadata } from '@/features/ui/components/types/footer-metadata' import type { ScriptLogType } from '../../../modules/admin-panel/frontend/js/features/script-logs/script-log' import { ActiveExperiment } from './labs-utils' + export interface Meta { 'ol-ExposedSettings': ExposedSettings 'ol-addonPrices': Record< @@ -170,6 +172,7 @@ export interface Meta { 'ol-notifications': NotificationType[] 'ol-notificationsInstitution': InstitutionType[] 'ol-oauthProviders': OAuthProviders + 'ol-odcData': OnboardingFormData 'ol-odcRole': string 'ol-overallThemes': OverallThemeMeta[] 'ol-pages': number diff --git a/services/web/types/onboarding.ts b/services/web/types/onboarding.ts new file mode 100644 index 0000000000..11ae3e51d0 --- /dev/null +++ b/services/web/types/onboarding.ts @@ -0,0 +1,25 @@ +export type UsedLatex = 'never' | 'occasionally' | 'often' +export type Occupation = + | 'university' + | 'company' + | 'nonprofitngo' + | 'government' + | 'other' + +export type OnboardingFormData = { + firstName: string + lastName: string + primaryOccupation: Occupation | null + usedLatex: UsedLatex | null + companyDivisionDepartment: string + companyJobTitle: string + governmentJobTitle: string + institutionName: string + otherJobTitle: string + nonprofitDivisionDepartment: string + nonprofitJobTitle: string + role: string + subjectArea: string + updatedAt?: Date + shouldReceiveUpdates?: boolean +}