moofarm / ssuckssuck-frontend

0 stars 2 forks source link

[Feat] 랜딩페이지 (로그인, 회원가입) #38

Closed ramrami-B closed 6 months ago

ramrami-B commented 6 months ago

📝 작업 내용

구현 화면

코드 참고사항

1. 버튼에 짙은 초록색('dark-green') 배경도 설정 할 수 있도록 변경했습니다!

backgroundColor === "green"
      ? "bg-green text-white "
      : backgroundColor === "dark-green"
        ? "bg-dark-green text-white "
        : "bg-white text-gray ";

사용 예)

<Button
  backgroundColor="dark-green" // 배경색 설정 dark-green, green(default), white 있음
  label="버튼" // 버튼에 들어갈 텍스트
  size="medium" //  small, medium(default), large 있음 
  style={{ width: "100%" }} // 추가 속성 정의 가능
  onClick={() => {}}
/>

2. useCategorySelector : 대분류와 소분류를 선택하는 코드 커스텀 훅으로 분리

import { useState } from "react";
import { categories } from "../utils/utils";

export const useCategorySelector = () => {
  const [selectedCategory, setSelectedCategory] = useState("공부");
  const [selectedsubcategory, setSelectedSubcategory] = useState("");

  const changeCategory = category => {
    setSelectedCategory(category);
    setSelectedSubcategory(categories[category][0]);
  };

  const changeSubCategory = subCategory => {
    setSelectedSubcategory(subCategory);
  };

  return { selectedCategory, changeCategory, selectedsubcategory, changeSubCategory };
};

사용 예)

const { selectedsubcategory, changeSubCategory } = useCategorySelector();

필요한 변수(상태) 혹은 함수만 가져와서 사용 가능 합니다!

3. 랜딩페이지에서 공통으로 사용하는 상태 공유를 위한 커스텀 Context 생성

LandingProvier

코드 구현에 해당 포스팅을 참고했습니다! 다른 사람들이 안 알려주는 리액트에서 Context API 잘 쓰는 방법

사용자 정보인 user 상태는 회원가입 절차가 모두 완료되면 request 보낼 수 있도록 api 명세와 동일하게 정의했습니다! src/utils/datas.js

export const user = {
  email: "",
  name: "",
  nickname: "",
  oauthServerType: "KAKAO",
  mainCategory: "",
  subCategory: null,
};

🔗 연관 이슈

36

✅ 리뷰 요구사항