deltahacks / portal

The attendee & admin portal for DeltaHacks, the hackathon for change.
https://portal.deltahacks.com
MIT License
10 stars 2 forks source link

feat: create custom application form #149

Closed arian81 closed 1 year ago

arian81 commented 1 year ago

Summary by CodeRabbit

Given the provided information, the following bullet-point list summarizes the changes in the pull request:

linear[bot] commented 1 year ago
TECH-35 Create new application flow

Design and implement a new flow for applications.

netlify[bot] commented 1 year ago

Deploy Preview for profound-kringle-30b3e4 ready!

Name Link
Latest commit 6ca12ba6d89186c6a02800ea1f67b4cdf2d0f4cd
Latest deploy log https://app.netlify.com/sites/profound-kringle-30b3e4/deploys/65567bbb1e3839000769e9ed
Deploy Preview https://deploy-preview-149--profound-kringle-30b3e4.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

coderabbitai[bot] commented 1 year ago
## Walkthrough
The changes encompass a wide range of updates, including the introduction of new Zod schemas for data validation, modifications to Next.js components for form handling, enhancements to GitHub Actions workflow, and adjustments to Prisma models and relationships. These changes collectively expand the application's data model, improve form validation and submission, and refine the development environment setup.

## Changes
| File(s) | Summary |
| ------- | ------- |
| .eslintrc.json | Turned off "@typescript-eslint/no-unused-vars" and "@typescript-eslint/no-explicit-any" rules. |
| prisma/schema.prisma | Added `DH10Application` model and updated `User` model for one-to-one relationship. |
| src/pages/apply.tsx | Replaced `Widget` with custom form, added form input fields, and updated form submission logic. |
| src/components/FormTextInput.tsx, MultiSelect.tsx, CustomSelect.tsx, UniversitySelect.tsx | Introduced new form input and selection components. |
| src/components/Background.tsx, SocialButtons.tsx, NavBar.tsx | Made visual and layout adjustments to components. |
| src/env/schema.mjs, src/pages/_app.tsx | Added environment variable validation and updated meta tag setting. |
| src/server/router/application.ts, src/server/router/context.ts | Added new imports, procedures, and context enhancements. |
| .github/workflows/PR-CI.yaml | Updated Node.js version and switched to pnpm for package management. |
| .gitignore | Excluded "src/pages/test.tsx" from version control. |
| prisma/zod/* | Introduced new Zod schemas and models for various entities. |
| src/data/applicationSelectData.ts | Added global arrays for select options. |
| src/schemas/application.ts | Introduced comprehensive schema for validating applicant information. |
| src/styles/globals.css | Updated background colors in the `.light-gradient` class. |
| prisma/migrations/20231116193647_add_dh10_application_schema/migration.sql | Added new column, table, constraints, and index to the database schema. |

## Poem
> As autumn leaves sway,
> Code dances through the day,
> Embracing change, we play.

Tips ### Chat with CodeRabbit Bot (`@coderabbitai`) - If you reply to a *review comment* from CodeRabbit, the bot will automatically respond. - To engage with CodeRabbit bot directly around the specific lines of code in the PR, mention @coderabbitai in your review comment - Note: Review comments are made on code diffs or files, not on the PR overview. - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Commands (invoked as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger a review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai help` to get help. Note: For conversation with the bot, please use the review comments on code diffs or files. ### CodeRabbit Configration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - The JSON schema for the configuration file is available [here](https://coderabbit.ai/integrations/coderabbit-overrides.v2.json). - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json`