스타일 설정
This commit is contained in:
@@ -17,4 +17,12 @@ export const FilterMotionDuration = {
|
|||||||
export const FilterMotionStyle = {
|
export const FilterMotionStyle = {
|
||||||
width: '100%',
|
width: '100%',
|
||||||
height: '100%'
|
height: '100%'
|
||||||
|
};
|
||||||
|
|
||||||
|
export const BottomSheetMotionVaiants = {
|
||||||
|
hidden: { y: '100%' },
|
||||||
|
visible: { y: '0%' },
|
||||||
|
};
|
||||||
|
export const BottomSheetMotionDuration = {
|
||||||
|
duration: 0.3
|
||||||
};
|
};
|
||||||
@@ -16,13 +16,6 @@ export enum DataNotificationNotifyContentKey {
|
|||||||
MobilePayment = 'MobilePayment',
|
MobilePayment = 'MobilePayment',
|
||||||
EscrowPayment = 'EscrowPayment',
|
EscrowPayment = 'EscrowPayment',
|
||||||
};
|
};
|
||||||
export interface InfoItemProps {
|
|
||||||
type?: PaymentInfoItemType;
|
|
||||||
payName?: string;
|
|
||||||
payImage?: string;
|
|
||||||
infoLink?: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
export interface PaymentCommonParams {
|
export interface PaymentCommonParams {
|
||||||
mid: string;
|
mid: string;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,13 +1,22 @@
|
|||||||
import { InfoItemProps } from '../model/types';
|
import { PaymentInfoItemType } from '../model/types';
|
||||||
|
|
||||||
|
export interface InfoItemProps {
|
||||||
|
type?: PaymentInfoItemType;
|
||||||
|
payName?: string;
|
||||||
|
payImage?: string;
|
||||||
|
infoLink?: string;
|
||||||
|
setNoInterestInfoBottomSheetOn?: (noInterestInfoBottomSheetOn: boolean) => void;
|
||||||
|
};
|
||||||
|
|
||||||
export const InfoItem = ({
|
export const InfoItem = ({
|
||||||
type,
|
type,
|
||||||
payName,
|
payName,
|
||||||
payImage,
|
payImage,
|
||||||
infoLink
|
infoLink,
|
||||||
|
setNoInterestInfoBottomSheetOn
|
||||||
}: InfoItemProps) => {
|
}: InfoItemProps) => {
|
||||||
|
|
||||||
const onClickToShow = () => {
|
const onClickToOpenBottomSheet = () => {
|
||||||
if(!!infoLink){
|
if(!!infoLink){
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -27,7 +36,7 @@ export const InfoItem = ({
|
|||||||
<button
|
<button
|
||||||
className="ing-card-link"
|
className="ing-card-link"
|
||||||
type="button"
|
type="button"
|
||||||
onClick={ () => onClickToShow() }
|
onClick={ () => onClickToOpenBottomSheet() }
|
||||||
>수수료 및 정산주기 ></button>
|
>수수료 및 정산주기 ></button>
|
||||||
</li>
|
</li>
|
||||||
</>
|
</>
|
||||||
|
|||||||
@@ -1,6 +1,13 @@
|
|||||||
import { IMAGE_ROOT } from "@/shared/constants/common";
|
import { IMAGE_ROOT } from '@/shared/constants/common';
|
||||||
import { InfoItem } from "./info-item";
|
import { InfoItem } from './info-item';
|
||||||
import { InfoItemProps, PaymentCardResponse, PaymentInfoItemType, PaymentInstallmentResponse, PaymentNonCardResponse } from "../model/types";
|
import {
|
||||||
|
PaymentCardResponse,
|
||||||
|
PaymentInfoItemType,
|
||||||
|
PaymentInstallmentResponse,
|
||||||
|
PaymentNonCardResponse
|
||||||
|
} from '../model/types';
|
||||||
|
import { NoInterestInfoBottomSheet } from './no-interest-info-bottom-sheet';
|
||||||
|
import { useState } from 'react';
|
||||||
|
|
||||||
export interface InfoWrapProp {
|
export interface InfoWrapProp {
|
||||||
paymentCard?: PaymentCardResponse,
|
paymentCard?: PaymentCardResponse,
|
||||||
@@ -13,6 +20,7 @@ export const InfoWrap = ({
|
|||||||
paymentInstallment
|
paymentInstallment
|
||||||
}: InfoWrapProp) => {
|
}: InfoWrapProp) => {
|
||||||
|
|
||||||
|
const [noInterestInfoBottomSheetOn, setNoInterestInfoBottomSheetOn] = useState<boolean>(false);
|
||||||
|
|
||||||
const list1 = [
|
const list1 = [
|
||||||
{payName: '신용카드', payImage: 'pay_01.svg', infoLink: ''},
|
{payName: '신용카드', payImage: 'pay_01.svg', infoLink: ''},
|
||||||
@@ -70,6 +78,7 @@ export const InfoWrap = ({
|
|||||||
payName={ list2[i]?.payName }
|
payName={ list2[i]?.payName }
|
||||||
payImage={ IMAGE_ROOT + '/' + list2[i]?.payImage }
|
payImage={ IMAGE_ROOT + '/' + list2[i]?.payImage }
|
||||||
infoLink={ list2[i]?.infoLink }
|
infoLink={ list2[i]?.infoLink }
|
||||||
|
setNoInterestInfoBottomSheetOn={ setNoInterestInfoBottomSheetOn }
|
||||||
></InfoItem>
|
></InfoItem>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -81,7 +90,7 @@ export const InfoWrap = ({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<div className="ing-list">
|
<div className="ing-list pb-70">
|
||||||
<div className="ing-title">서비스 이용, 수수료 및 정산주기</div>
|
<div className="ing-title">서비스 이용, 수수료 및 정산주기</div>
|
||||||
<ul className="ing-card-list">
|
<ul className="ing-card-list">
|
||||||
{ getList(PaymentInfoItemType.Comission) }
|
{ getList(PaymentInfoItemType.Comission) }
|
||||||
@@ -92,7 +101,10 @@ export const InfoWrap = ({
|
|||||||
{ getList(PaymentInfoItemType.NoInterest) }
|
{ getList(PaymentInfoItemType.NoInterest) }
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<NoInterestInfoBottomSheet
|
||||||
|
noInterestInfoBottomSheetOn={ noInterestInfoBottomSheetOn }
|
||||||
|
setNoInterestInfoBottomSheetOn={ setNoInterestInfoBottomSheetOn }
|
||||||
|
></NoInterestInfoBottomSheet>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
@@ -1,11 +1,32 @@
|
|||||||
|
import { motion } from 'framer-motion';
|
||||||
import { IMAGE_ROOT } from '@/shared/constants/common';
|
import { IMAGE_ROOT } from '@/shared/constants/common';
|
||||||
|
import { BottomSheetMotionVaiants, BottomSheetMotionDuration } from '@/entities/common/model/constant';
|
||||||
|
|
||||||
export const NoInterestInfoBottomSheet = () => {
|
export interface NoInterestInfoBottomSheetProps {
|
||||||
|
noInterestInfoBottomSheetOn: boolean;
|
||||||
|
setNoInterestInfoBottomSheetOn: (noInterestInfoBottomSheetOn: boolean) => void;
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
export const NoInterestInfoBottomSheet = ({
|
||||||
|
noInterestInfoBottomSheetOn,
|
||||||
|
setNoInterestInfoBottomSheetOn
|
||||||
|
}: NoInterestInfoBottomSheetProps) => {
|
||||||
|
const onClickToClose = () => {
|
||||||
|
// close
|
||||||
|
setNoInterestInfoBottomSheetOn(false);
|
||||||
|
};
|
||||||
|
return (
|
||||||
<>
|
<>
|
||||||
<div className="bg-dim"></div>
|
{ noInterestInfoBottomSheetOn &&
|
||||||
<div className="bottomsheet">
|
<div className="bg-dim"></div>
|
||||||
|
}
|
||||||
|
<motion.div
|
||||||
|
className="bottomsheet"
|
||||||
|
initial="hidden"
|
||||||
|
animate={ (noInterestInfoBottomSheetOn)? 'visible': 'hidden' }
|
||||||
|
variants={ BottomSheetMotionVaiants }
|
||||||
|
transition={ BottomSheetMotionDuration }
|
||||||
|
>
|
||||||
<div className="bottomsheet-header">
|
<div className="bottomsheet-header">
|
||||||
<div className="bottomsheet-title">
|
<div className="bottomsheet-title">
|
||||||
<h2>무이자 정보</h2>
|
<h2>무이자 정보</h2>
|
||||||
@@ -16,6 +37,7 @@ export const NoInterestInfoBottomSheet = () => {
|
|||||||
<img
|
<img
|
||||||
src={ IMAGE_ROOT + '/ico_close.svg' }
|
src={ IMAGE_ROOT + '/ico_close.svg' }
|
||||||
alt="닫기"
|
alt="닫기"
|
||||||
|
onClick={ () => onClickToClose() }
|
||||||
/>
|
/>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -38,15 +60,7 @@ export const NoInterestInfoBottomSheet = () => {
|
|||||||
<div className="desc dot">적용기간 : 2025.06.01 ~ 9999.12.31</div>
|
<div className="desc dot">적용기간 : 2025.06.01 ~ 9999.12.31</div>
|
||||||
<div className="desc dot">적용금액 : 50,000</div>
|
<div className="desc dot">적용금액 : 50,000</div>
|
||||||
</div>
|
</div>
|
||||||
{/*
|
</motion.div>
|
||||||
<div className="bottomsheet-footer">
|
|
||||||
<button
|
|
||||||
className="btn-50 btn-blue flex-1"
|
|
||||||
type="button"
|
|
||||||
>확인</button>
|
|
||||||
</div>
|
|
||||||
*/}
|
|
||||||
</div>
|
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
@@ -79,7 +79,7 @@ export const InfoPage = () => {
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<main>
|
<main>
|
||||||
<div className="tab-content">
|
<div className="tab-content pb-70">
|
||||||
<div className="tab-pane pt-46 active">
|
<div className="tab-pane pt-46 active">
|
||||||
<PaymentTab activeTab={ activeTab }></PaymentTab>
|
<PaymentTab activeTab={ activeTab }></PaymentTab>
|
||||||
<InfoWrap
|
<InfoWrap
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ main {
|
|||||||
.ic20.rot-180{
|
.ic20.rot-180{
|
||||||
transform: rotate(180deg);
|
transform: rotate(180deg);
|
||||||
}
|
}
|
||||||
|
.pb-70 {padding-bottom: 70px !important;}
|
||||||
|
|
||||||
/* calendar */
|
/* calendar */
|
||||||
.react-calendar{
|
.react-calendar{
|
||||||
|
|||||||
Reference in New Issue
Block a user