veza/apps/web/src/features/cloud/components/CloudUploadModal.stories.tsx
senke edde637c8e feat(v0.501): Sprint 4 -- Cloud frontend + Gear advanced
- 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
2026-02-22 18:30:49 +01:00

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,
},
},
};