diff --git a/apps/web/src/app/(home)/_components/CommandDisplay.tsx b/apps/web/src/app/(home)/_components/CommandDisplay.tsx index 1ab2be8..e7eed65 100644 --- a/apps/web/src/app/(home)/_components/CommandDisplay.tsx +++ b/apps/web/src/app/(home)/_components/CommandDisplay.tsx @@ -30,7 +30,7 @@ export function CommandDisplay({ command }: CommandDisplayProps) { )} -
{command}
+
{command}
); diff --git a/apps/web/src/app/(home)/_components/CustomizableStack.tsx b/apps/web/src/app/(home)/_components/CustomizableStack.tsx index 2ddc4e6..df87887 100644 --- a/apps/web/src/app/(home)/_components/CustomizableStack.tsx +++ b/apps/web/src/app/(home)/_components/CustomizableStack.tsx @@ -7,7 +7,7 @@ import { useEdgesState, useNodesState, } from "@xyflow/react"; -import { useCallback, useState } from "react"; +import { useCallback, useEffect, useState } from "react"; import { TechSelector } from "./TechSelector"; import "@xyflow/react/dist/style.css"; import { initialNodes } from "@/lib/constant"; @@ -47,6 +47,23 @@ const CustomizableStack = () => { orm: "drizzle", auth: "better-auth", }); + const [windowSize, setWindowSize] = useState("lg"); + + useEffect(() => { + const handleResize = () => { + if (window.innerWidth < 1024 && window.innerWidth > 768) { + setWindowSize("md"); + } else if (window.innerWidth < 768) { + setWindowSize("sm"); + } else { + setWindowSize("lg"); + } + }; + + handleResize(); + window.addEventListener("resize", handleResize); + return () => window.removeEventListener("resize", handleResize); + }, []); // biome-ignore lint/correctness/useExhaustiveDependencies: const cleanupConnectionsByCategory = useCallback((category: string) => { @@ -262,17 +279,17 @@ const CustomizableStack = () => { return (
-
+
-
+
Select technologies from the left panel to customize your stack. The graph will automatically update connections.
-
+
{ onConnect={onConnect} nodeTypes={nodeTypes} fitView - minZoom={1} - maxZoom={1} + // minZoom={1} + maxZoom={windowSize === "sm" ? 0.6 : windowSize === "md" ? 0.6 : 1} zoomOnScroll={false} zoomOnPinch={false} preventScrolling={false} diff --git a/apps/web/src/app/(home)/_components/TechConstellation.tsx b/apps/web/src/app/(home)/_components/TechConstellation.tsx index b6e4cc6..2788886 100644 --- a/apps/web/src/app/(home)/_components/TechConstellation.tsx +++ b/apps/web/src/app/(home)/_components/TechConstellation.tsx @@ -153,7 +153,7 @@ const TechConstellation = () => { return (
+
Customize Stack
{Object.entries(techOptions).map(([category, options]) => (
diff --git a/apps/web/src/app/(home)/_components/Terminal.tsx b/apps/web/src/app/(home)/_components/Terminal.tsx index d42e1cd..e8f9b06 100644 --- a/apps/web/src/app/(home)/_components/Terminal.tsx +++ b/apps/web/src/app/(home)/_components/Terminal.tsx @@ -22,27 +22,27 @@ const TerminalDisplay = () => { `; return ( -
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
- ~ - $ - + ~ + $ + npx create-better-t-stack@latest
-
+					
 						{TITLE_TEXT}
 					
diff --git a/apps/web/src/app/(home)/page.tsx b/apps/web/src/app/(home)/page.tsx index fc8bda5..9b6c432 100644 --- a/apps/web/src/app/(home)/page.tsx +++ b/apps/web/src/app/(home)/page.tsx @@ -20,7 +20,7 @@ const poppins = Poppins({ export default function HomePage() { return (
@@ -66,11 +66,11 @@ export default function HomePage() {
-

+

A Symphony of Modern Tech

-

+

Carefully orchestrated stack of{" "} cutting-edge technologies @@ -78,7 +78,7 @@ export default function HomePage() { , working in perfect harmony to deliver an exceptional development experience.

-
+
End-to-end Type Safety diff --git a/apps/web/src/app/global.css b/apps/web/src/app/global.css index 1e81c16..c13b782 100644 --- a/apps/web/src/app/global.css +++ b/apps/web/src/app/global.css @@ -65,3 +65,24 @@ background-position: 200% 50%; } } + +/* custom scrollbar */ +::-webkit-scrollbar { + width: 8px; +} + +::-webkit-scrollbar-track { + background: rgba(16, 0, 16, 0.493); + border-radius: 4px; +} + +::-webkit-scrollbar-thumb { + background: linear-gradient(45deg, #666, #888); + border-radius: 4px; + border: 2px solid #1a1a1a; + transition: background 0.3s ease; +} + +::-webkit-scrollbar-thumb:hover { + background: linear-gradient(45deg, #888, #aaa); +}