Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions app/(main)/ClientComponents/detail/ServerDetailClient.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ export default function ServerDetailClient({ server_id }: { server_id: number })
{name}
</div>
<section className="mt-3 flex flex-wrap gap-2">
<Card className="rounded-[10px] border-none bg-transparent shadow-none">
<Card className="border-none bg-transparent shadow-none ring-0">
<CardContent className="px-1.5 py-1">
<section className="flex flex-col items-start gap-0.5">
<p className="text-muted-foreground text-xs">{t("status")}</p>
Expand All @@ -127,7 +127,7 @@ export default function ServerDetailClient({ server_id }: { server_id: number })
</section>
</CardContent>
</Card>
<Card className="rounded-[10px] border-none bg-transparent shadow-none">
<Card className="border-none bg-transparent shadow-none ring-0">
<CardContent className="px-1.5 py-1">
<section className="flex flex-col items-start gap-0.5">
<p className="text-muted-foreground text-xs">{t("Uptime")}</p>
Expand All @@ -141,7 +141,7 @@ export default function ServerDetailClient({ server_id }: { server_id: number })
</CardContent>
</Card>
{version && (
<Card className="rounded-[10px] border-none bg-transparent shadow-none">
<Card className="border-none bg-transparent shadow-none ring-0">
<CardContent className="px-1.5 py-1">
<section className="flex flex-col items-start gap-0.5">
<p className="text-muted-foreground text-xs">{t("Version")}</p>
Expand All @@ -151,7 +151,7 @@ export default function ServerDetailClient({ server_id }: { server_id: number })
</Card>
)}
{arch && (
<Card className="rounded-[10px] border-none bg-transparent shadow-none">
<Card className="border-none bg-transparent shadow-none ring-0">
<CardContent className="px-1.5 py-1">
<section className="flex flex-col items-start gap-0.5">
<p className="text-muted-foreground text-xs">{t("Arch")}</p>
Expand All @@ -161,15 +161,15 @@ export default function ServerDetailClient({ server_id }: { server_id: number })
</Card>
)}

