diff --git a/src/services/context/state/Position.ts b/src/services/context/state/Position.ts index 88caca58..d5968d37 100644 --- a/src/services/context/state/Position.ts +++ b/src/services/context/state/Position.ts @@ -42,6 +42,15 @@ class Position { // get step const currentLevel: TT.Level = levels[lastLevelIndex] + if (!currentLevel) { + // tutorial complete but not reached completed view + const finalLevel = levels[levels.length - 1] + return { + levelId: finalLevel.id, + stepId: finalLevel.steps.length ? finalLevel.steps[finalLevel.steps.length - 1].id : null, + complete: true, + } + } let currentStepId: string | null if (!currentLevel.steps.length) { // no steps available for level diff --git a/web-app/src/components/Error/index.tsx b/web-app/src/components/Error/index.tsx index 2a9278c2..5c1bf828 100644 --- a/web-app/src/components/Error/index.tsx +++ b/web-app/src/components/Error/index.tsx @@ -14,9 +14,9 @@ const styles = { alignItems: 'center' as 'center', border: `0.5rem solid ${theme['$color-error-2']}`, padding: '1rem', - width: '100%', + width: '100vw', maxWidth: '100%', - height: '100%', + height: '100vh', }), content: (theme: Theme) => ({ textAlign: 'center' as 'center', diff --git a/web-app/src/containers/Loading/index.tsx b/web-app/src/containers/Loading/index.tsx index 535946c7..bb55882a 100644 --- a/web-app/src/containers/Loading/index.tsx +++ b/web-app/src/containers/Loading/index.tsx @@ -16,8 +16,8 @@ const styles = { flexDirection: 'column' as 'column', alignItems: 'center' as 'center', justifyContent: 'center' as 'center', - height: '100%', - width: '100%', + height: '100vh', + width: '100vw', }, processes: { padding: '0 1rem', diff --git a/web-app/src/services/state/actions/context.ts b/web-app/src/services/state/actions/context.ts index 4a32d440..2ca04032 100644 --- a/web-app/src/services/state/actions/context.ts +++ b/web-app/src/services/state/actions/context.ts @@ -79,7 +79,7 @@ const contextActions: ActionFunctionMap = { const nextPosition: T.Position = { levelId: level.id, - stepId: level.steps[0].id, + stepId: level.steps.length ? level.steps[0].id : null, } return nextPosition @@ -163,7 +163,7 @@ const contextActions: ActionFunctionMap = { const nextLevel = levels[levelIndex + 1] const nextPosition = { levelId: nextLevel.id, - stepId: nextLevel.steps[0].id, + stepId: nextLevel.steps.length ? nextLevel.steps[0].id : null, } return { type: 'NEXT_LEVEL', payload: nextPosition } }