Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
0a37d2c
Feat sprint mission1 first commit
Oct 28, 2025
61c298e
폴더 분류 구조화
Oct 30, 2025
c5d0a83
reset font base 에관한 css 추가
Oct 30, 2025
45160ec
style.css 및 html 시멘틱 태그 코드리팩토링
Oct 30, 2025
6080e06
코드 리팩토링(클래스 이름변경, 이미지 alt추가)
Oct 30, 2025
dea87a2
상단 NAV바 고정 및 시멘틱 태그 코드리팩토링
Oct 30, 2025
3879df5
color 변수화 및 글씨체 rokaf sans 적용
Oct 30, 2025
c942c68
sprint2 mission 작성
Oct 30, 2025
3c91ff2
Add meta tag
Oct 31, 2025
2bab2b9
상단 NAV바 padding 좌우 설정 ( 태블릿24px 모바일16px)
Oct 31, 2025
734e5e6
Fix: 로그인 페이지 반응형 웹 제작 (모바일)
Oct 31, 2025
d08d638
Docs, Refacter: 스프린트미션 피드백 반영
Nov 4, 2025
5d88864
Chore : 오타 및 클래스네임 오타 수정
Nov 10, 2025
7a45a88
Fix : 상단 nav 여백(태블릿) 24px 수정& 상단 배너 텍스트 줄바꿈 issue
Nov 10, 2025
91499b6
Feat : sprint-mission4 기본미션 구현
Nov 10, 2025
f42bd7b
Style : JS 일부 빼먹은 함수 주석 설명 추가
Nov 10, 2025
c773c3c
Feat : sprint-mission4 심화요구 사항 구현
Nov 11, 2025
37ee742
Docs : 리액트 빌드 추가
Dec 13, 2025
7944e73
Feat: items페이지 BEST 상품 목록 구현및 NAV 구현
Dec 13, 2025
fa7b425
Feat: all아이템 목록 및 페이지네이션 리액트 구현 및 URL파람구현
Dec 14, 2025
000875c
Build: 리액트 배포 빌드 생성
Dec 14, 2025
722c192
Fix: CustomSort 오픈 시 레이아웃 망가지는 버그 수정
Dec 14, 2025
26fe607
Fix: url파람 페이지네이션 화살표버튼에도 적용
Dec 14, 2025
7a1940f
Remove items/node_modules from git
Dec 14, 2025
2af9579
Remove items/dist from git
Dec 14, 2025
f7c91b5
Feat: sprint6 구현 상품 등록하기 페이지 추가
Dec 14, 2025
1ba8519
Refactor: 모듈css 전역태그 적용 해제 수정
Dec 14, 2025
599e606
Refactor: AllItemList안에 있던AllItem 컴포넌트 분리 및 네이밍 변경
Dec 15, 2025
0d16811
Feat: useSearchParam 커스텀 훅 작성 컴포넌트 분리
Dec 15, 2025
98ee7ea
Refactor: 단어 Item => Product로 교체
Dec 15, 2025
769229c
Remove node_modules from repo
Dec 15, 2025
a0b70dd
refactor: Nav -> customSelect 컴포넌트 재사용성 증대
Dec 16, 2025
1bebb4a
remove node_modules from origin
Dec 16, 2025
90912d4
feat: usePagination과 useSortParam 커스텀 훅 작성
Dec 17, 2025
ae00494
refactor: sprint-mission5 & 6 피드백 구현
Dec 18, 2025
e06ed71
feat: Product card 로딩시 스켈레톤 애니메이션 추가
Dec 18, 2025
0557ac2
feat: productPage 좋아요 버튼 스켈레톤 적용
Dec 18, 2025
90b5ce1
refactor: 웹사이즈 별 pageSize 변경 logic => matchMedia로 변경
Dec 18, 2025
a277ef6
feat: Debounce Custom Hook 작성 및 데이터 검색창에 적용
Dec 18, 2025
35ec588
refactor: debouncing custom hook 불필요한 리렌더링 현상 해결-메모이제이션
Dec 19, 2025
1e69ded
feat: comments 더불러오기 버튼 구현 & loading 상태 구현
Dec 19, 2025
5227ae0
feat: 댓글 수정기능 추가 비제어 인풋 활용
Dec 19, 2025
89bb288
feat: 댓글창 비제어 인풋 적용 및 반응형 웹 제작
Dec 19, 2025
e6f098a
fix: 404에러 처리
Dec 19, 2025
aee3c6d
perf: ProductPage 댓글 더불러오기 시 최적화( 메모이제이션)
Dec 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/products/node_modules/
/products/dist/
44 changes: 44 additions & 0 deletions css/global.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
@import url("./reset.css");


