-
Notifications
You must be signed in to change notification settings - Fork 0
관리자 메인 페이지 구현 ( issue #318 ) #328
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
Merged
Changes from 16 commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
0e66543
feat : 문의 확인 미리보기 구현
layout-SY 8945a90
style : 메인 페이지 레이아웃 구조 스타일 개선
layout-SY eef03c4
feat : 문의 확인에 "상세 보기" 추가
layout-SY e74714c
fix : mock 미동작 문제 해결 및 신고, 유저 전체 조회 mock 데이터 추가
layout-SY b222ea3
style : "문의 확인 미리보기" 스타일 수정
layout-SY 722cc8a
feat : "신고 검토" 미리보기 구현
layout-SY c9bda6d
feat : "전체 회원 조회" 미리 보기 구현
layout-SY 6fcbc1d
feat : "전체 회원 조회" 미리보기 api 구현
layout-SY eb77540
feat : mock 데이터 수정
layout-SY 90e5e32
feat : "전체 회원 조회" 미리보기 타입 추가
layout-SY b327076
feat : "신고 항목" 미리보기 api 구현
layout-SY 31a4c93
feat : 메인 그래프 컴포넌트 구현
layout-SY 3a5e87c
feat : 토큰이 있을 때만 testAlarm 실행
layout-SY 0b30826
Merge branch 'develop' of https://github.com/devpalsPlus/frontend int…
layout-SY 7b09a7c
fix : 브랜치가 꼬여 라우팅 오류난 부분 해결
layout-SY e2c113d
review : 리뷰 사항 적용
layout-SY d667d0b
review : 리뷰 수정 사항 적용
layout-SY 9b42294
review : 리뷰 사항 반영
layout-SY File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,4 @@ | ||
| import type { ApiPostContent } from '../models/report'; | ||
| import { ApiAllReports, type ApiPostContent } from '../models/report'; | ||
|
||
| import { httpClient } from './http.api'; | ||
|
|
||
| export const postReport = async (formData: ApiPostContent) => { | ||
|
|
@@ -13,3 +13,13 @@ export const postReport = async (formData: ApiPostContent) => { | |
| throw error; | ||
| } | ||
| }; | ||
|
|
||
| export const getAllReports = async () => { | ||
| try { | ||
| const response = await httpClient.get<ApiAllReports>(`/reports`); | ||
| return response.data.data; | ||
| } catch (e) { | ||
| console.error(e); | ||
| throw e; | ||
| } | ||
| }; | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| import styled from 'styled-components'; | ||
|
|
||
| export const Container = styled.div``; | ||
| export const Container = styled.div` | ||
| height: 350px; | ||
| `; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,8 +1,97 @@ | ||
| import React from 'react'; | ||
| import * as S from './GraphCard.styled'; | ||
| import { Line } from 'react-chartjs-2'; | ||
| import 'chart.js/auto'; | ||
| import { ChartData, ChartOptions } from 'chart.js'; | ||
|
|
||
| const GraphCard = () => { | ||
| return <S.Container>GraphCard Component</S.Container>; | ||
| return ( | ||
| <S.Container> | ||
| <Line data={data} options={options} /> | ||
| </S.Container> | ||
| ); | ||
| }; | ||
|
|
||
| const data: ChartData<'line'> = { | ||
| labels: [ | ||
| '월요일', | ||
| '화요일', | ||
| '수요일', | ||
| '목요일', | ||
| '금요일', | ||
| '토요일', | ||
| '일요일', | ||
| ], | ||
| datasets: [ | ||
| { | ||
| label: '방문자 수', | ||
| data: [8, 6, 4, 0, 7, 5, 3], | ||
| fill: true, | ||
| backgroundColor: 'rgba(54, 162, 235, 0.2)', | ||
| borderColor: 'rgba(54, 162, 235, 1)', | ||
| borderWidth: 2, | ||
| tension: 0.3, | ||
| pointRadius: 5, | ||
| pointBackgroundColor: '#ffffff', | ||
| pointBorderColor: 'rgba(54, 162, 235, 1)', | ||
| pointBorderWidth: 2, | ||
| pointHoverRadius: 6, | ||
| }, | ||
| ], | ||
| }; | ||
|
|
||
| const options: ChartOptions<'line'> = { | ||
| responsive: true, | ||
| maintainAspectRatio: false, | ||
| plugins: { | ||
| legend: { | ||
| display: false, | ||
| }, | ||
| tooltip: { | ||
| enabled: true, | ||
| }, | ||
| title: { | ||
| display: false, | ||
| }, | ||
| }, | ||
| scales: { | ||
| x: { | ||
| grid: { | ||
| display: true, | ||
| borderDash: [5, 5], | ||
| color: 'rgba(0,0,0,0.1)', | ||
| }, | ||
| ticks: { | ||
| font: { | ||
| size: 14, | ||
| }, | ||
| color: '#333', | ||
| }, | ||
| }, | ||
| y: { | ||
| grid: { | ||
| display: true, | ||
| drawBorder: false, | ||
|
|
||
| borderDash: [5, 5], | ||
| color: 'rgba(0,0,0,0.1)', | ||
| }, | ||
| ticks: { | ||
| stepSize: 2, | ||
| font: { | ||
| size: 14, | ||
| }, | ||
| color: '#333', | ||
| callback: (value) => `${value}`, | ||
| }, | ||
| beginAtZero: true, | ||
| suggestedMax: 8, | ||
| }, | ||
| }, | ||
| animation: { | ||
| duration: 800, | ||
| easing: 'easeOutQuart', | ||
| }, | ||
| }; | ||
|
|
||
| export default GraphCard; |
43 changes: 42 additions & 1 deletion
43
src/components/admin/previewComponent/allUserPreview/AllUserPreview.styled.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,44 @@ | ||
| import { Link } from 'react-router-dom'; | ||
| import styled from 'styled-components'; | ||
|
|
||
| export const Container = styled.div``; | ||
| export const Container = styled.div` | ||
| display: flex; | ||
| flex-direction: column; | ||
| `; | ||
|
|
||
| export const Wrapper = styled.div` | ||
| display: flex; | ||
| justify-content: space-between; | ||
| padding: 10px; | ||
| `; | ||
|
|
||
| export const UserArea = styled.div` | ||
| display: flex; | ||
| `; | ||
|
|
||
| export const ContentArea = styled(Link)` | ||
| margin-left: 16px; | ||
| `; | ||
|
|
||
| export const NickName = styled.p` | ||
| font-size: 14px; | ||
| `; | ||
|
|
||
| export const Email = styled.p` | ||
| font-size: 9px; | ||
| opacity: 50%; | ||
| `; | ||
coderabbitai[bot] marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| export const MoveToUsersArea = styled(Link)` | ||
| display: flex; | ||
| align-items: center; | ||
| `; | ||
|
|
||
| export const Text = styled.p` | ||
| font-size: 9px; | ||
| `; | ||
|
|
||
| export const Arrow = styled.img` | ||
| width: 11px; | ||
| height: 11px; | ||
| `; | ||
41 changes: 40 additions & 1 deletion
41
src/components/admin/previewComponent/allUserPreview/AllUserPreview.tsx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,8 +1,47 @@ | ||
| import React from 'react'; | ||
| import * as S from './AllUserPreview.styled'; | ||
| import { useGetAllUsers } from '../../../../hooks/admin/useGetAllUsers'; | ||
| import Avatar from '../../../common/avatar/Avatar'; | ||
| import { ADMIN_ROUTE } from '../../../../constants/routes'; | ||
| import arrow_right from '../../../../assets/ArrowRight.svg'; | ||
| import LoadingSpinner from '../../../common/loadingSpinner/LoadingSpinner'; | ||
|
|
||
| const AllUserPreview = () => { | ||
| return <S.Container>AllUserPreview Component</S.Container>; | ||
| const { allUserData, isLoading, isFetching } = useGetAllUsers(); | ||
|
|
||
| if (isLoading || isFetching) { | ||
| return <LoadingSpinner />; | ||
| } | ||
|
|
||
| if (!allUserData || allUserData.length === 0) { | ||
| return <S.Container>가입된 회원이 없습니다.</S.Container>; | ||
| } | ||
|
|
||
| const previewList = allUserData | ||
| ? allUserData.length > 6 | ||
| ? allUserData.slice(0, 4) | ||
| : allUserData | ||
| : []; | ||
|
|
||
| return ( | ||
| <S.Container> | ||
| {previewList?.map((user) => ( | ||
| <S.Wrapper key={user.id}> | ||
| <S.UserArea> | ||
| <Avatar image={user.user.img} size='40px' /> | ||
| <S.ContentArea to={`${ADMIN_ROUTE.allUser}/${user.id}`}> | ||
| <S.NickName>{user.user.nickname}</S.NickName> | ||
| <S.Email>{user.email}</S.Email> | ||
| </S.ContentArea> | ||
| </S.UserArea> | ||
| <S.MoveToUsersArea to={`${ADMIN_ROUTE.allUser}/${user.id}`}> | ||
| <S.Text>상세 보기</S.Text> | ||
| <S.Arrow src={arrow_right} /> | ||
| </S.MoveToUsersArea> | ||
| </S.Wrapper> | ||
| ))} | ||
| </S.Container> | ||
| ); | ||
| }; | ||
|
|
||
| export default AllUserPreview; |
68 changes: 67 additions & 1 deletion
68
src/components/admin/previewComponent/inquiresPreview/InquiresPreview.styled.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,69 @@ | ||
| import { Link } from 'react-router-dom'; | ||
| import styled from 'styled-components'; | ||
|
|
||
| export const Container = styled.div``; | ||
| export const Container = styled.div` | ||
| display: flex; | ||
| flex-direction: column; | ||
| `; | ||
|
|
||
| export const Wrapper = styled.div` | ||
| display: flex; | ||
| justify-content: space-between; | ||
| align-items: center; | ||
| padding: 10px; | ||
| `; | ||
|
|
||
| export const Content = styled.div` | ||
| display: flex; | ||
| `; | ||
|
|
||
| export const Inquiry = styled(Link)` | ||
| margin-left: 16px; | ||
| `; | ||
|
|
||
| export const Category = styled.p` | ||
| font-size: 9px; | ||
| opacity: 0.5; | ||
| `; | ||
|
|
||
| export const Title = styled.p` | ||
| font-size: 13px; | ||
| white-space: nowrap; | ||
| overflow: hidden; | ||
| text-overflow: ellipsis; | ||
| `; | ||
|
|
||
| export const StateArea = styled.div` | ||
| display: flex; | ||
| `; | ||
|
|
||
| export const InquiriesDate = styled.p` | ||
| font-size: 9px; | ||
| opacity: 0.5; | ||
| `; | ||
|
|
||
| export const Divider = styled.p` | ||
| font-size: 9px; | ||
| opacity: 0.2; | ||
| margin-left: 3px; | ||
| margin-right: 3px; | ||
| `; | ||
|
|
||
| export const InquiryState = styled.p<{ $isCompleted: boolean }>` | ||
| font-size: 9px; | ||
| color: ${({ $isCompleted }) => ($isCompleted ? `#07DE00` : `#DE1A00`)}; | ||
| `; | ||
|
|
||
| export const MoveToInquiryArea = styled(Link)` | ||
| display: flex; | ||
| font-size: 9px; | ||
| `; | ||
|
|
||
| export const Text = styled.p` | ||
| font-size: 9px; | ||
| `; | ||
|
|
||
| export const Arrow = styled.img` | ||
| width: 11px; | ||
| height: 11px; | ||
| `; |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
ApiAllInquiries 같은 경우는 activityLog가 아니기 때문에 디렉토리 분리를 하는게 더 좋지 않을까 싶습니당,
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.
그럼 admin으로 하나를 더 만들게요