- C1-09: Create CloudPage with folder tree, file list, and /cloud route - C1-10: Create CloudUploadModal with drag-and-drop and progress - C1-11: Create CloudFilePreview mini player inline - C1-12: Add Cloud stories (loading, empty, populated, quota full) - G1-01: Add is_public toggle, public gear endpoint, GearShowcase - G1-02: Add gear image upload endpoints, GearImageGallery component - G1-03: Add gear search with ILIKE + SearchBar in toolbar - G1-04: Add stories for GearShowcase and GearImageGallery
47 lines
920 B
TypeScript
47 lines
920 B
TypeScript
import type { Meta, StoryObj } from '@storybook/react';
|
|
import { CloudUploadModal } from './CloudUploadModal';
|
|
|
|
const meta: Meta<typeof CloudUploadModal> = {
|
|
title: 'Cloud/CloudUploadModal',
|
|
component: CloudUploadModal,
|
|
tags: ['autodocs'],
|
|
};
|
|
|
|
export default meta;
|
|
type Story = StoryObj<typeof CloudUploadModal>;
|
|
|
|
export const Default: Story = {
|
|
args: {
|
|
isOpen: true,
|
|
onClose: () => {},
|
|
quota: {
|
|
user_id: 'u1',
|
|
max_bytes: 5368709120,
|
|
used_bytes: 121500000,
|
|
available: 5247209120,
|
|
percentage: 2.26,
|
|
},
|
|
},
|
|
};
|
|
|
|
export const Empty: Story = {
|
|
args: {
|
|
isOpen: true,
|
|
onClose: () => {},
|
|
quota: null,
|
|
},
|
|
};
|
|
|
|
export const QuotaAlmostFull: Story = {
|
|
args: {
|
|
isOpen: true,
|
|
onClose: () => {},
|
|
quota: {
|
|
user_id: 'u1',
|
|
max_bytes: 5368709120,
|
|
used_bytes: 5100000000,
|
|
available: 268709120,
|
|
percentage: 95,
|
|
},
|
|
},
|
|
};
|