Files
tweakcn/components/loading.tsx
T
Sahaj Jain a8ebc09001 Save & Edit
* feat: add formatCompactNumber utility for compact number formatting

* Feature/save (#41)

* setup drizzle with better-auth

* switch to turso

* chore: better auth migrations

* feat: add basic signin signup auth

* update form uis

* remove emailAndPassword

* loading state for auth btns

* add theme routes and save function

* migrate to actions

* feat: Add dashboard page to view saved themes

* hook up delete theme functionality

* minor improvements

* feat(auth): add AuthDialogWrapper and integrate with existing components

* setup post login action to open save modal after login

* refactor action bar

* refactor

* add ability to open theme by id

* Use URL param for themeId

* feat(editor): improve theme loading and add theme editing actions component

* feat(theme): implement theme editing functionality with routing updates

* refactor: move to try-catch

* remove unused files for auth and theme routes

* fix build errors

* modify copies

* add theme limit

* fix: Recursive setstate

* fix: Save theme loading state

* feat: Implement theme checkpoint for better reset during editing

* reset theme after save/reset

* feat: Add privacy-policy page

* speed up nav using prefetch and loading with better loader

* refactor

* update dashbaord UI

* add quick apply to theme card

* switch to neon

* minor ui updates
2025-04-25 23:32:45 +05:30

23 lines
628 B
TypeScript

import { cn } from "@/lib/utils";
interface LoadingProps {
className?: string;
}
export function Loading({ className }: LoadingProps) {
return (
<div
className={cn(
"flex items-center justify-center min-h-[400px]",
className
)}
>
<div className="flex space-x-2">
<div className="w-3 h-3 bg-primary rounded-full animate-bounce [animation-delay:-0.3s]"></div>
<div className="w-3 h-3 bg-primary rounded-full animate-bounce [animation-delay:-0.15s]"></div>
<div className="w-3 h-3 bg-primary rounded-full animate-bounce"></div>
</div>
</div>
);
}