diff --git a/shared/locales/en/website-survey.json b/shared/locales/en/website-survey.json index 2549d9d3a..ecb26380b 100644 --- a/shared/locales/en/website-survey.json +++ b/shared/locales/en/website-survey.json @@ -1,4 +1,12 @@ { + "titleOnboarding": "Onboarding Survey", + "titleCheckin": "Check-in Survey", + "titleOffboarding": "Offboarding Survey", + "titleFollowup": "Follow-up Survey", + "select": "Select", + "save": "Save", + "freetext": "Enter your answer", + "demo": "In demo mode the survey can't be saved", "survey": { "login": { "message": "Please enter your phone number and the access token which we sent you.", diff --git a/website/src/app/[lang]/[region]/(website)/survey/checkin/page.tsx b/website/src/app/[lang]/[region]/(website)/survey/checkin/page.tsx new file mode 100644 index 000000000..601d4a169 --- /dev/null +++ b/website/src/app/[lang]/[region]/(website)/survey/checkin/page.tsx @@ -0,0 +1,305 @@ +import { DefaultPageProps } from '@/app/[lang]/[region]'; +import { getMetadata } from '@/metadata'; +import { Translator } from '@socialincome/shared/src/utils/i18n'; +import { BaseContainer, Typography } from '@socialincome/ui'; + +export async function generateMetadata({ params }: DefaultPageProps) { + return getMetadata(params.lang, 'website-survey'); +} + +export default async function Page({ params: { lang } }: DefaultPageProps) { + const translator = await Translator.getInstance({ + language: lang, + namespaces: ['website-survey'], + }); + + return ( + + + {translator.t('titleCheckin')} + + +
+ + {translator.t('survey.questions.spendingTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.plannedAchievementRemainingTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.livingLocationTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.maritalStatusTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.hasDependentsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.nrDependentsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.attendingSchoolV1')} + + +
+ +
+ + {translator.t('survey.questions.employmentStatusTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.notEmployedTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.disabilityTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.skippingMealsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.skippingMealsLastWeekTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.skippingMealsLastWeek3MealsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.unexpectedExpensesCoveredTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.savingsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.debtPersonalTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.debtPersonalRepayTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.debtHouseholdTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.debtHouseholdWhoRepaysTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.otherSupportTitleV1')} + + +
+ +
+ +

{translator.t('demo')}

+
+
+ ); +} diff --git a/website/src/app/[lang]/[region]/(website)/survey/followup/page.tsx b/website/src/app/[lang]/[region]/(website)/survey/followup/page.tsx new file mode 100644 index 000000000..7396ca53b --- /dev/null +++ b/website/src/app/[lang]/[region]/(website)/survey/followup/page.tsx @@ -0,0 +1,230 @@ +import { DefaultPageProps } from '@/app/[lang]/[region]'; +import { getMetadata } from '@/metadata'; +import { Translator } from '@socialincome/shared/src/utils/i18n'; +import { BaseContainer, Typography } from '@socialincome/ui'; + +export async function generateMetadata({ params }: DefaultPageProps) { + return getMetadata(params.lang, 'website-survey'); +} + +export default async function Page({ params: { lang } }: DefaultPageProps) { + const translator = await Translator.getInstance({ + language: lang, + namespaces: ['website-survey'], + }); + + return ( + + + {translator.t('titleFollowup')} + + +
+ + {translator.t('survey.questions.financialIndependenceTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.longEnoughTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.livingLocationTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.maritalStatusTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.hasDependentsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.nrDependentsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.attendingSchoolV1')} + + +
+ +
+ + {translator.t('survey.questions.employmentStatusTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.notEmployedTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.disabilityTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.skippingMealsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.skippingMealsLastWeekTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.skippingMealsLastWeek3MealsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.unexpectedExpensesCoveredTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.savingsTitleV1')} + + +
+
+ ); +} diff --git a/website/src/app/[lang]/[region]/(website)/survey/offboarding/page.tsx b/website/src/app/[lang]/[region]/(website)/survey/offboarding/page.tsx new file mode 100644 index 000000000..f81078fe6 --- /dev/null +++ b/website/src/app/[lang]/[region]/(website)/survey/offboarding/page.tsx @@ -0,0 +1,296 @@ +import { DefaultPageProps } from '@/app/[lang]/[region]'; +import { getMetadata } from '@/metadata'; +import { Translator } from '@socialincome/shared/src/utils/i18n'; +import { BaseContainer, Typography } from '@socialincome/ui'; + +export async function generateMetadata({ params }: DefaultPageProps) { + return getMetadata(params.lang, 'website-survey'); +} + +export default async function Page({ params: { lang } }: DefaultPageProps) { + const translator = await Translator.getInstance({ + language: lang, + namespaces: ['website-survey'], + }); + + return ( + + + {translator.t('titleOffboarding')} + + +
+ + {translator.t('survey.questions.financialIndependenceTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.impactLifeGeneralTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.achievementsAchievedTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.achievementsNotAchievedCommentTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.happierTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.happierCommentTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.longEnoughTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.livingLocationTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.maritalStatusTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.hasDependentsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.nrDependentsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.attendingSchoolV1')} + + +
+ +
+ + {translator.t('survey.questions.employmentStatusTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.notEmployedTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.disabilityTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.skippingMealsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.skippingMealsLastWeekTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.skippingMealsLastWeek3MealsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.unexpectedExpensesCoveredTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.savingsTitleV1')} + + +
+ +
+ +

{translator.t('demo')}

+
+
+ ); +} diff --git a/website/src/app/[lang]/[region]/(website)/survey/onboarding/page.tsx b/website/src/app/[lang]/[region]/(website)/survey/onboarding/page.tsx new file mode 100644 index 000000000..da1d3545a --- /dev/null +++ b/website/src/app/[lang]/[region]/(website)/survey/onboarding/page.tsx @@ -0,0 +1,286 @@ +import { DefaultPageProps } from '@/app/[lang]/[region]'; +import { getMetadata } from '@/metadata'; +import { Translator } from '@socialincome/shared/src/utils/i18n'; +import { BaseContainer, Typography } from '@socialincome/ui'; + +export async function generateMetadata({ params }: DefaultPageProps) { + return getMetadata(params.lang, 'website-survey'); +} + +export default async function Page({ params: { lang } }: DefaultPageProps) { + const translator = await Translator.getInstance({ + language: lang, + namespaces: ['website-survey'], + }); + + return ( + + + {translator.t('titleOnboarding')} + + +
+ + {translator.t('survey.questions.plannedAchievementTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.livingLocationTitleV1')} + + +
+
+ + {translator.t('survey.questions.maritalStatusTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.hasDependentsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.nrDependentsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.attendingSchoolV1')} + + +
+ +
+ + {translator.t('survey.questions.employmentStatusTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.notEmployedTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.disabilityTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.skippingMealsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.skippingMealsLastWeekTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.skippingMealsLastWeek3MealsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.unexpectedExpensesCoveredTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.savingsTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.debtPersonalTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.debtPersonalRepayTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.debtHouseholdTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.debtHouseholdWhoRepaysTitleV1')} + + +
+ +
+ + {translator.t('survey.questions.otherSupportTitleV1')} + + +
+ +
+ +

{translator.t('demo')}

+
+
+ ); +}