diff --git a/src/assets/fonts/PretendardVariable.woff2 b/src/assets/fonts/PretendardVariable.woff2
deleted file mode 100644
index a8d0637..0000000
Binary files a/src/assets/fonts/PretendardVariable.woff2 and /dev/null differ
diff --git a/src/assets/icons/community.svg b/src/assets/icons/Community.svg
similarity index 100%
rename from src/assets/icons/community.svg
rename to src/assets/icons/Community.svg
diff --git a/src/assets/icons/company.svg b/src/assets/icons/Company.svg
similarity index 100%
rename from src/assets/icons/company.svg
rename to src/assets/icons/Company.svg
diff --git a/src/assets/icons/complaints.svg b/src/assets/icons/Complaints.svg
similarity index 100%
rename from src/assets/icons/complaints.svg
rename to src/assets/icons/Complaints.svg
diff --git a/src/assets/icons/dashboard.svg b/src/assets/icons/Dashboard.svg
similarity index 100%
rename from src/assets/icons/dashboard.svg
rename to src/assets/icons/Dashboard.svg
diff --git a/src/assets/icons/down.svg b/src/assets/icons/Down.svg
similarity index 100%
rename from src/assets/icons/down.svg
rename to src/assets/icons/Down.svg
diff --git a/src/assets/icons/LeftDisabled.svg b/src/assets/icons/LeftDisabled.svg
new file mode 100644
index 0000000..7966e91
--- /dev/null
+++ b/src/assets/icons/LeftDisabled.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/assets/icons/maintenanceCost.svg b/src/assets/icons/MaintenanceCost.svg
similarity index 100%
rename from src/assets/icons/maintenanceCost.svg
rename to src/assets/icons/MaintenanceCost.svg
diff --git a/src/assets/icons/notice.svg b/src/assets/icons/Notice.svg
similarity index 100%
rename from src/assets/icons/notice.svg
rename to src/assets/icons/Notice.svg
diff --git a/src/assets/icons/publicFacilities.svg b/src/assets/icons/PublicFacilities.svg
similarity index 100%
rename from src/assets/icons/publicFacilities.svg
rename to src/assets/icons/PublicFacilities.svg
diff --git a/src/assets/icons/RightDisabled.svg b/src/assets/icons/RightDisabled.svg
new file mode 100644
index 0000000..20cf419
--- /dev/null
+++ b/src/assets/icons/RightDisabled.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/assets/icons/setting.svg b/src/assets/icons/Setting.svg
similarity index 100%
rename from src/assets/icons/setting.svg
rename to src/assets/icons/Setting.svg
diff --git a/src/assets/icons/survey.svg b/src/assets/icons/Survey.svg
similarity index 100%
rename from src/assets/icons/survey.svg
rename to src/assets/icons/Survey.svg
diff --git a/src/assets/icons/visitor.svg b/src/assets/icons/Visitor.svg
similarity index 100%
rename from src/assets/icons/visitor.svg
rename to src/assets/icons/Visitor.svg
diff --git a/src/assets/icons/index.ts b/src/assets/icons/index.ts
index 071ce4d..9b41725 100644
--- a/src/assets/icons/index.ts
+++ b/src/assets/icons/index.ts
@@ -4,17 +4,19 @@ import ChevronRight from '@/assets/icons/ChevronRight.svg';
import Excel from '@/assets/icons/Excel.svg';
import Left from '@/assets/icons/Left.svg';
import Right from '@/assets/icons/Right.svg';
-import Dashboard from '@/assets/icons/dashboard.svg';
-import Company from '@/assets/icons/company.svg';
-import Visitor from '@/assets/icons/visitor.svg';
-import Community from '@/assets/icons/community.svg';
-import Notice from '@/assets/icons/notice.svg';
-import Complaints from '@/assets/icons/complaints.svg';
-import PublicFacilities from '@/assets/icons/publicFacilities.svg';
-import MaintenanceCost from '@/assets/icons/maintenanceCost.svg';
-import Survey from '@/assets/icons/survey.svg';
-import Setting from '@/assets/icons/setting.svg';
-import Down from '@/assets/icons/down.svg';
+import Dashboard from '@/assets/icons/Dashboard.svg';
+import Company from '@/assets/icons/Company.svg';
+import Visitor from '@/assets/icons/Visitor.svg';
+import Community from '@/assets/icons/Community.svg';
+import Notice from '@/assets/icons/Notice.svg';
+import Complaints from '@/assets/icons/Complaints.svg';
+import PublicFacilities from '@/assets/icons/PublicFacilities.svg';
+import MaintenanceCost from '@/assets/icons/MaintenanceCost.svg';
+import Survey from '@/assets/icons/Survey.svg';
+import Setting from '@/assets/icons/Setting.svg';
+import Down from '@/assets/icons/Down.svg';
+import LeftDisabled from '@/assets/icons/LeftDisabled.svg';
+import RightDisabled from '@/assets/icons/RightDisabled.svg';
export {
Notification,
@@ -34,4 +36,6 @@ export {
Survey,
Setting,
Down,
+ LeftDisabled,
+ RightDisabled,
};
diff --git a/src/assets/testImg/index.ts b/src/assets/testImg/index.ts
deleted file mode 100644
index e69de29..0000000
diff --git a/src/components/admin/visitor/VisitorExcelDownBtn.tsx b/src/components/admin/visitor/VisitorExcelDownBtn.tsx
index db55f27..cd17b4a 100644
--- a/src/components/admin/visitor/VisitorExcelDownBtn.tsx
+++ b/src/components/admin/visitor/VisitorExcelDownBtn.tsx
@@ -1,13 +1,16 @@
import { Excel } from '@/assets/icons';
+import VISITOR_TEXT from '@/constants/visitor';
+
import theme from '@/styles/theme';
import { css } from '@emotion/react';
function Button() {
const onClick = () => {};
+ const { excelDown } = VISITOR_TEXT;
return (
);
}
diff --git a/src/components/admin/visitor/VisitorList.tsx b/src/components/admin/visitor/VisitorList.tsx
index e841766..1fc8cab 100644
--- a/src/components/admin/visitor/VisitorList.tsx
+++ b/src/components/admin/visitor/VisitorList.tsx
@@ -1,21 +1,27 @@
+import VISITOR_TEXT from '@/constants/visitor';
import { GetVisitorsData } from '@/types/visitor/api';
import { css } from '@emotion/react';
import dayjs from 'dayjs';
function VisitorList({ content }: GetVisitorsData) {
+ const { listForm, nullData } = VISITOR_TEXT;
return (
-
-
초대일시
- 방문일시
- 입주사/초대사
- 방문자
- 방문장소
- 입차시각 / 출차시각
- 차량번호
- 주차시간
+ {listForm.invitationTime}
+ {listForm.visitTime}
+
+ {listForm.occupantCompany}/{listForm.inviter}
+
+ {listForm.visitor}
+ {listForm.place}
+
+ {listForm.inTime} / {listForm.outTime}
+
+ {listForm.carNumber}
+ {listForm.parkingTime}
{content.length ? (
content.map((item) => {
@@ -50,7 +56,7 @@ function VisitorList({ content }: GetVisitorsData) {
})
) : (
-
-
데이터 없음
+ {nullData}
)}
@@ -64,7 +70,6 @@ const container = css`
align-items: center;
gap: 10px;
border-bottom: 1px solid #6b7280;
-
min-height: 83px;
}
diff --git a/src/components/admin/visitor/VisitorListPagenation.tsx b/src/components/admin/visitor/VisitorListPagenation.tsx
index d52c78e..f9e8311 100644
--- a/src/components/admin/visitor/VisitorListPagenation.tsx
+++ b/src/components/admin/visitor/VisitorListPagenation.tsx
@@ -1,4 +1,4 @@
-import { Left, Right } from '@/assets/icons';
+import { Left, LeftDisabled, Right, RightDisabled } from '@/assets/icons';
import theme from '@/styles/theme';
import { VisitorListPagenationProps } from '@/types/visitor/visitor';
import { css } from '@emotion/react';
@@ -8,36 +8,66 @@ function VisitorListPagenation({
page,
totalVisitors,
setPage,
+ dataPage,
+ setDataPage,
+ size,
+ dataLength,
}: VisitorListPagenationProps) {
const numPages = Math.ceil(totalVisitors / limit);
const arr = Array.from(Array(numPages).keys());
- const onClickHandler = (num: number) => {
+ const onClickPageHandler = (num: number) => {
if (num > 0 && num <= numPages) {
setPage(num);
}
};
+ const onClickDataPageHandler = (num: number) => {
+ if (num >= 0) {
+ setDataPage(num);
+ setPage(1);
+ }
+ };
+
return (
-
+ {dataPage === 0 ? (
+
+ ) : (
+
+ )}
+
{arr.map((itme) => {
return (
);
})}
-
+ {dataLength === size ? (
+
+ ) : (
+
+ )}
);
}
diff --git a/src/components/admin/visitor/VisitorSearch.tsx b/src/components/admin/visitor/VisitorSearch.tsx
index 13de266..c5465c9 100644
--- a/src/components/admin/visitor/VisitorSearch.tsx
+++ b/src/components/admin/visitor/VisitorSearch.tsx
@@ -1,16 +1,25 @@
import { Down } from '@/assets/icons';
+import VISITOR_TEXT from '@/constants/visitor';
import { getSearchVisitors } from '@/pages/api/visitor/visitorRequests';
import theme from '@/styles/theme';
import { VisitorSearchProps } from '@/types/visitor/visitor';
import { css } from '@emotion/react';
import { ChangeEvent, useState } from 'react';
-function VisitorSearch({ setVisitorList, setPage }: VisitorSearchProps) {
+function VisitorSearch({
+ setVisitorList,
+ setPage,
+ size,
+ dataPage,
+ setDataPage,
+}: VisitorSearchProps) {
const [select, setSelect] = useState('COMPANY');
const [searchText, setSearchText] = useState('');
const [startDate, setStartDate] = useState('');
const [endDate, setEndDate] = useState('');
+ const { search } = VISITOR_TEXT;
+
const onChangeSelectHandler = (event: ChangeEvent
) => {
setSelect(event.target.value);
};
@@ -29,7 +38,7 @@ function VisitorSearch({ setVisitorList, setPage }: VisitorSearchProps) {
const onClickHandler = async () => {
try {
- let queryString = 'size=100';
+ let queryString = `size=${size}&page=${dataPage}`;
if (select) {
queryString += `&queryCondition=${select}`;
}
@@ -47,6 +56,7 @@ function VisitorSearch({ setVisitorList, setPage }: VisitorSearchProps) {
if (response?.data) {
setVisitorList(response.data);
setPage(1);
+ setDataPage(0);
}
} catch (err) {
// 검색 오류 예외 처리
@@ -59,8 +69,8 @@ function VisitorSearch({ setVisitorList, setPage }: VisitorSearchProps) {
@@ -68,8 +78,8 @@ function VisitorSearch({ setVisitorList, setPage }: VisitorSearchProps) {
type="text"
placeholder={
select === 'COMPANY'
- ? '검색하실 입주사명을 입력해주세요'
- : '검색하실 방문자명을 입력해주세요'
+ ? search.searchPlaceholder.company
+ : search.searchPlaceholder.visitor
}
onChange={(e) => onChangeSearchTextHandler(e)}
/>
@@ -82,7 +92,7 @@ function VisitorSearch({ setVisitorList, setPage }: VisitorSearchProps) {
onClickHandler();
}}
>
- 검색
+ {search.searchBtn}
@@ -121,15 +131,10 @@ const searchForm = css`
}
select {
border: 0; //기본 스타일 제거
-
-webkit-appearance: none; /* for chrome */
-
-moz-appearance: none; /*for firefox*/
-
appearance: none;
-
box-sizing: border-box; //select 박스의 크기 방식 지정.
-
background: transparent; //배경색 투명 처리
}
@@ -144,6 +149,7 @@ const searchForm = css`
input {
width: 290px;
padding: 12px 11px;
+ min-width: 100px;
}
button {
diff --git a/src/components/admin/visitor/index.tsx b/src/components/admin/visitor/index.tsx
index 5cbc691..19e537a 100644
--- a/src/components/admin/visitor/index.tsx
+++ b/src/components/admin/visitor/index.tsx
@@ -10,25 +10,28 @@ import VisitorListPagenation from './VisitorListPagenation';
function Index() {
const [visitorList, setVisitorList] = useState();
+
+ const [dataPage, setDataPage] = useState(0);
const nowYear = dayjs().format('YYYY');
+ const [page, setPage] = useState(1);
+ const limit = 5; // posts가 보일 최대한의 갯수
+ const offset = (page - 1) * limit; // 시작점과 끝점을 구하는 offset
+ const size = 25;
useEffect(() => {
const visitorsData = async () => {
try {
- const response = await getVisitors(nowYear);
+ const response = await getVisitors(size, dataPage, nowYear);
if (response?.data) {
setVisitorList(response.data);
+ // setVisitorListLength(response.)
}
} catch (err) {
// 검색 오류 예외 처리
}
};
visitorsData();
- }, [nowYear]);
-
- const [page, setPage] = useState(1);
- const limit = 5; // posts가 보일 최대한의 갯수
- const offset = (page - 1) * limit; // 시작점과 끝점을 구하는 offset
+ }, [nowYear, dataPage]);
const ListData = (list: GetVisitorsData) => {
const result = list.content.slice(offset, offset + limit);
@@ -37,17 +40,27 @@ function Index() {
return (
-
+
{visitorList && (
<>
-
+
>
)}
diff --git a/src/components/common/Header.tsx b/src/components/common/Header.tsx
index c1e26bb..1124df9 100644
--- a/src/components/common/Header.tsx
+++ b/src/components/common/Header.tsx
@@ -1,4 +1,5 @@
import { ChevronRight, Notification, User } from '@/assets/icons';
+import { PROJECT_NAME } from '@/constants/common';
import theme from '@/styles/theme';
import { css } from '@emotion/react';
import { useRouter } from 'next/router';
@@ -11,7 +12,7 @@ function Header() {
return (