Files
tweakcn/lib/utils.ts
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

13 lines
342 B
TypeScript

import { clsx, type ClassValue } from "clsx";
import { twMerge } from "tailwind-merge";
// @ts-expect-error: owned by ngard
import { isEqual } from "@ngard/tiny-isequal";
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs));
}
export function isDeepEqual(a: unknown, b: unknown): boolean {
return isEqual(a, b);
}