From f37d5d48433866e01491f198161e6c54fba3e6fe Mon Sep 17 00:00:00 2001 From: developerplus2026 Date: Tue, 17 Mar 2026 14:50:14 +0700 Subject: [PATCH 1/2] Update components.json and globals.css for improved styling and consistency; refactor utils.ts to remove unused code --- components.json | 8 ++-- src/app/globals.css | 73 ++++++++++++++++++--------------- src/lib/utils.ts | 98 ++------------------------------------------- 3 files changed, 48 insertions(+), 131 deletions(-) diff --git a/components.json b/components.json index a577707..fdcefc1 100644 --- a/components.json +++ b/components.json @@ -6,10 +6,12 @@ "tailwind": { "config": "tailwind.config.ts", "css": "src/app/globals.css", - "baseColor": "zinc", + "baseColor": "neutral", "cssVariables": true, "prefix": "" }, + "iconLibrary": "lucide", + "rtl": false, "aliases": { "components": "@/components", "utils": "@/lib/utils", @@ -17,5 +19,5 @@ "lib": "@/lib", "hooks": "@/hooks" }, - "iconLibrary": "lucide" -} \ No newline at end of file + "registries": {} +} diff --git a/src/app/globals.css b/src/app/globals.css index a79c13d..419ee2c 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -1,4 +1,8 @@ @import "tailwindcss"; +/* + ---break--- +*/ +@plugin "tailwindcss-animate"; @import "tw-animate-css"; @import "fumadocs-ui/css/neutral.css"; @import "fumadocs-ui/css/preset.css"; @@ -91,6 +95,9 @@ } } + --radius-2xl: calc(var(--radius) + 8px); + --radius-3xl: calc(var(--radius) + 12px); + --radius-4xl: calc(var(--radius) + 16px) } /* @@ -101,37 +108,35 @@ --theme-toggle-sun-icon-display: block; --theme-toggle-moon-icon-display: none; --radius: 0.625rem; - --background: oklch(1 0 0); - --foreground: oklch(0.141 0.005 285.823); --card: oklch(1 0 0); - --card-foreground: oklch(0.141 0.005 285.823); + --card-foreground: oklch(0.145 0 0); --popover: oklch(1 0 0); - --popover-foreground: oklch(0.141 0.005 285.823); - --primary: oklch(0.21 0.006 285.885); + --popover-foreground: oklch(0.145 0 0); + --primary: oklch(0.205 0 0); --primary-foreground: oklch(0.985 0 0); - --secondary: oklch(0.967 0.001 286.375); - --secondary-foreground: oklch(0.21 0.006 285.885); - --muted: oklch(0.967 0.001 286.375); - --muted-foreground: oklch(0.552 0.016 285.938); - --accent: oklch(0.967 0.001 286.375); - --accent-foreground: oklch(0.21 0.006 285.885); + --secondary: oklch(0.97 0 0); + --secondary-foreground: oklch(0.205 0 0); + --muted: oklch(0.97 0 0); + --muted-foreground: oklch(0.556 0 0); + --accent: oklch(0.97 0 0); + --accent-foreground: oklch(0.205 0 0); --destructive: oklch(0.577 0.245 27.325); - --border: oklch(0.92 0.004 286.32); - --input: oklch(0.92 0.004 286.32); - --ring: oklch(0.705 0.015 286.067); + --border: oklch(0.922 0 0); + --input: oklch(0.922 0 0); + --ring: oklch(0.708 0 0); --chart-1: oklch(0.646 0.222 41.116); --chart-2: oklch(0.6 0.118 184.704); --chart-3: oklch(0.398 0.07 227.392); --chart-4: oklch(0.828 0.189 84.429); --chart-5: oklch(0.769 0.188 70.08); --sidebar: oklch(0.985 0 0); - --sidebar-foreground: oklch(0.141 0.005 285.823); - --sidebar-primary: oklch(0.21 0.006 285.885); + --sidebar-foreground: oklch(0.145 0 0); + --sidebar-primary: oklch(0.205 0 0); --sidebar-primary-foreground: oklch(0.985 0 0); - --sidebar-accent: oklch(0.967 0.001 286.375); - --sidebar-accent-foreground: oklch(0.21 0.006 285.885); - --sidebar-border: oklch(0.92 0.004 286.32); - --sidebar-ring: oklch(0.705 0.015 286.067); + --sidebar-accent: oklch(0.97 0 0); + --sidebar-accent-foreground: oklch(0.205 0 0); + --sidebar-border: oklch(0.922 0 0); + --sidebar-ring: oklch(0.708 0 0); --lp-primary: oklch(0.205 0 0); --lp-primary-foreground: oklch(0.985 0 0); --lp-accent: oklch(0.269 0 0); @@ -155,6 +160,8 @@ hsla(0, 0%, 91%, 0.74) 100% ); --lp-timeline-buffered-color: oklch(0.985 0 0 / 0.4); + --background: oklch(1 0 0); + --foreground: oklch(0.145 0 0); } /* @@ -165,37 +172,37 @@ --sidebar-docs: #000000; --theme-toggle-sun-icon-display: none; --theme-toggle-moon-icon-display: block; - --background: oklch(0% 0 0); + --background: oklch(0.145 0 0); --foreground: oklch(0.985 0 0); - --card: oklch(0.21 0.006 285.885); + --card: oklch(0.205 0 0); --card-foreground: oklch(0.985 0 0); - --popover: oklch(0% 0 0); + --popover: oklch(0.205 0 0); --popover-foreground: oklch(0.985 0 0); - --primary: oklch(0.92 0.004 286.32); - --primary-foreground: oklch(0.21 0.006 285.885); - --secondary: oklch(0.274 0.006 286.033); + --primary: oklch(0.922 0 0); + --primary-foreground: oklch(0.205 0 0); + --secondary: oklch(0.269 0 0); --secondary-foreground: oklch(0.985 0 0); - --muted: oklch(0.274 0.006 286.033); - --muted-foreground: oklch(0.705 0.015 286.067); - --accent: oklch(0.274 0.006 286.033); + --muted: oklch(0.269 0 0); + --muted-foreground: oklch(0.708 0 0); + --accent: oklch(0.269 0 0); --accent-foreground: oklch(0.985 0 0); --destructive: oklch(0.704 0.191 22.216); --border: oklch(1 0 0 / 10%); --input: oklch(1 0 0 / 15%); - --ring: oklch(55.6% 0 0); + --ring: oklch(0.556 0 0); --chart-1: oklch(0.488 0.243 264.376); --chart-2: oklch(0.696 0.17 162.48); --chart-3: oklch(0.769 0.188 70.08); --chart-4: oklch(0.627 0.265 303.9); --chart-5: oklch(0.645 0.246 16.439); - --sidebar: oklch(0.21 0.006 285.885); + --sidebar: oklch(0.205 0 0); --sidebar-foreground: oklch(0.985 0 0); --sidebar-primary: oklch(0.488 0.243 264.376); --sidebar-primary-foreground: oklch(0.985 0 0); - --sidebar-accent: oklch(0.274 0.006 286.033); + --sidebar-accent: oklch(0.269 0 0); --sidebar-accent-foreground: oklch(0.985 0 0); --sidebar-border: oklch(1 0 0 / 10%); - --sidebar-ring: oklch(0.552 0.016 285.938); + --sidebar-ring: oklch(0.556 0 0); --lp-primary: oklch(0.205 0 0); --lp-primary-foreground: oklch(0.985 0 0); --lp-accent: oklch(0.97 0 0); diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 365bfc5..bd0c391 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -1,98 +1,6 @@ -import type React from "react"; -import { clsx, type ClassValue } from "clsx"; -import { twMerge } from "tailwind-merge"; +import { clsx, type ClassValue } from "clsx" +import { twMerge } from "tailwind-merge" export function cn(...inputs: ClassValue[]) { - return twMerge(clsx(inputs)); + return twMerge(clsx(inputs)) } - -/** - * Type-safe event handler utility function - * Provides autocomplete for available events based on element type - */ - -// // Helper type to extract valid event names from an element type -// type EventNames = { -// [K in keyof T]: K extends `on${infer E}` ? Lowercase : never -// }[keyof T] - -// // Helper type to get the event type for a given event name and element -// type EventType = T extends { -// addEventListener: (event: any, handler: infer H) => any -// } -// ? H extends (event: infer Event) => any -// ? Event -// : never -// : never - -/** - * Overloaded function for React synthetic events - */ -export function on( - element: EventTarget, - events: string | string[], - callback: (event: React.SyntheticEvent) => void, -): EventTarget; - -/** - * Implementation - */ -export function on( - element: EventTarget, - events: string | string[], - callback: (event: any) => void, -): EventTarget { - if (Array.isArray(events)) { - events.forEach((event) => { - element.addEventListener(event, callback as EventListener); - }); - } else { - element.addEventListener(events, callback as EventListener); - } - - return element; -} - -/** - * Overloaded function for React synthetic events - */ -export function off( - element: EventTarget, - events: string | string[], - callback: (event: React.SyntheticEvent) => void, -): EventTarget; - -/** - * Implementation - */ -export function off( - element: EventTarget, - events: string | string[], - callback: (event: any) => void, -): EventTarget { - if (Array.isArray(events)) { - events.forEach((event) => { - element.removeEventListener(event, callback as EventListener); - }); - } else { - element.removeEventListener(events, callback as EventListener); - } - - return element; -} - -/** - * No-op function - * @returns undefined - */ -export function noop() { - // noop -} - -export function toFixedNumber(num: number, digits: number, base = 10) { - const pow = Math.pow(base, digits); - return Math.round(num * pow) / pow; -} -export function absoluteUrl(path: string) { - return `${process.env.NEXT_PUBLIC_APP_URL}${path}`; -} \ No newline at end of file From 87473cd75b51510ca2aeacff2aec4aec513e2a68 Mon Sep 17 00:00:00 2001 From: GitButler Date: Sun, 8 Feb 2026 03:36:32 -0500 Subject: [PATCH 2/2] GitButler Workspace Commit This is a merge commit the virtual branches in your workspace. Due to GitButler managing multiple virtual branches, you cannot switch back and forth between git branches and virtual branches easily. If you switch to another branch, GitButler will need to be reinitialized. If you commit on this branch, GitButler will throw it away. Here are the branches that are currently applied: - d-branch-1 (refs/gitbutler/d-branch-1) For more information about what we're doing here, check out our docs: https://docs.gitbutler.com/features/branch-management/integration-branch