diff --git a/example.env b/example.env index aca7de23251b29814861e946ff1fa244adeed468..dc2aa2d8b54513ed4646624c468d528db5865183 100644 --- a/example.env +++ b/example.env @@ -61,6 +61,9 @@ PROXY=false # Reform name must belong to a name of an OpenFisca reform in metadata.json # REFORM=universal_basic_income +# Show intro balloons. +SHOW_TUTORIAL=true + # Directory containing JSON of simulations saved by users SIMULATIONS_DIR="../simulations" diff --git a/src/hooks.ts b/src/hooks.ts index 1cfdaf957d946f2ff2567a827fe14fcc894f823c..c66a1632a6dbbe14fa116d8361df948f5ba0fa97 100644 --- a/src/hooks.ts +++ b/src/hooks.ts @@ -55,6 +55,7 @@ export const getSession: GetSession<{}, Session> = async (request) => { }, portalUrl: config.portalUrl, reformName: config.reformName, + showTutorial: config.showTutorial, title: config.title, user, } diff --git a/src/lib/auditors/config.ts b/src/lib/auditors/config.ts index b2cb2811d7a23754fdabe8dd9249fd3e7af9137f..841b00e8c35831bf65753c76e82627dd6b3d23ec 100644 --- a/src/lib/auditors/config.ts +++ b/src/lib/auditors/config.ts @@ -31,7 +31,7 @@ export function auditConfig( const errors: { [key: string]: unknown } = {} const remainingKeys = new Set(Object.keys(data)) - for (const key of ["advanced", "allowRobots", "proxy"]) { + for (const key of ["advanced", "allowRobots", "proxy", "showTutorial"]) { audit.attribute( data, key, diff --git a/src/lib/server/config.ts b/src/lib/server/config.ts index 3a2b3d3dc2dfea9af6a6d83bcb86865a9880c8ad..528817291b4fc2c8772d0b8190f27a08f5518757 100644 --- a/src/lib/server/config.ts +++ b/src/lib/server/config.ts @@ -37,6 +37,7 @@ export interface Config { portalUrl: string proxy: boolean reformName?: string + showTutorial?: boolean simulationsDir: string title: string } @@ -80,6 +81,7 @@ const [validConfig, error] = validateConfig({ portalUrl: process.env["PORTAL_URL"], proxy: process.env["PROXY"], reformName: process.env["REFORM"], + showTutorial: process.env["SHOW_TUTORIAL"], simulationsDir: process.env["SIMULATIONS_DIR"], title: process.env["TITLE"], }) diff --git a/src/lib/sessions.ts b/src/lib/sessions.ts index 2bb4e797891312c2c55f54bd5be9d596f4394508..c28aa6161f07301565bffbac7a4a6a4a4629fc7a 100644 --- a/src/lib/sessions.ts +++ b/src/lib/sessions.ts @@ -19,6 +19,7 @@ export interface Session { openfiscaRepository: SessionOpenFiscaRepository portalUrl: string reformName?: string + showTutorial?: boolean title: string user?: User } diff --git a/src/routes/index.svelte b/src/routes/index.svelte index 1d7fa6423aaff040435cda47a2a17f8e46e2b473..989433c9abd569ada6ccfebef6a700f46b19a47c 100644 --- a/src/routes/index.svelte +++ b/src/routes/index.svelte @@ -115,7 +115,7 @@ $: editionModeFromAction($action) - if (browser) { + if (browser && $session.showTutorial) { introJs() .setOptions({ doneLabel: "Fermer",