← Examples

TrashModal 데모

학생·선생님 휴지통 UI를 공유하는 bonbon/TrashModal 컴포넌트 예시입니다. 쉘·툴바·리스트·카드·확인 모달을 조합해 사용합니다.

import

경로는 프로젝트 루트 alias 기준입니다.

import {
  TrashModal,
  TrashModalCard,
  TrashModalCardSkeleton,
  TrashModalEmptyState,
  TrashModalList,
  TrashModalRestoreConfirmModal,
  TrashModalRemoveConfirmModal,
} from "@/shared/components/bonbon/TrashModal";

TrashModal — 전체 조합

학생(체크박스 우상단), 교사(체크박스 좌상단), 빈 상태, 로딩 시나리오를 확인할 수 있습니다.

// checkboxPosition으로 위치 제어
<TrashModalCard checkboxPosition="top-right" …>  {/* 학생 */}
<TrashModalCard checkboxPosition="top-left" …>   {/* 교사 (default) */}

// description은 ReactNode를 반환해 count를 bold 처리
texts={{
  description: (count) => (
    <><strong>{count}</strong>개의 작품을 휴지통에서 꺼냅니다.</>
  ),
}}

TrashModalCard — 학생 (checkboxPosition="top-right")

체크박스가 이미지 우상단에 위치합니다. 메타: 제목 + N일 남음 · 삭제 예정일

TrashModalCard — 교사 (checkboxPosition="top-left")

체크박스가 이미지 좌상단에 위치합니다. 메타: 학생명 · 반 + 제목 + 삭제일

TrashModalCardSkeleton

로딩 시 TrashModalList가 그리드로 렌더합니다.

TrashModalEmptyState

imageSrc, title, description props로 빈 상태를 표시합니다.

휴지통이 비어 있어요

삭제한 작품이 여기에 표시됩니다.

확인 모달

꺼내기: bonbon/button FILLED/BRAND (size 72). 비우기: bonbon/button FILLED/RED (size 72). description은 ReactNode로 count를 bold 처리합니다.

아트봉봉스쿨

아트봉봉스쿨은더 큰 화면에서 쓸 수 있어요