Portal Uploader

A central circular drop zone with orbital animations and progress tracking.

The PortalUploader is a centerpiece component for file interactions. It activates a rapidly rotating orbital ring when a file is dragged over, providing a "vortex" feel for data absorption.

Preview

Usage

Installation

$ pnpm dlx shadcn add https://klarden.vercel.app/r/portal-uploader.json

Basic Example

import { PortalUploader } from "@/components/portal-uploader";

export default function App() {
  return (
    <PortalUploader
      accept="image/*"
      onUpload={(file) => alert(`File ${file.name} received`)}
    />
  );
}

Properties

PropTypeDefaultDescription
onUpload(file: File) => voidCallback triggered when a file is successfully dropped.
acceptstringAccepted file types (e.g., "image/*").
classNamestringAdditional CSS classes for the container.