@geenius/file-storage
v0.16.1
Published
Geenius File Storage — File management with Convex storage (React + SolidJS)
Maintainers
Readme
@geenius/file-storage
File upload, storage adapters, previews, quotas, and file-management UI for Geenius applications.
Installation
pnpm add @geenius/file-storageImport Guide
import { configureFileStorage, formatFileSize } from '@geenius/file-storage'
import { createConvexFileAdapter } from '@geenius/file-storage/shared'
import { calcStorageStats } from '@geenius/file-storage/shared/core'
import { useFileStorage } from '@geenius/file-storage/shared/react'
import { createFileStorage } from '@geenius/file-storage/shared/solidjs'
import { useFileStorage, FileManagerPage } from '@geenius/file-storage/react'
import { useFileStorage, FileManagerPage } from '@geenius/file-storage/react-css'
import { createFileStorage, FileManagerPage } from '@geenius/file-storage/solidjs'
import { createFileStorage, FileManagerPage } from '@geenius/file-storage/solidjs-css'
import { fileStorageTables, schema } from '@geenius/file-storage/convex'Basic Usage
import { FileManagerPage } from '@geenius/file-storage/react'
import type { StorageQuota, StoredFile } from '@geenius/file-storage'
const files: StoredFile[] = []
const quota: StorageQuota = {
userId: 'user_1',
usedBytes: 0,
limitBytes: 50_000_000,
fileCount: 0,
updatedAt: new Date().toISOString(),
}
export function FilesRoute() {
async function uploadFile(file: File): Promise<string> {
return file.name
}
return (
<FileManagerPage
files={files}
quota={quota}
uploadFn={uploadFile}
/>
)
}Package Surface
@geenius/file-storage: shared contract, utilities, types, and adapter factories@geenius/file-storage/shared: explicit alias to the shared contract@geenius/file-storage/shared/core: core shared utilities, validators, and typed errors@geenius/file-storage/shared/react: React-specific shared hooks and hook state types@geenius/file-storage/shared/solidjs: SolidJS-specific shared primitives and primitive state types@geenius/file-storage/react: Tailwind React hooks, components, and pages@geenius/file-storage/react-css: vanilla CSS React hooks, components, and pages@geenius/file-storage/solidjs: Tailwind SolidJS primitives, components, and pages@geenius/file-storage/solidjs-css: vanilla CSS SolidJS primitives, components, and pages@geenius/file-storage/convex: schema, validators, queries, and mutations
Storybook
Local review apps live in:
Both apps compare the Tailwind and vanilla CSS variants side by side through the shared @geenius/storybook shell.
Repository
License
FSL-1.1-Apache-2.0
