feat: setup full Next.js toolchain and core dependencies

- Add runtime deps: react-query, react-hook-form+zod, zustand, ky, openapi-fetch,
  better-auth, react-markdown, shiki, recharts, next-themes, nuqs, sonner, cmdk,
  vaul, embla-carousel-react, motion, date-fns, tailwind-merge, clsx, cva
- Add dev tooling: vitest, testing-library, playwright, prettier(+tailwind plugin),
  husky, lint-staged, jsdom
- Wire providers (QueryClient, Theme, NuqsAdapter, Tooltip, Sonner) into layout
- Add vitest/playwright/prettier configs + lint-staged pre-commit hook
- Add lib/query-client + lib/http (ky) helpers and sample unit test
- Fix react-hooks/set-state-in-effect lint errors (use-mobile useSyncExternalStore,
  carousel async init)
- Remove committed Next-generated types/ duplicates (regenerated under .next/types)
This commit is contained in:
asepharyana committed 2026-09-19 19:24:48 +07:00
1 parent 046f201e63
commit 8093dd2b7f
87 files changed
+8683 -305

No files matched your search

+17
View File
@@ -0,0 +1,17 @@
import * as React from "react";
import { cn } from "cn";
function Textarea({ className, ...props }: React.ComponentProps<"textarea">) {
return (
<textarea
data-slot="textarea"
className={cn(
"flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructLine truncated
className
)}
{...props}
/>
);
}
export { Textarea };