<Card className="rounded-[10px] border-none bg-transparent shadow-none">
<Card className="border-none bg-transparent shadow-none ring-0">
<CardContent className="px-1.5 py-1">
<section className="flex flex-col items-start gap-0.5">
<p className="text-muted-foreground text-xs">{t("Mem")}</p>
<div className="text-xs">{formatBytes(mem_total)}</div>
</section>
</CardContent>
</Card>
<Card className="rounded-[10px] border-none bg-transparent shadow-none">
<Card className="border-none bg-transparent shadow-none ring-0">
<CardContent className="px-1.5 py-1">
<section className="flex flex-col items-start gap-0.5">
<p className="text-muted-foreground text-xs">{t("Disk")}</p>
Expand All @@ -178,7 +178,7 @@ export default function ServerDetailClient({ server_id }: { server_id: number })
</CardContent>
</Card>
{country_code && (
<Card className="rounded-[10px] border-none bg-transparent shadow-none">
<Card className="border-none bg-transparent shadow-none ring-0">
<CardContent className="px-1.5 py-1">
<section className="flex flex-col items-start gap-0.5">
<p className="text-muted-foreground text-xs">{t("Region")}</p>
Expand All @@ -195,7 +195,7 @@ export default function ServerDetailClient({ server_id }: { server_id: number })
</section>
<section className="mt-1 flex flex-wrap gap-2">
{platform && (
<Card className="rounded-[10px] border-none bg-transparent shadow-none">
<Card className="border-none bg-transparent shadow-none ring-0">
<CardContent className="px-1.5 py-1">
<section className="flex flex-col items-start gap-0.5">
<p className="text-muted-foreground text-xs">{t("System")}</p>
Expand All @@ -209,7 +209,7 @@ export default function ServerDetailClient({ server_id }: { server_id: number })
</Card>
)}
{cpu_info && cpu_info.length > 0 && (
<Card className="rounded-[10px] border-none bg-transparent shadow-none">
<Card className="border-none bg-transparent shadow-none ring-0">
<CardContent className="px-1.5 py-1">
<section className="flex flex-col items-start gap-0.5">
<p className="text-muted-foreground text-xs">{t("CPU")}</p>
Expand All @@ -220,7 +220,7 @@ export default function ServerDetailClient({ server_id }: { server_id: number })
</Card>
)}
{gpu_info && gpu_info.length > 0 && (
<Card className="rounded-[10px] border-none bg-transparent shadow-none">
<Card className="border-none bg-transparent shadow-none ring-0">
<CardContent className="px-1.5 py-1">
<section className="flex flex-col items-start gap-0.5">
<p className="text-muted-foreground text-xs">{"GPU"}</p>
Expand All @@ -231,7 +231,7 @@ export default function ServerDetailClient({ server_id }: { server_id: number })
)}
</section>
<section className="mt-1 flex flex-wrap gap-2">
<Card className="rounded-[10px] border-none bg-transparent shadow-none">
<Card className="border-none bg-transparent shadow-none ring-0">
<CardContent className="px-1.5 py-1">
<section className="flex flex-col items-start gap-0.5">
<p className="text-muted-foreground text-xs">{t("Load")}</p>
Expand All @@ -241,7 +241,7 @@ export default function ServerDetailClient({ server_id }: { server_id: number })
</section>
</CardContent>
</Card>
<Card className="rounded-[10px] border-none bg-transparent shadow-none">
<Card className="border-none bg-transparent shadow-none ring-0">
<CardContent className="px-1.5 py-1">
<section className="flex flex-col items-start gap-0.5">
<p className="text-muted-foreground text-xs">{t("Upload")}</p>
Expand All @@ -253,7 +253,7 @@ export default function ServerDetailClient({ server_id }: { server_id: number })
</section>
</CardContent>
</Card>
<Card className="rounded-[10px] border-none bg-transparent shadow-none">
<Card className="border-none bg-transparent shadow-none ring-0">
<CardContent className="px-1.5 py-1">
<section className="flex flex-col items-start gap-0.5">
<p className="text-muted-foreground text-xs">{t("Download")}</p>
Expand All @@ -267,15 +267,15 @@ export default function ServerDetailClient({ server_id }: { server_id: number })
</Card>
</section>
<section className="mt-1 flex flex-wrap gap-2">
<Card className="rounded-[10px] border-none bg-transparent shadow-none">
<Card className="border-none bg-transparent shadow-none ring-0">
<CardContent className="px-1.5 py-1">
<section className="flex flex-col items-start gap-0.5">
<p className="text-muted-foreground text-xs">{t("BootTime")}</p>
<div className="text-xs">{boot_time_string ? boot_time_string : "N/A"}</div>
</section>
</CardContent>
</Card>
<Card className="rounded-[10px] border-none bg-transparent shadow-none">
<Card className="border-none bg-transparent shadow-none ring-0">
<CardContent className="px-1.5 py-1">
<section className="flex flex-col items-start gap-0.5">
<p className="text-muted-foreground text-xs">{t("LastActive")}</p>
Expand Down
2 changes: 1 addition & 1 deletion app/(main)/ClientComponents/main/MapTooltip.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ const MapTooltip = memo(function MapTooltip() {

return (
<div
className="tooltip-animate absolute z-50 hidden rounded bg-white px-2 py-1 text-sm shadow-lg lg:block dark:border dark:border-neutral-700 dark:bg-neutral-800"
className="tooltip-animate absolute z-50 hidden rounded bg-white px-2 py-1 text-sm shadow-md ring ring-stone-200 lg:block dark:bg-stone-800 dark:shadow-none dark:ring-stone-700"
key={tooltipData.country}
style={{
left: tooltipData.centroid[0],
Expand Down
2 changes: 1 addition & 1 deletion app/(main)/ClientComponents/main/ServerListClient.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ const ServerList = ({
return (
<section
ref={containerRef}
className="scrollbar-hidden flex flex-col gap-2 overflow-x-scroll"
className="scrollbar-hidden flex flex-col gap-2 overflow-x-scroll p-px"
>
{servers.map((serverInfo) => (
<ServerCardInline key={serverInfo.id} serverInfo={serverInfo} />
Expand Down
16 changes: 9 additions & 7 deletions app/(main)/ClientComponents/main/ServerOverviewClient.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,9 @@ export default function ServerOverviewClient() {
setFilter(false)
setStatus("all")
}}
className={cn("group cursor-pointer transition-all hover:border-blue-500")}
className={cn(
"group cursor-pointer transition-all hover:ring-blue-500 dark:hover:ring-blue-600",
Copy link

Copilot AI Nov 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent ring removal: The "All" card removes ring-transparent from the default state but the other cards (Online, Offline, Favorite) retain ring-1 with no explicit color. This creates an inconsistent visual appearance where the "All" card may have a visible ring by default (inheriting from the Card base component) while others have ring-1. Consider either adding ring-1 to the "All" card or removing ring-1 from the other cards for consistency.

Suggested change
"group cursor-pointer transition-all hover:ring-blue-500 dark:hover:ring-blue-600",
"group cursor-pointer ring-1 transition-all hover:ring-blue-500 dark:hover:ring-blue-600",

Copilot uses AI. Check for mistakes.
)}
>
<CardContent className="flex h-full items-center px-6 py-3">
<section className="flex flex-col gap-1">
Expand Down Expand Up @@ -68,9 +70,9 @@ export default function ServerOverviewClient() {
setStatus("online")
}}
className={cn(
"cursor-pointer ring-1 ring-transparent transition-all hover:ring-green-500",
"cursor-pointer ring-1 transition-all hover:ring-green-500 dark:hover:ring-green-600",
{
"border-transparent ring-2 ring-green-500": status === "online",
"border-transparent ring-2 ring-green-500 dark:ring-green-600": status === "online",
},
)}
>
Expand Down Expand Up @@ -101,9 +103,9 @@ export default function ServerOverviewClient() {
setStatus("offline")
}}
className={cn(
"cursor-pointer ring-1 ring-transparent transition-all hover:ring-red-500",
"cursor-pointer ring-1 transition-all hover:ring-red-500 dark:hover:ring-red-600",
{
"border-transparent ring-2 ring-red-500": status === "offline",
"border-transparent ring-2 ring-red-500 dark:ring-red-600": status === "offline",
},
)}
>
Expand Down Expand Up @@ -134,9 +136,9 @@ export default function ServerOverviewClient() {
setFilter(true)
}}
className={cn(
"group cursor-pointer ring-1 ring-transparent transition-all hover:ring-purple-500",
"group cursor-pointer ring-1 hover:ring-purple-500 dark:hover:ring-purple-600",
{
"border-transparent ring-2 ring-purple-500": filter === true,
"border-transparent ring-2 ring-purple-500 dark:ring-purple-600": filter === true,
},
)}
>
Expand Down
2 changes: 1 addition & 1 deletion biome.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://biomejs.dev/schemas/2.3.5/schema.json",
"$schema": "https://biomejs.dev/schemas/2.3.4/schema.json",
"vcs": { "enabled": false, "clientKind": "git", "useIgnoreFile": false },
"files": {
"ignoreUnknown": false,
Expand Down
21 changes: 11 additions & 10 deletions bun.lock
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"lockfileVersion": 1,
"configVersion": 0,
"workspaces": {
"": {
"name": "homedash-shadcn",
Expand Down Expand Up @@ -35,33 +36,33 @@
"lucide-react": "^0.525.0",
"luxon": "^3.7.2",
"maxmind": "^4.3.29",
"next": "^16.0.1",
"next": "^16.0.3",
"next-auth": "^5.0.0-beta.30",
"next-intl": "^4.5.0",
"next-intl": "^4.5.3",
"next-runtime-env": "^3.3.0",
"next-themes": "^0.4.6",
"react": "^19.2.0",
"react-device-detect": "^2.2.3",
"react-dom": "^19.2.0",
"react-intersection-observer": "^9.16.0",
"react-wrap-balancer": "^1.1.1",
"recharts": "^3.3.0",
"recharts": "^3.4.1",
"sharp": "^0.34.5",
"swr": "^2.3.6",
"tailwind-merge": "^3.3.1",
"tailwind-merge": "^3.4.0",
"tailwindcss-animate": "^1.0.7",
},
"devDependencies": {
"@biomejs/biome": "^2.3.4",
"@next/bundle-analyzer": "^16.0.1",
"@biomejs/biome": "^2.3.5",
"@next/bundle-analyzer": "^16.0.3",
"@tailwindcss/postcss": "^4.1.17",
"@types/node": "^24.10.0",
"@types/react": "^19.2.2",
"@types/react-dom": "^19.2.2",
"@types/node": "^24.10.1",
"@types/react": "^19.2.4",
"@types/react-dom": "^19.2.3",
"postcss": "^8.5.6",
"tailwindcss": "^4.1.17",
"typescript": "^5.9.3",
"vercel": "^48.9.0",
"vercel": "^48.10.1",
},
},
},
Expand Down
5 changes: 4 additions & 1 deletion components/LanguageSwitcher.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,10 @@ export function LanguageSwitcher() {
<span className="sr-only">Change language</span>
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent className="flex flex-col gap-0.5" align="end">
<DropdownMenuContent
className="flex flex-col gap-0.5 border-none shadow-md shadow-stone-200/50 ring ring-stone-200 dark:shadow-none dark:ring-stone-800"
align="end"
>
{localeItems.map((item, index) => (
<DropdownMenuItem
key={item.code}
Expand Down
4 changes: 2 additions & 2 deletions components/ServerCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export default function ServerCard({ serverInfo }: { serverInfo: NezhaAPISafe })
<Link onClick={saveSession} href={`/server/${id}`} prefetch={true}>
<Card
className={cn(
"flex cursor-pointer flex-col items-center justify-start gap-3 p-3 hover:border-stone-300 hover:shadow-md md:px-5 dark:hover:border-stone-700",
"flex cursor-pointer flex-col items-center justify-start gap-3 p-3 transition-all hover:shadow-sm hover:ring-stone-300 md:px-5 dark:hover:ring-stone-700",
Copy link

Copilot AI Nov 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The ServerCard hover effect removes the border hover but doesn't set an initial ring state. For consistency with ServerOverviewClient cards (lines 73, 106, 139) which use ring-1, consider adding ring-1 to the base className so that there's a subtle ring by default that changes color on hover.

Copilot uses AI. Check for mistakes.
{
"flex-col": fixedTopServerName,
"lg:flex-row": !fixedTopServerName,
Expand Down Expand Up @@ -133,7 +133,7 @@ export default function ServerCard({ serverInfo }: { serverInfo: NezhaAPISafe })
<Link onClick={saveSession} href={`/server/${id}`} prefetch={true}>
<Card
className={cn(
"flex cursor-pointer flex-col items-center justify-start gap-3 p-3 hover:border-stone-300 hover:shadow-md md:px-5 dark:hover:border-stone-700",
"flex cursor-pointer flex-col items-center justify-start gap-3 p-3 transition-all hover:shadow-sm hover:ring-stone-300 md:px-5 dark:hover:ring-stone-700",
Copy link

Copilot AI Nov 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The ServerCard hover effect removes the border hover but doesn't set an initial ring state. For consistency with ServerOverviewClient cards (lines 73, 106, 139) which use ring-1, consider adding ring-1 to the base className so that there's a subtle ring by default that changes color on hover.

Copilot uses AI. Check for mistakes.
showNetTransfer ? "min-h-[123px] lg:min-h-[91px]" : "min-h-[93px] lg:min-h-[61px]",
{
"flex-col": fixedTopServerName,
Expand Down
4 changes: 2 additions & 2 deletions components/ServerCardInline.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export default function ServerCardInline({ serverInfo }: { serverInfo: NezhaAPIS
<Link onClick={saveSession} href={`/server/${id}`} prefetch={true}>
<Card
className={cn(
"flex w-full min-w-[900px] cursor-pointer items-center justify-start gap-3 p-3 hover:border-stone-300 hover:shadow-md md:px-5 lg:flex-row dark:hover:border-stone-700",
"flex w-full min-w-[900px] cursor-pointer items-center justify-start gap-3 p-3 transition-all hover:shadow-sm hover:ring-stone-300 md:px-5 lg:flex-row dark:hover:ring-stone-700",
Copy link

Copilot AI Nov 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The ServerCardInline hover effect removes the border hover but doesn't set an initial ring state. For consistency with ServerOverviewClient cards (lines 73, 106, 139) which use ring-1, consider adding ring-1 to the base className so that there's a subtle ring by default that changes color on hover.

Copilot uses AI. Check for mistakes.
)}
>
<section
Expand Down Expand Up @@ -123,7 +123,7 @@ export default function ServerCardInline({ serverInfo }: { serverInfo: NezhaAPIS
<Link onClick={saveSession} href={`/server/${id}`} prefetch={true}>
<Card
className={cn(
"flex min-h-[61px] min-w-[900px] flex-row items-center justify-start gap-3 p-3 hover:border-stone-300 hover:shadow-md md:px-5 dark:hover:border-stone-700",
"flex min-h-[61px] min-w-[900px] flex-row items-center justify-start gap-3 p-3 transition-all hover:shadow-sm hover:ring-stone-300 md:px-5 lg:flex-row dark:hover:ring-stone-700",
Copy link

Copilot AI Nov 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The ServerCardInline hover effect removes the border hover but doesn't set an initial ring state. For consistency with ServerOverviewClient cards (lines 73, 106, 139) which use ring-1, consider adding ring-1 to the base className so that there's a subtle ring by default that changes color on hover.

Copilot uses AI. Check for mistakes.
)}
>
<section
Expand Down
2 changes: 1 addition & 1 deletion components/SignIn.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ export function SignIn() {
</label>
<button
type="submit"
className="flex w-fit items-center gap-1 rounded-[8px] border border-stone-300 bg-card px-1.5 py-0.5 font-semibold text-card-foreground text-sm shadow-lg shadow-neutral-200/40 transition-all hover:brightness-95 dark:border-stone-800 dark:shadow-none"
className="flex w-fit cursor-pointer items-center gap-1 rounded-[8px] border border-stone-300 bg-card px-1.5 py-0.5 font-semibold text-card-foreground text-sm shadow-lg shadow-stone-200/50 transition-all hover:brightness-95 dark:border-stone-800 dark:shadow-none"
Copy link

Copilot AI Nov 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent shadow styling: The base Card component uses shadow-md while the SignIn button uses shadow-lg. For a consistent UI design, the same shadow intensity should be applied across similar components, especially when the PR's purpose is to remove card borders and standardize styling.

Suggested change
className="flex w-fit cursor-pointer items-center gap-1 rounded-[8px] border border-stone-300 bg-card px-1.5 py-0.5 font-semibold text-card-foreground text-sm shadow-lg shadow-stone-200/50 transition-all hover:brightness-95 dark:border-stone-800 dark:shadow-none"
className="flex w-fit cursor-pointer items-center gap-1 rounded-[8px] border border-stone-300 bg-card px-1.5 py-0.5 font-semibold text-card-foreground text-sm shadow-md shadow-stone-200/50 transition-all hover:brightness-95 dark:border-stone-800 dark:shadow-none"

Copilot uses AI. Check for mistakes.
Copy link

Copilot AI Nov 28, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Inconsistent shadow color: The shadow color changes from shadow-neutral-200/40 to shadow-stone-200/50. This should use stone for consistency with other changes in this PR that also use stone-200/50 (e.g., Card component, ThemeSwitcher, LanguageSwitcher).

Copilot uses AI. Check for mistakes.
disabled={loading}
Comment on lines 69 to 72
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Disabled submit button will still look clickable due to cursor-pointer.

With cursor-pointer on the button, the mouse cursor remains a pointer even when disabled, which can be confusing. Consider either dropping cursor-pointer or adding disabled-specific cursor/opacity styles.

-        <button
-          type="submit"
-          className="flex w-fit cursor-pointer items-center gap-1 rounded-[8px] border border-stone-300 bg-card px-1.5 py-0.5 font-semibold text-card-foreground text-sm shadow-lg shadow-stone-200/50 transition-all hover:brightness-95 dark:border-stone-800 dark:shadow-none"
-          disabled={loading}
-        >
+        <button
+          type="submit"
+          className="flex w-fit items-center gap-1 rounded-[8px] border border-stone-300 bg-card px-1.5 py-0.5 font-semibold text-card-foreground text-sm shadow-lg shadow-stone-200/50 transition-all hover:brightness-95 disabled:cursor-not-allowed disabled:opacity-60 dark:border-stone-800 dark:shadow-none"
+          disabled={loading}
+        >
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<button
type="submit"
className="flex w-fit items-center gap-1 rounded-[8px] border border-stone-300 bg-card px-1.5 py-0.5 font-semibold text-card-foreground text-sm shadow-lg shadow-neutral-200/40 transition-all hover:brightness-95 dark:border-stone-800 dark:shadow-none"
className="flex w-fit cursor-pointer items-center gap-1 rounded-[8px] border border-stone-300 bg-card px-1.5 py-0.5 font-semibold text-card-foreground text-sm shadow-lg shadow-stone-200/50 transition-all hover:brightness-95 dark:border-stone-800 dark:shadow-none"
disabled={loading}
<button
type="submit"
className="flex w-fit items-center gap-1 rounded-[8px] border border-stone-300 bg-card px-1.5 py-0.5 font-semibold text-card-foreground text-sm shadow-lg shadow-stone-200/50 transition-all hover:brightness-95 disabled:cursor-not-allowed disabled:opacity-60 dark:border-stone-800 dark:shadow-none"
disabled={loading}
>
🤖 Prompt for AI Agents
In components/SignIn.tsx around lines 69-72 the submit button always has
cursor-pointer which makes it appear clickable when disabled; change the styling
so the cursor and visual state reflect the disabled/loading state — remove the
unconditional cursor-pointer and instead apply cursor-not-allowed (and
optionally reduced opacity like opacity-70 and/or pointer-events-none) when
disabled/loading, and keep cursor-pointer only when not disabled; implement this
by conditionally composing the className (ternary or classnames utility) based
on the loading/disabled flag so the button shows a disabled cursor and visual
cue when disabled.

>
{t("Submit")}
Expand Down
5 changes: 4 additions & 1 deletion components/ThemeSwitcher.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,10 @@ export function ModeToggle() {
<span className="sr-only">Toggle theme</span>
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent className="flex flex-col gap-0.5" align="end">
<DropdownMenuContent
className="flex flex-col gap-0.5 border-none shadow-md shadow-stone-200/50 ring ring-stone-200 dark:shadow-none dark:ring-stone-800"
align="end"
>
<DropdownMenuItem
className={cn("rounded-b-[5px]", {
"gap-3 bg-muted font-semibold": theme === "light",
Expand Down
2 changes: 1 addition & 1 deletion components/ui/card.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElemen
<div
ref={ref}
className={cn(
"rounded-lg border bg-card text-card-foreground shadow-lg shadow-neutral-200/40 dark:shadow-none",
"rounded-lg bg-card text-card-foreground shadow-md shadow-stone-200/50 ring ring-stone-200 dark:shadow-none dark:ring-stone-800",
className,
)}
{...props}
Expand Down
6 changes: 3 additions & 3 deletions styles/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -342,14 +342,14 @@

.tooltip-animate {
opacity: 0;
filter: blur(10px);
animation: tooltip-fade-in 0.2s ease-in-out forwards;
filter: blur(5px);
animation: tooltip-fade-in 0.1s ease-in-out forwards;
}

@keyframes tooltip-fade-in {
from {
opacity: 0;
filter: blur(10px);
filter: blur(5px);
}
to {
opacity: 1;
Expand Down
Loading