snowballtools-base/packages/frontend
Vivian Phung f2e59c11fd
Refactor: VerifyCodeInput Component and Modify Access Code Validation (#212)
### TL;DR

Implemented the new `VerifyCodeInput` component and updated the access code validation logic.

### What changed?

1. Added a new reusable `VerifyCodeInput` component for verifying codes in a user-friendly way. This component handles paste events, input changes, and keyboard navigation.
2. Updated the backend route `/accesscode` to accept an arbitrary code for now. 
3. Incorporated the `VerifyCodeInput` component into the `AccessCode` page, replacing the generic `Input` component.
4. Updated the access code validation logic to check for a trimmed length of 5 characters instead of 6.
5. Added a slight pause for UX purposes when validating the access code on the frontend.

### How to test?

1. Go to the Access Code page.
2. Try entering an access code with various inputs (keyboard, paste, etc.) to see if it works seamlessly.
3. Verify that only a 5-digit code is considered valid.
4. Check the backend logs to ensure the validation endpoint is working as expected.

### Why make this change?

This change improves the user experience by providing a custom input component for access code verification and ensures that the access code validation meets the new requirements.

---
2024-06-21 21:13:32 -04:00
..
.storybook storybook config domains and react dom context 2024-05-14 20:07:46 +00:00
public format prettier 2024-05-09 16:18:52 -04:00
src Refactor: VerifyCodeInput Component and Modify Access Code Validation (#212) 2024-06-21 21:13:32 -04:00
.env.example env example fix 2024-05-09 14:04:28 -04:00
.eslintrc.cjs storybook 2024-05-09 16:22:03 -04:00
.gitignore storybook 2024-05-09 16:22:03 -04:00
.node-version Switch from cra to vite 2024-04-11 21:48:58 -05:00
.prettierignore Add dist/ to .prettierignore (#195) 2024-05-22 14:50:37 -04:00
.prettierrc.json Create react app with tailwind, typescript, eslint and prettier (#4) 2023-12-08 10:50:55 +05:30
chromatic.config.json storybook 2024-05-09 16:22:03 -04:00
index.html Lint using tsc; fix type errors 2024-04-11 21:49:14 -05:00
package.json [1/n][Storybook] Settings (#72) 2024-05-16 20:33:33 -04:00
postcss.config.js Lint using tsc; fix type errors 2024-04-11 21:49:14 -05:00
README.md Lint using tsc; fix type errors 2024-04-11 21:49:14 -05:00
reload-dev.sh Fix dev script 2024-05-02 15:47:23 -05:00
tailwind.config.js fix duplicate styling (#67) 2024-05-16 20:16:31 -04:00
tsconfig.json resolve aliases 2024-05-14 13:27:23 -04:00
tsconfig.node.json Switch from cra to vite 2024-04-11 21:48:58 -05:00
vite.config.ts Log commit hash 2024-06-04 15:56:52 -05:00

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:

  • Configure the top-level parserOptions property like this:
export default {
  // other rules...
  parserOptions: {
    ecmaVersion: 'latest',
    sourceType: 'module',
    project: ['./tsconfig.json', './tsconfig.node.json'],
    tsconfigRootDir: __dirname,
  },
};
  • Replace plugin:@typescript-eslint/recommended to plugin:@typescript-eslint/recommended-type-checked or plugin:@typescript-eslint/strict-type-checked
  • Optionally add plugin:@typescript-eslint/stylistic-type-checked
  • Install eslint-plugin-react and add plugin:react/recommended & plugin:react/jsx-runtime to the extends list