diff --git a/index.html b/index.html
index 6111089..0c5c0a8 100644
--- a/index.html
+++ b/index.html
@@ -11,6 +11,7 @@
+
diff --git a/src/entities/additional-service/ui/link-payment/link-payment-history-wrap.tsx b/src/entities/additional-service/ui/link-payment/link-payment-history-wrap.tsx
index 1d75392..7b83e70 100644
--- a/src/entities/additional-service/ui/link-payment/link-payment-history-wrap.tsx
+++ b/src/entities/additional-service/ui/link-payment/link-payment-history-wrap.tsx
@@ -215,8 +215,7 @@ export const LinkPaymentHistoryWrap = () => {
-
+ >
{
diff --git a/src/entities/additional-service/ui/settlement-agency/settlement-agency-deposit-wrap.tsx b/src/entities/additional-service/ui/settlement-agency/settlement-agency-deposit-wrap.tsx
index 2d1a812..862befe 100644
--- a/src/entities/additional-service/ui/settlement-agency/settlement-agency-deposit-wrap.tsx
+++ b/src/entities/additional-service/ui/settlement-agency/settlement-agency-deposit-wrap.tsx
@@ -1,10 +1,19 @@
import { PATHS } from '@/shared/constants/paths';
import { useNavigate } from '@/shared/lib/hooks/use-navigate';
import { IMAGE_ROOT } from '@/shared/constants/common';
+import { SortTypeBox } from '@/entities/common/ui/sort-type-box';
+import { useState } from 'react';
+import { SortTypeKeys } from '@/entities/common/model/types';
export const SettlementAgencyDepositWrap = () => {
const { navigate } = useNavigate();
+ const [sortType, setSortType] = useState(SortTypeKeys.LATEST);
+
+ const onClickToSort = (sort: SortTypeKeys) => {
+ setSortType(sort);
+ };
+
const onClickRegister = () => {
navigate(PATHS.additionalService.settlementAgency.register);
};
@@ -46,11 +55,10 @@ export const SettlementAgencyDepositWrap = () => {
-
-
- |
-
-
+
전체
diff --git a/src/entities/additional-service/ui/settlement-agency/settlement-agency-manage-wrap.tsx b/src/entities/additional-service/ui/settlement-agency/settlement-agency-manage-wrap.tsx
index 3fb021a..4f18d06 100644
--- a/src/entities/additional-service/ui/settlement-agency/settlement-agency-manage-wrap.tsx
+++ b/src/entities/additional-service/ui/settlement-agency/settlement-agency-manage-wrap.tsx
@@ -1,16 +1,24 @@
import { PATHS } from '@/shared/constants/paths';
import { useNavigate } from '@/shared/lib/hooks/use-navigate';
import { IMAGE_ROOT } from '@/shared/constants/common';
+import { SortTypeBox } from '@/entities/common/ui/sort-type-box';
+import { useState } from 'react';
+import { SortTypeKeys } from '@/entities/common/model/types';
export const SettlementAgencyManageWrap = () => {
const { navigate } = useNavigate();
+ const [sortType, setSortType] = useState(SortTypeKeys.LATEST);
+
const onClickToRegister = () => {
navigate(PATHS.additionalService.settlementAgency.register);
};
const onClickToDetail = () => {
navigate(PATHS.additionalService.settlementAgency.detail);
};
+ const onClickToSort = (sort: SortTypeKeys) => {
+ setSortType(sort);
+ };
return (
<>
@@ -95,11 +103,10 @@ export const SettlementAgencyManageWrap = () => {
-
-
- |
-
-
+
diff --git a/src/entities/common/ui/sort-type-box.tsx b/src/entities/common/ui/sort-type-box.tsx
index 29e6e1f..741f50a 100644
--- a/src/entities/common/ui/sort-type-box.tsx
+++ b/src/entities/common/ui/sort-type-box.tsx
@@ -18,19 +18,19 @@ export const SortTypeBox = ({
return (
<>
- { options.map((option: Record
, index: number) => (
+ { options.map((value: Record, index: number) => (
<>
{ (index > 0) &&
|
}
-
+
+ className={ `sort-btn ${(sortType === value.key)? 'active': ''}` }
+ onClick={ () => onClickToSort(value.key) }
+ >{ value.label }
>
))}
diff --git a/src/shared/ui/assets/css/calendar.css b/src/shared/ui/assets/css/calendar.css
new file mode 100644
index 0000000..f32d6a6
--- /dev/null
+++ b/src/shared/ui/assets/css/calendar.css
@@ -0,0 +1,118 @@
+
+/*datepicker styling*/
+
+.calendar-container.calendar-style {
+ max-width: 768px;
+ display: flex;
+ justify-content: center;
+ padding: 10px;
+ background: white;
+ border-radius: 1rem;
+ box-shadow: none
+}
+
+.calendar-style .react-calendar {
+ max-width: 720px;
+ box-shadow: none;
+ background-color: white;
+ border-radius: 1rem;
+ padding: 0;
+}
+
+.calendar-style .react-calendar .react-calendar__navigation {
+ /* background-color: white;*/
+}
+
+.calendar-style .react-calendar .react-calendar__navigation button {
+ color: #2D3436;
+ padding: 0;
+}
+
+.calendar-style .react-calendar .react-calendar__navigation button.react-calendar__navigation__prev-button,
+.calendar-style .react-calendar .react-calendar__navigation button.react-calendar__navigation__next-button {
+ position: relative;
+ top: -3px;
+ font-size: 2rem;
+ font-weight: 400;
+ line-height: inherit;
+ border-radius: 0;
+}
+
+.calendar-style .react-calendar__month-view__weekdays {
+ font-weight: 400 !important;
+ background-color: white;
+}
+
+.calendar-style .react-calendar__month-view__weekdays__weekday {
+ padding: 0.75rem 0.5rem;
+ font-size: 0.9rem;
+ color: #999;
+ font-weight: bold;
+}
+
+.calendar-style.react-calendar__navigation button {
+ font-size: 1.1rem;
+}
+
+.react-calendar__tile.react-calendar__tile--now.react-calendar__tile--hasActive.react-calendar__decade-view__years__year {
+ color: inherit !important;
+}
+
+.calendar-style .react-calendar__tile--active {
+ background-color: #3E6AFC !important;
+ color: white !important;
+ border-radius: 100px;
+}
+
+.react-calendar__tile.react-calendar__tile--hasActive.react-calendar__year-view__months__month abbr {
+ color: white !important;
+ font-weight: bold;
+}
+
+.react-calendar__tile.react-calendar__tile--hasActive.react-calendar__decade-view__years__year,
+.react-calendar__tile.react-calendar__tile--now.react-calendar__tile--hasActive.react-calendar__century-view__decades__decade {
+ color: white !important;
+ font-weight: bold;
+}
+
+.react-calendar__tile--hasActive {
+ background: #3E6AFC !important;
+ color: white !important;
+}
+
+.react-calendar__tile {
+ /* color: #2D3436 !important; */
+}
+
+abbr[title] {
+ text-decoration: none;
+}
+
+.react-calendar__navigation button:hover {
+ background: transparent !important;
+}
+
+.tile-weekday{
+ color: var(--color-111111) !important;
+}
+.tile-saturday{
+ color: var(--color-4968BD) !important;
+}
+.tile-sunday{
+ color: #FF0000 !important;
+}
+
+
+@media (max-width: 768px) {
+ .calendar-style {
+ position: absolute;
+ left: 10px;
+ right: 10px;
+ max-width: 768px;
+ }
+
+ .calendar-style .react-calendar {
+ max-width: 100%;
+ }
+}
+
diff --git a/src/shared/ui/calendar/nice-calendar.tsx b/src/shared/ui/calendar/nice-calendar.tsx
index 05fc859..7c25140 100644
--- a/src/shared/ui/calendar/nice-calendar.tsx
+++ b/src/shared/ui/calendar/nice-calendar.tsx
@@ -19,6 +19,12 @@ interface NiceCalendarProps {
maxDate?: Date;
};
+interface TileClassNameProps {
+ activeStartDate: Date;
+ date: Date;
+ view: string;
+};
+
const NiceCalendar = ({
calendarOpen,
setCalendarOpen,
@@ -84,12 +90,11 @@ const NiceCalendar = ({
};
const formatDay = (locale: string | undefined, date: Date) => {
// For Korean locale, return only the day number without '일'
- if (currentLocale === 'ko') {
- return date.getDate().toString();
- }
- return date.toLocaleString(currentLocale, {
- day: 'numeric'
+
+ return date.toLocaleString('en', {
+ day: '2-digit',
});
+
};
const formatShortWeekday = (locale: string | undefined, date: Date) => {
return date.toLocaleString(currentLocale, {
@@ -97,6 +102,30 @@ const NiceCalendar = ({
});
};
+ const tileClassName = ({
+ activeStartDate,
+ date,
+ view
+ }: TileClassNameProps) => {
+ if(view === 'month'){
+ const dayOfWeek = date.getDay();
+ let activeMonth = moment(activeStartDate).format('MM');
+ let itemMonth = moment(date).format('MM');
+ if(itemMonth === activeMonth){
+ if(dayOfWeek === 0){
+ return 'tile-sunday';
+ }
+ else if(dayOfWeek === 6){
+ return 'tile-saturday';
+ }
+ else{
+ return 'tile-weekday';
+ }
+ }
+ }
+ return null;
+ };
+
useEffect(() => {
setMinMaxValueDate();
@@ -107,7 +136,10 @@ const NiceCalendar = ({
{ (calendarOpen) &&
<>
- onClickToClose() }>
+ onClickToClose() }
+ >
>
@@ -129,11 +163,6 @@ const NiceCalendar = ({
};
const CalendarWrapper = styled.div`
z-index: 1100;
- position: absolute;
- width: 100%;
- height: 100%;
- top: 0;
- left: 0;
`;
export default NiceCalendar;
\ No newline at end of file