Files
TheGame/packages/web/utils/setupOptions.tsx
Pacien Boisson 8c99b5df50 Merge dependencies (#415)
* Bump @chakra-ui/icons from 1.0.3 to 1.0.6

Bumps [@chakra-ui/icons](https://github.com/chakra-ui/chakra-ui) from 1.0.3 to 1.0.6.
- [Release notes](https://github.com/chakra-ui/chakra-ui/releases)
- [Commits](https://github.com/chakra-ui/chakra-ui/compare/@chakra-ui/icons@1.0.3...@chakra-ui/icons@1.0.6)

Signed-off-by: dependabot[bot] <support@github.com>

* Bump tsdx from 0.13.3 to 0.14.1

Bumps [tsdx](https://github.com/formium/tsdx) from 0.13.3 to 0.14.1.
- [Release notes](https://github.com/formium/tsdx/releases)
- [Commits](https://github.com/formium/tsdx/compare/v0.13.3...v0.14.1)

Signed-off-by: dependabot[bot] <support@github.com>

* Bump @types/react from 16.9.52 to 17.0.3

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 16.9.52 to 17.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

Signed-off-by: dependabot[bot] <support@github.com>

* Bump express-graphql from 0.11.0 to 0.12.0

Bumps [express-graphql](https://github.com/graphql/express-graphql) from 0.11.0 to 0.12.0.
- [Release notes](https://github.com/graphql/express-graphql/releases)
- [Commits](https://github.com/graphql/express-graphql/compare/v0.11.0...v0.12.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Bump eslint-plugin-simple-import-sort from 5.0.3 to 7.0.0

Bumps [eslint-plugin-simple-import-sort](https://github.com/lydell/eslint-plugin-simple-import-sort) from 5.0.3 to 7.0.0.
- [Release notes](https://github.com/lydell/eslint-plugin-simple-import-sort/releases)
- [Changelog](https://github.com/lydell/eslint-plugin-simple-import-sort/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lydell/eslint-plugin-simple-import-sort/compare/v5.0.3...v7.0.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Bump eslint-plugin-jsx-a11y from 6.3.1 to 6.4.1

Bumps [eslint-plugin-jsx-a11y](https://github.com/evcohen/eslint-plugin-jsx-a11y) from 6.3.1 to 6.4.1.
- [Release notes](https://github.com/evcohen/eslint-plugin-jsx-a11y/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/CHANGELOG.md)
- [Commits](https://github.com/evcohen/eslint-plugin-jsx-a11y/compare/v6.3.1...v6.4.1)

Signed-off-by: dependabot[bot] <support@github.com>

* Bump eslint-plugin-jest from 24.1.3 to 24.3.1

Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 24.1.3 to 24.3.1.
- [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases)
- [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jest-community/eslint-plugin-jest/compare/v24.1.3...v24.3.1)

Signed-off-by: dependabot[bot] <support@github.com>

* Bump eslint-import-resolver-typescript from 2.2.1 to 2.4.0

Bumps [eslint-import-resolver-typescript](https://github.com/alexgorbatchev/eslint-import-resolver-typescript) from 2.2.1 to 2.4.0.
- [Release notes](https://github.com/alexgorbatchev/eslint-import-resolver-typescript/releases)
- [Changelog](https://github.com/alexgorbatchev/eslint-import-resolver-typescript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/alexgorbatchev/eslint-import-resolver-typescript/compare/v2.2.1...v2.4.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Bump eslint-config-airbnb-typescript from 9.0.0 to 12.3.1

Bumps [eslint-config-airbnb-typescript](https://github.com/iamturns/eslint-config-airbnb-typescript) from 9.0.0 to 12.3.1.
- [Release notes](https://github.com/iamturns/eslint-config-airbnb-typescript/releases)
- [Changelog](https://github.com/iamturns/eslint-config-airbnb-typescript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/iamturns/eslint-config-airbnb-typescript/compare/v9.0.0...v12.3.1)

Signed-off-by: dependabot[bot] <support@github.com>

* Fix eslint imports

* Fix tslint

* lint!

* lint

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-03-16 14:45:28 +04:00

105 lines
2.3 KiB
TypeScript

export type SetupStep = {
label: string;
slug?: string;
sectionIndex: number;
}
export type SetupSection = {
label: string;
title: {
[any: string]: string | undefined;
};
};
export class SetupOptions {
sections: SetupSection[] = [
{
label: 'About You',
title: { base: 'About You', sm: '1. About You' },
}, {
label: 'Profile',
title: {
base: 'Profile',
sm: '2. Profile',
lg: '2. Professional Profile',
},
}, {
label: 'Start Playing',
title: {
base: 'Play',
sm: '3. Play',
md: '3. Start Playing',
},
},
];
steps: SetupStep[] = [
{
label: 'Username',
slug: 'username',
sectionIndex: 0,
}, {
label: 'Personality Type',
slug: 'personalityType',
sectionIndex: 0,
}, {
label: 'Player Type',
slug: 'playerType',
sectionIndex: 0,
}, {
label: 'Skills',
slug: 'skills',
sectionIndex: 1,
}, {
label: 'Availability',
slug: 'availability',
sectionIndex: 1,
}, {
label: 'Time Zone',
slug: 'timeZone',
sectionIndex: 1,
}, {
label: 'Memberships',
slug: 'memberships',
sectionIndex: 1,
}, {
label: 'Start Playing',
slug: 'complete',
sectionIndex: 2,
},
]
stepIndexMatchingSlug(slug: string | null): number {
return this.steps.findIndex(step => step.slug === slug);
};
get numSteps(): number {
return this.steps.length;
}
isLastStep(stepIndex: number): boolean {
return stepIndex >= this.numSteps - 1;
}
isFinalStepOfSection(stepIndex: number): boolean {
if (this.isLastStep(stepIndex)) return true;
return this.steps[stepIndex].sectionIndex !== this.steps[stepIndex + 1].sectionIndex;
}
progressWithinSection(stepIndex: number): number {
const stepSectionIndex = this.steps[stepIndex].sectionIndex;
let stepsCompletedInSection = 0;
const stepsInSection = this.steps.reduce((count:number, step:SetupStep, index:number) => {
if (stepIndex === index) {
stepsCompletedInSection = count;
}
if (step.sectionIndex === stepSectionIndex) {
return count + 1;
}
return count;
}, 0);
return Math.floor((stepsCompletedInSection + 1) * 100.0) / stepsInSection;
}
}