:root {
--color-banner-bg: #CFE5FF;
--color-footer-bg: #111827;
--color-section-bg: #fcfcfc;
--color-simple-lb: #E6F2FF;

--white: #FFFFFF;

--blue-100: #3692FF;
--blue-200: #1967D6;
--blue-300: #1251AA;

--red: #f74747;

--gray-50: #F9FAFB;
--gray-100: #F3F4F6;
--gray-200: #E5E7EB;
--gray-300: #D1D5DB;
--gray-400: #9CA3AF;
--gray-500: #6B7280;
--gray-600: #4B5563;
--gray-700: #374151;
--gray-800: #1F2937;
--gray-900: #111827;

--login_bt_height: clamp(38px, 3.7vw, 48px);
}

/*---------------font------------*/

@font-face {
font-family: 'ROKAFSans';
font-weight: 400;
src: url('../fonts/ROKAFSansMedium.woff') format('woff');
}

@font-face {
font-family: 'ROKAFSans';
font-weight: 700;
src: url('../fonts/ROKAFSansBold.woff') format('woff');
}
195 changes: 195 additions & 0 deletions css/pages/auth.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@


.container{
width: 640px;
height: 670px;
margin: 0 auto;
}




.title{
width: 396px;
height: 132px;
margin: 60px auto 40px auto;
display: flex;
align-items: center;
justify-content: space-between;
}

.title img{
width: 103.53px;
height: 103.88px;
}

.title h1{
font-family: "ROKAFSans";
font-weight: 700;
font-size: 66.34px;
color: var(--blue-100);

}





.input_box{
margin-bottom: 24px;
font-family: "pretendard";
color: var(--gray-800);
}

.input_box label{
display: block;
font-weight: 700;
font-size: 18px;
margin-bottom: 16px;
}

.input_box input{
width: 100%;
height: 56px;
border-radius: 12px;
border: none;
background-color: var(--gray-100);
padding: 16px 24px;
font-size: 16px;

}

.password_input_box, .password_confirm_input_box{
position: relative;
display: flex;
align-items: center;
}

.password_input_box .img_box,
.password_confirm_input_box .img_box{
position: absolute;
right: 24px;
width: 24px;
height: 24px;
}

button{
width: 100%;
height: 56px;
border: none;
border-radius: 40px;
background-color: var(--blue-100);

font-family: "pretendard";
font-size: 20px;
font-weight: 600;
color: var(--gray-100);
margin-bottom: 24px;
}

button.inactive{
cursor: default;
background-color: var(--gray-400);

}


.simple_login_box{
width: 100%;
height: 74px;
padding: 16px 23px;
display: flex;
justify-content: space-between;
align-items: center;
background-color: var(--color-simple-lb);
border-radius: 8px;
border: none;
font-family: "pretendard";
font-size: 16px;
font-weight: 500;
margin-bottom: 24px;
}


.signup_box, .login_box{
text-align: center;
margin: 0 auto;
font-family: "pretendard";
font-size: 14px;
font-weight: 500;
color: var(--gray-800);
}

.signup_box a{
color: var(--blue-100);
text-decoration: underline;
}

.input_box .email_empty, .input_box .email_wrong,
.input_box .password_empty, .input_box .password_wrong,
.input_box .password_confirm_wrong, .input_box .nickname_empty{
border: 1.5px solid var(--red);
}

.email_empty_message, .email_wrong_message,
.password_empty_message, .password_wrong_message,
.password_confirm_wrong_message, .nickname_empty_message{
color: var(--red);
display: block;
font-family: "pretendard";
font-size: 14px;
font-weight: 600;
padding-top: 16px;
padding-left: 16px;
}

.display_none{
display: none;
}

.display_block{
display: block;
}



/* -------------------------------------
-------------- 모바일 -----------------
---------------------------------------- */



@media (max-width: 767px){
.container{
width: clamp(343px, 50vw, 400px);
height: 553px;
margin: 0 auto;
padding: 0 16px;
box-sizing: content-box;
}
.input_box{
margin-bottom: 16px;

}

.title{
width: 198px;
height: 66px;
margin: 24px auto 24px auto;
display: flex;
align-items: center;
justify-content: space-between;
}

.title img{
width: 51.76px;
height: 51.94px;
}

.title h1{

font-size: 33.17px;
color: var(--blue-100);

}
}
Loading