- add OTP modal component with its css file
- add Profile2FA component for 2FA section in settings page
- add @scure/base package to encode OTP secrets in Base32, enabling alternative import options for authenticator apps
- add new phrases to the en.json localization file
This commit brings the project to support node 22 which became LTS and
fixes broken builds with typescript 5.7+ until vue-tsc is updated and
replaces npm with pnpm.
- Update tsconfig for node 22
- Pin typescript to 5.6.x to not break vue-tsc
- Replace npm with pnpm (corepack recommended)
- Update Makefile and main workflow for pnpm
- Migrate to eslint 9 flat config
- Fix broken imports
- Exclude non-TS vue files for vue-tsc