Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

회원가입 페이지 (깃허브) 구현 #12

Closed
wants to merge 22 commits into from

Conversation

seongjin2427
Copy link
Collaborator

Pull Request 요약

PR에 대한 내용을 작성해주세요.

회원가입 페이지 (깃허브)를 구현합니다.


작업 내용

작업 내용에 대해서 작성해주세요.

  • 테스트 코드 작성
  • UI 구현
  • 로직 구현
  • 서버 API 연동

참고 사항

참고 사항이 있다면 첨부해주세요.

image

관련 이슈

closing할 이슈 번호를 작성해주세요.

  • Close #

seongjin2427 and others added 22 commits December 2, 2023 21:03
- github templates - issue, bug, pr
- commit template
* [chore] install packages and set up plugin

- react-router dom, @types/react-router-dom
- @vanilla-extract/css, @vanilla-extract/vite-plugin, @vanilla-extract/recipes
- vite.config.ts -> added vanilla-extract plugin

* [chore] update eslint config -> 2 tihngs off
- import/extensions 'off'
- no-restricted-exports: 'off'

* [feat] added initial routes.tsx, AuthLayout.tsx

* [chore] update eslint rule and added ts path alias for styles
- .eslintrc - imoprt/prefer-default-export 'off'
- tsconfig.json - @styles/*

* [style] added initial theme and AuthLayout Component Style

* [chore] install @vailla-extract/sprinkles

* [chore] added eslint rule - react/jsx-props-no-spreading
- react/jsx-props-no-spreading 'off'

* [style] added and applied global css property - boxSizing: 'border-box'

* [style] added initial AuthLayout, LoginPage, responsive style
* [chore] install packages and set up plugin

- react-router dom, @types/react-router-dom
- @vanilla-extract/css, @vanilla-extract/vite-plugin, @vanilla-extract/recipes
- vite.config.ts -> added vanilla-extract plugin

* [chore] update eslint config -> 2 tihngs off
- import/extensions 'off'
- no-restricted-exports: 'off'

* [feat] added initial routes.tsx, AuthLayout.tsx

* [chore] update eslint rule and added ts path alias for styles
- .eslintrc - imoprt/prefer-default-export 'off'
- tsconfig.json - @styles/*

* [style] added initial theme and AuthLayout Component Style

* [chore] install @vailla-extract/sprinkles

* [chore] added eslint rule - react/jsx-props-no-spreading
- react/jsx-props-no-spreading 'off'

* [style] added and applied global css property - boxSizing: 'border-box'

* [style] added initial AuthLayout, LoginPage, responsive style

* disabled eslint rule "react/button-has-type"

* [feat] added common Button Component
- variants
  - fill: ['blue', 'gray', 'red']
  - size: ['small', 'medium', 'large']
  - disabled: ['true']

* [feat] added common Input Component
- variants
  - variants: ['border', 'noneBorder']
  - state: ['normal', 'fail']
  - size: ['small', 'medium', 'large']

* [style] applied global font - Pretendard
- update global style with global.css.ts
- added font files in public folder
  - Pretendard-Regular.woff2, Pretendard-Bold.woff2

* [feat] added Logo Component
- desktop - fontSize: 60px
- mobile/tablet - fontSize: 32px

* [chore] update eslint rules about prop-types
- react/require-default-props 'off'
- react/default-props-match-prop-types 'off'
- 타입스크립트로 타입 체크 됨
- prop-types 관련 rule off 적용

* [feat] added Typo common Component
- variants
  - fontSize: [...theme fontSize]
  - color: [...theme colors]
  - textDecoreation: ['underline']

* [refact] remove children property in ButtonProps
- due to be extended with ButtonHTMLAttrubutes, it means nothing.

* [feat] added ToggleWrapper Component

- using Render Props pattern

* [chore] svgr 추가

- vite-plugin-svgr 설치 및 적용
- assets/icons 폴더 추가 및 일부 아이콘 추가

* [feat] added InputField common component
- included label, label-prefix,  input, input-postfix, error message
- included errorState whether it has errorMessage props.
- it can get JSXElement for label prefix and input postfix
- by focusing, line color will be changed to blue.
- by getting error message, line color will be changed to red.

* [feat] update AuthLayout component

- added group.svg

* [feat] update LoginPage component

- added components(Logo, InputField, ToggleWrapper, Typo, Button)

* [chore] install react-hook-form

* [feat] added props cursor in Typo Component

* [feat] applied react-hook-form logic

- added alias paths with @hooks, @Constants, @utils
- added @utils/validate.ts
- added props maxLength in InputField Component
- removed states in InputField Component
- added react-hook-form logic in LoginPage Component

* [fix] added type="button" with EyeIcons button

- if didn't, it caused submit event

* [fix] added CSS style work-break: keep-all with Typo Component
* [fix] change style, coupled className props with component style className

- update responsive height

* [feat] added Field Component for Form Field

* [feat] added SignupPage Component and validators

* [chore] installed and configured vitest, added eslint rules

* [feat] added SignupPage route in routes.tsx

* [feat] update SignupPage Component and validate logic in utils

* [test] SignupPage 컴포넌트 테스트 코드 추가
* [feat] add Button style, seperate regExp from validate

* [feat] add AdditionalInfoPage

- src/pages/AdditionalInfoPage/components/
  - add AdditionalLink
  - add InterestCheckbox
  - add MyInterestField
  - add utils/dynamicWidth.ts
- src/assets/icons/
  - add circle.close.svg
  - add close.svg

* [style] added response mobile style

* [feat] applied mobile responsive style, added preventing duplicate myInterests

* [feat] added preprocessing form data logic

* [feat] added myInterests input focus style, replace duplicate logic to use interests list

* [feat] fix MyInterestField isDuplicate logic
- when occuring onKeyDown with remove component, onBlur event was occured at the same time.
- fix only onBlur event to be occured when isEditing state is true.

* [feat] when checking duplicate myInterest, exclude empty word

* [refact] seperate logics to custom hooks
- seperate useAdditionalInfoForm and useAdditionalInfoFieldArray from AdditionalInfoPage component

* [style] update Field component style

* [style] apply top-level background to gray
- update GithubSignupPage logic
- applied autoComplete="off" of Input Component
- update Field Component style (fieldContainer - marginBottom: 20 to fix)
- annotated bypass autocomplete reset css in global.css.ts
- states constants toUpperCase
- copied nickname check logic of GithubSignupPage to SignupPage
@seongjin2427 seongjin2427 added the feat 구현, 개선 사항에 관련된 이슈입니다. label Mar 11, 2024
@seongjin2427 seongjin2427 self-assigned this Mar 11, 2024
Copy link

netlify bot commented Mar 11, 2024

Deploy Preview for prostargram ready!

Name Link
🔨 Latest commit caf783c
🔍 Latest deploy log https://app.netlify.com/sites/prostargram/deploys/65eeec7935883800080238da
😎 Deploy Preview https://deploy-preview-12--prostargram.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.

Copy link

Quality Gate Failed Quality Gate failed

Failed conditions
29.9% Duplication on New Code (required ≤ 3%)

See analysis details on SonarCloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feat 구현, 개선 사항에 관련된 이슈입니다.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants