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

Impl Semester component And DocType component #48

Open
wants to merge 11 commits into
base: dev
Choose a base branch
from

Conversation

ChaeyeonAhn
Copy link
Contributor

@ChaeyeonAhn ChaeyeonAhn commented Nov 21, 2024

요약 *

It closes #47

Update 12/23

테스트용 /app/page.tsx 코드

"use client";

import { useState } from "react";
import ThreeInput, {
  ThreeInputItem,
} from "../common/components/ThreeInput/index";
import { mockData } from "../common/components/ThreeInput/mock";
import { DocumentType } from "../common/components/SelectCard/DocumentTypeSelectCard";
import Typography from "../common/components/Typography";

const Home = () => {
  const items: ThreeInputItem[] = mockData;

  // 학기 선택
  const [year, setYear] = useState<number>(items[0].year);
  const [isSpring, setIsSpring] = useState<boolean>(items[0].value.isSpring);

  // 문서 유형 선택
  const [type, setType] = useState<DocumentType>(DocumentType.BudgetProposal);

  // 조직 유형 선택
  const [selectedKey, setSelectedKey] = useState<string>(""); // CHACHA: TODO: enum으로 변경
  const [selectedValue, setSelectedValue] = useState<string>(""); // CHACHA: TODO: enum으로 변경

  return (
    <>
      <div>Welcome to SPARCS Students!</div>
      <Typography>
        {year} {isSpring ? "봄" : "가을"} {type} {selectedKey} {selectedValue}
      </Typography>
      <ThreeInput
        itemList={items}
        year={year}
        setYear={setYear}
        isSpring={isSpring}
        setIsSpring={setIsSpring}
        type={type}
        setType={setType}
        selectedKey={selectedKey}
        setSelectedKey={setSelectedKey}
        selectedValue={selectedValue}
        setSelectedValue={setSelectedValue}
      />
    </>
  );
};
export default Home;


얘기하고 싶은 것

  • 예시 코드와 같이 전체 list를 넣어주고, useState 통해 상태 관리 로직만 간단하게 넣어주면 알아서 잘 작동합니다! 아래 영상을 참고해주세요.

  • 예시 list가 너무 길어서 mockData로 빼 놓았어요! (백 코드가 완성되면 백에서 가져오는 구조대로 싹 바꾸어야 할 듯 합니다.)

  • 연도/학기 -> 문서 유형 -> 조직 키 -> 조직 밸류 의 의존성이 있다고 판단하고 구현했습니다.

  • 2022년/봄 -> 문서1, 문서2 => 문서 1에 대해 조직1 -> 조직1에 대해 그 아래 조직들 n개 / 문서 2에 대해 조직1 ,2 ... 어쩌구 이렇게

  • 여기서 설명하기가 어려워서, mockData 봐 주시면 감사하겠습니다!

스크린샷

2024-12-23.8.39.33.mov

이후 Task *

  • 없음

@ChaeyeonAhn ChaeyeonAhn added enhancement New feature or request frontend labels Nov 21, 2024
@ChaeyeonAhn ChaeyeonAhn self-assigned this Nov 21, 2024
@ChaeyeonAhn ChaeyeonAhn linked an issue Nov 21, 2024 that may be closed by this pull request
2 tasks
@ChaeyeonAhn ChaeyeonAhn marked this pull request as ready for review November 28, 2024 14:45
@wjeongchoi
Copy link
Contributor

분기 / 문서유형 에 따라 선택할 수 있는 단체 사라지는 것도 보고 싶어요!
그리고 테스트용 코드에 현재 선택된 상태 볼 수 있게 밑에 텍스트로 추가해주실 수 있나요?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request frontend
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Impl Semester Doc select component
2 participants