-
Notifications
You must be signed in to change notification settings - Fork 1
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
[#19] 대회 정보 표시 #44
The head ref may contain hidden characters: "19-\uB300\uD68C-\uC815\uBCF4-\uD45C\uC2DC"
[#19] 대회 정보 표시 #44
Conversation
- 프로젝트명, 대회 이름, 문제 이름을 표시하는 헤더 컴포넌트를 작성했습니다. - 대회 이름을 표시하는 문제 제목 컴포넌트를 작성했습니다.
기존에 하드코딩 되어있던 데이터를 수정하였습니다.
컴포넌트 선언문 안에 선언되어있던 상수를 선언문 바깥으로 분리했습니다.
frontend/src/components/Header.tsx
Outdated
import TextForHeader from './TextForHeader'; | ||
interface Props { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
사이에 공백 하나만 넣어주세요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
넵!
frontend/src/components/Header.tsx
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 컴포넌트는 나중에 로그인 버튼 등이 들어간다고 보면 될까요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Header 면 모든 페이지에 사용되는 것 같아요. 제가 해석한 코드는 컨테스트 페이지 내의 대회 정보 헤더 같은데 맞다면 파일명 변경 해 주세요!
frontend/src/logos/Albbago.svg
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이런 정적 요소는 assets이나 public으로 빼주실 수 있나요? 앞으로도 이런 정적 요소가 생길 것이고 그때가 되면 logos 폴더를 제거하고 옮겨야할거라 미리하면 좋을 것 같습니다.
개인적인 생각엔 src/assets/
안으로 넣으면 될 것 같습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
동의합니다.
사실 저 로고 자체를 페이지에서 많이 사용할 것 같은데, 그렇다면 assets에 넣고 로고 컴포넌트를 따로 만들어서 크기? 정도의 프로펄티만 받아서 재사용할 수 있으면 더 좋겟네요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
넵, 감사합니다!
} | ||
|
||
const category = 'Algo With Me'; | ||
const tt = '>'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tt는 무슨 의미인가요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
진짜 뭐죠 😎 ??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
죄송합니다, 제가 임시로 tt라는 이름을 지정했는데, PR전에 확인을 못했습니다
다음부터는 import문 공백이나 이런 실수 등이 없도록 PR전에 꼭 확인하겠습니다!
<div> | ||
<div className={titleContainer}> | ||
<img src={Albbago} alt="Albbago Logo" className={logoStyle} /> | ||
{category} {tt} {title} {tt} {problemName} | ||
</div> | ||
</div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여기는 div를 두 번 중첩시킬 필요는 없어보이는데, 모르는 의미가 있는걸까요?
밖의 div와 안의 div는 어떤 차이가 있나요?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
구조를 바꾸면서 바깥쪽 div가 필요 없어졌는데, 이를 놓치고 그대로 작성한 상태로 넣은 것 같습니다, 다음부터는 PR전에 꼭 확인하도록 하겠습니다!
죄송하고 감사합니다!
const category = 'Algo With Me'; | ||
const tt = '>'; | ||
|
||
export default function TextForHeader(props: Props) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
더 명확한 이름이 있을 것 같아요. 제 생각에 지금 header의 정의가 명확하지 않은 것 같습니다.
우찬님이 작성하신 header는 사이트의 header인가요 문제 푸는 곳의 header인가요.
제 생각에 둘을 분리하자면
- 사이트의 header: 사이트 로고, 로그아웃/로그인
- 문제푸는곳의 header: 문제 이름, 남은 시간, 대시보드 보기
이런 내용이 들어갈 것 같은데, 이 header는 둘 다 들어간 것 같아요. 그래서 이 헤더는 분리하고 더 명확한 이름을 붙일 수 있을 것 같네요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
감사합니다!
말씀하신 대로 분리한 뒤에 이름을 바꾸도록 하겠습니다!
다음부터는 이를 먼저 고려하겠습니다!
<div> | ||
<Header title={'test'} problemName={targetProblem.title} /> | ||
<ProblemTitle problemName={targetProblem.title} /> | ||
<div className={layout}> | ||
<ProblemContent content={targetProblem}></ProblemContent> | ||
<div> | ||
<Editor code={code} onChangeCode={handleChangeCode} /> | ||
<button onClick={handleTestExec}>테스트 실행</button> | ||
{testCases.map((tc, index) => ( | ||
<Tester | ||
param={tc.param} | ||
result={tc.result} | ||
onChangeParam={(param: string) => handleChangeParam(index, param)} | ||
key={index} | ||
></Tester> | ||
))} | ||
</div> | ||
</div> | ||
</div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
너무 div tag만 사용한다고 생각듭니다.
해당 페이지에서 제일 중요한 부분이니 section으로 감싸도 좋을 것 같습니다.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
감사합니다, 다음부터는 태그를 사용할 때 목적에 맞는 태그를 사용하도록 하겠습니다!
- header컴포넌트명을 수정하는 과정에서 albbago로고를 삭제했습니다. - header컴포넌트명을 HeaderOfContentPage로 수정하였습니다. - div만 사용하던 html tag를 각 목적에 맞게 수정하였습니다. - 변수명, import문 공백, 쓸데없는 html tag삭제
<div> | ||
<Header title={'test'} problemName={targetProblem.title} /> | ||
<main> | ||
<HeaderOfContestPage title={'test'} problemName={targetProblem.title} /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
전치사가 들어간 명명이 많은데, 제 생각엔 별론 것 같습니다.
또, page 조차 붙을필요가 있을까란 생각이 들어요.
로그인 페이지로 예를 들면 Login이면 충분하다고 생각해요
contestPage => contest면 충분하지 않을까란 생각입니다.
hedaerOfContestPage
=> contestHeader
제 개인적인 의견입니다.
이런 식의 구성이 되야 하지 않을까요
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저도 동의합니다. ContestHeader
가 좋은 것 같네요
<div> | ||
<Header title={'test'} problemName={targetProblem.title} /> | ||
<main> | ||
<HeaderOfContestPage title={'test'} problemName={targetProblem.title} /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저도 동의합니다. ContestHeader
가 좋은 것 같네요
<div> | ||
<TextForHeader title={title} problemName={problemName}></TextForHeader> | ||
</div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
헤더라면 header
태그를 쓰는게 좋아보여요.
대회 헤더라서 페이지 헤더와 구분되어야한다면 헤더라는 이름보다 ContestSummary 같은 개념으로 보는게 좋지 않을까요?
그리고 title 정보와 problemName 정보를 하나의 자료구조로 묶어서 보내는게 좋지 않을까 생각됩니다.
<div className={bottomLineOfTitle}> | ||
<div>{problemName}</div> | ||
</div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bottomLine은 border-bottom으로 처리할 수 있을 것 같은데 어떤가요?
그리고 내부의 <div>{problemName}</div>
도 구지 div로 안 감싸도 될 것 같아요
- hast-util-to-jsx-runtime/lib/components 라이브러리 설치 - ContestPage 파일 구조 변경 - 디렉토리 구조 변경
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 😎
한 일