가맹점 정리

This commit is contained in:
focp212@naver.com
2025-10-01 11:06:34 +09:00
parent c36ecc60d5
commit 851545e81c
9 changed files with 62 additions and 62 deletions

View File

@@ -0,0 +1,87 @@
import { SectionTitleArrow } from '@/entities/common/ui/section-title-arrow';
import { Escrow, SectionKeys } from '../../model/types';
import SlideDown from 'react-slidedown';
import 'react-slidedown/lib/slidedown.css';
import { useEffect, useState } from 'react';
export interface EscrowSectionProps extends Escrow {
type: SectionKeys;
title?: string;
openChild: SectionKeys | null;
setOpenChild: (openChild: SectionKeys | null) => void;
};
export const EscrowSection = ({
type,
title,
companyName,
businessRegistrationNumber,
escrowStatus,
address,
merchantUrl,
serviceRegistrationNumber,
openChild,
setOpenChild
}: EscrowSectionProps) => {
const [isOpen, setIsOpen] = useState<boolean>(false);
const openSection = () => {
const status = !isOpen;
setIsOpen(status);
if(!!status){
setOpenChild(type);
}
else {
setOpenChild(null)
}
};
useEffect(() => {
if(!!openChild && openChild !== type){
setIsOpen(false);
}
}, [openChild]);
return (
<>
<div className="section">
<div className="section-title"
onClick={ () => openSection() }
>
{ title } <SectionTitleArrow isOpen={ isOpen }></SectionTitleArrow>
</div>
<SlideDown className={'my-dropdown-slidedown'}>
{ isOpen &&
<ul className="kv-list">
<li className="kv-row">
<span className="k"></span>
<span className="v">{ companyName }</span>
</li>
<li className="kv-row">
<span className="k"></span>
<span className="v">{ businessRegistrationNumber }</span>
</li>
<li className="kv-row">
<span className="k">NICECROW </span>
<span className="v">{ escrowStatus }</span>
</li>
<li className="kv-row">
<span className="k"></span>
<span className="v">{ address }</span>
</li>
<li className="kv-row">
<span className="k">URL</span>
<span className="v">{ merchantUrl }</span>
</li>
<li className="kv-row">
<span className="k"> </span>
<span className="v">{ serviceRegistrationNumber }</span>
</li>
</ul>
}
</SlideDown>
</div>
</>
);
};