-
Notifications
You must be signed in to change notification settings - Fork 0
관리자 라우터, 사이드바 outlet 세팅 (#issue 321) #322
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| import styled from 'styled-components'; | ||
|
|
||
| export const TitleContainer = styled.header``; | ||
|
|
||
| export const TitleWrapper = styled.div` | ||
| margin-bottom: 2rem; | ||
| `; | ||
|
|
||
| export const Title = styled.h1``; |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,17 @@ | ||
| import ContentBorder from '../../contentBorder/ContentBorder'; | ||
| import * as S from './AdminTitle.styled'; | ||
|
|
||
| interface AdminTitleProps { | ||
| title: string; | ||
| } | ||
|
|
||
| export default function AdminTitle({ title }: AdminTitleProps) { | ||
| return ( | ||
| <S.TitleContainer> | ||
| <S.TitleWrapper> | ||
| <S.Title>{title}</S.Title> | ||
| </S.TitleWrapper> | ||
| <ContentBorder /> | ||
| </S.TitleContainer> | ||
| ); | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| export default function AdminAllUser() { | ||
| return <div></div>; | ||
| } | ||
|
Comment on lines
+1
to
+3
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion 플레이스홀더 컴포넌트에 대한 개선 제안 현재 빈 컴포넌트로 구현되어 있는데, 다음과 같은 개선을 제안합니다:
+// TODO: 전체 사용자 관리 페이지 구현 필요
+// 기능: 사용자 목록 조회, 검색, 필터링, 상태 관리
export default function AdminAllUser() {
- return <div></div>;
+ return (
+ <div>
+ <h2>전체 사용자 관리</h2>
+ <p>개발 중입니다...</p>
+ </div>
+ );
}🤖 Prompt for AI Agents |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| export default function AdminBanner() { | ||
| return <div></div>; | ||
| } | ||
|
Comment on lines
+1
to
+3
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion 플레이스홀더 컴포넌트 일관성 개선 AdminAllUser와 동일한 패턴의 빈 컴포넌트입니다. 일관성을 위해 동일한 개선사항을 적용하는 것을 제안합니다. +// TODO: 배너 관리 페이지 구현 필요
+// 기능: 배너 등록, 수정, 삭제, 순서 변경, 활성화/비활성화
export default function AdminBanner() {
- return <div></div>;
+ return (
+ <div>
+ <h2>배너 관리</h2>
+ <p>개발 중입니다...</p>
+ </div>
+ );
}🤖 Prompt for AI Agents |
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| import styled from 'styled-components'; | ||
|
|
||
| export const AdminInquiriesContainer = styled.div``; |
| Original file line number | Diff line number | Diff line change | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,5 @@ | ||||||||||||||
| import * as S from './AdminInquires.styled'; | ||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. import 경로의 파일명 불일치를 수정하세요. import 경로에서 다음과 같이 수정하세요: -import * as S from './AdminInquires.styled';
+import * as S from './AdminInquiries.styled';📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||
|
|
||||||||||||||
| export default function AdminInquires() { | ||||||||||||||
| return <S.AdminInquiriesContainer></S.AdminInquiriesContainer>; | ||||||||||||||
| } | ||||||||||||||
|
Comment on lines
+3
to
+5
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 함수명 불일치를 수정하고 컴포넌트 구조를 확인하세요. 함수명이 함수명을 수정하세요: -export default function AdminInquires() {
+export default function AdminInquiries() {
return <S.AdminInquiriesContainer></S.AdminInquiriesContainer>;
}📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,3 @@ | ||||||||||||||||||||||||||||||
| export default function AdminMain() { | ||||||||||||||||||||||||||||||
| return <div></div>; | ||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||
|
Comment on lines
+1
to
+3
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion 관리자 메인 페이지 플레이스홀더 개선 이 컴포넌트는 관리자 섹션의 메인(인덱스) 페이지로 사용되므로, 더 명확한 플레이스홀더 콘텐츠가 필요합니다. +// TODO: 관리자 대시보드 메인 페이지 구현
+// 기능: 주요 통계, 최근 활동, 빠른 링크 등
export default function AdminMain() {
- return <div></div>;
+ return (
+ <div>
+ <h1>관리자 대시보드</h1>
+ <p>관리자 메인 페이지 개발 중입니다...</p>
+ {/* TODO: 대시보드 위젯들 추가 예정 */}
+ </div>
+ );
}메인 페이지이므로 향후 대시보드 기능(통계, 차트, 빠른 액세스 링크 등)을 포함할 계획을 고려해주세요. 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| export default function AdminManage() { | ||
| return <div></div>; | ||
| } |
| Original file line number | Diff line number | Diff line change | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,3 @@ | ||||||||||||
| import styled from 'styled-components'; | ||||||||||||
|
|
||||||||||||
| export const Container = styled.div``; | ||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💡 Verification agent 🧩 Analysis chain빈 스타일 컴포넌트 검토 필요 현재 스타일이 정의되지 않은 Container 컴포넌트가 있습니다. AdminNotice 컴포넌트에서 실제로 사용되는지와 필요한 스타일이 있는지 확인해주세요. 만약 아직 스타일이 필요하지 않다면, 임시로 주석을 추가하거나 향후 구현 계획을 명시하는 것을 제안합니다: import styled from 'styled-components';
+// TODO: AdminNotice 페이지 레이아웃에 필요한 스타일 추가 예정
export const Container = styled.div``;🏁 Script executed: #!/bin/bash
# AdminNotice 컴포넌트에서 Container 사용 여부 확인
rg -A 5 -B 5 "Container" src/pages/admin/adminNotice/Length of output: 883 AdminNotice Container styled-component 검토 및 스타일 추가 필요 AdminNotice.tsx에서
예시 (TODO 주석 추가): import styled from 'styled-components';
+// TODO: AdminNotice 레이아웃에 맞춰 Container 스타일 정의 예정
export const Container = styled.div``;📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| import AdminTitle from '../../../components/common/admin/title/AdminTitle'; | ||
| import * as S from './AdminNotice.styled'; | ||
|
|
||
| export default function AdminNotice() { | ||
| console.log('공지사항 렌더'); | ||
|
|
||
| return ( | ||
| <S.Container> | ||
| <AdminTitle title='공지사항' /> | ||
| </S.Container> | ||
| ); | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| export default function AdminReports() { | ||
| return <div></div>; | ||
| } |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,3 @@ | ||||||||||||||||||||||||
| export default function AdminTags() { | ||||||||||||||||||||||||
| return <div></div>; | ||||||||||||||||||||||||
| } | ||||||||||||||||||||||||
|
Comment on lines
+1
to
+3
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion 모든 관리자 플레이스홀더 컴포넌트에 일관된 패턴을 적용하세요. 다른 관리자 컴포넌트들과 동일한 접근성 문제가 있습니다. 모든 관리자 페이지 컴포넌트에 일관된 구조를 적용하는 것을 권장합니다. 다음과 같이 개선하고, 다른 관리자 컴포넌트들도 동일한 패턴으로 통일해주세요: export default function AdminTags() {
- return <div></div>;
+ return (
+ <main>
+ <h1>태그 관리</h1>
+ <p>태그 관리 기능을 개발 중입니다.</p>
+ </main>
+ );
}모든 관리자 컴포넌트( 📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||
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.
🛠️ Refactor suggestion
로그아웃 로직의 UX 개선을 제안합니다.
현재 구현에서 몇 가지 개선점이 있습니다:
MODAL_MESSAGE.needAuth로 설정되어 있는데, 로그아웃 확인에는 부적절해 보입니다다음과 같이 개선을 제안합니다:
const handleClickLogout = () => { - handleModalOpen(MODAL_MESSAGE.needAuth); - setTimeout(() => { - logout(); - navigate(ROUTES.main); - }, 1000); + if (window.confirm('로그아웃 하시겠습니까?')) { + logout(); + navigate(ROUTES.main); + } };또는 모달을 사용하려면 적절한 확인/취소 버튼이 있는 확인 모달을 구현하는 것이 좋습니다.
📝 Committable suggestion
🤖 Prompt for AI Agents