Skip to content

Commit

Permalink
Merge pull request #9 from omnisat/modal
Browse files Browse the repository at this point in the history
added modal
  • Loading branch information
0xBunzy authored Nov 15, 2024
2 parents cf7ff29 + 1785f66 commit 3c600a2
Show file tree
Hide file tree
Showing 9 changed files with 469 additions and 43 deletions.
49 changes: 49 additions & 0 deletions src/bin/script.ts
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,7 @@ async function init() {
"src/app/layout.tsx",
"src/components/DefaultLayout.tsx",
"src/components/ConnectWallet.tsx",
"src/components/ThemeToggle.tsx",
];

for (const file of filesToCopy) {
Expand Down Expand Up @@ -243,6 +244,24 @@ async function init() {
throw error;
}

console.log("\nInstalling next-themes...");
await executeCommand(
"npm",
[
"install",
"next-themes",
"--save",
"--no-fund",
"--no-audit",
"--loglevel=error",
],
{
cwd: root,
},
true
);
console.log(`${pc.green("✓")} next-themes installed!`);

console.log("\nInitializing Shadcn...");
try {
await executeCommand(
Expand Down Expand Up @@ -274,6 +293,36 @@ async function init() {
true
);
console.log(`${pc.green("✓")} Button component installed!`);

// Add the dropdown-menu component
console.log("\nAdding dropdown-menu component...");
await executeCommand(
"npx",
["shadcn@latest", "add", "dropdown-menu"],
{
cwd: root,
env: {
SKIP_INSTRUCTIONS: "1",
},
},
true
);
console.log(`${pc.green("✓")} Dropdown menu component installed!`);

// Add the dialog component
console.log("\nAdding dialog component...");
await executeCommand(
"npx",
["shadcn@latest", "add", "dialog"],
{
cwd: root,
env: {
SKIP_INSTRUCTIONS: "1",
},
},
true
);
console.log(`${pc.green("✓")} Dialog component installed!`);
} catch (error) {
console.error("Failed to initialize shadcn/ui:", error);
throw error;
Expand Down
9 changes: 8 additions & 1 deletion templates/next-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,14 @@
"@omnisat/lasereyes": "latest",
"next": "14.1.0",
"react": "^18",
"react-dom": "^18"
"react-dom": "^18",
"@radix-ui/react-dialog": "^1.0.5",
"@radix-ui/react-dropdown-menu": "^2.0.6",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.0",
"lucide-react": "^0.344.0",
"tailwind-merge": "^2.2.1",
"tailwindcss-animate": "^1.0.7"
},
"devDependencies": {
"@types/node": "^20",
Expand Down
76 changes: 76 additions & 0 deletions templates/next-app/src/app/globals.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
:root {
--background: 0 0% 100%;
--foreground: 222.2 84% 4.9%;

--card: 0 0% 100%;
--card-foreground: 222.2 84% 4.9%;

--popover: 0 0% 100%;
--popover-foreground: 222.2 84% 4.9%;

--primary: 222.2 47.4% 11.2%;
--primary-foreground: 210 40% 98%;

--secondary: 210 40% 96.1%;
--secondary-foreground: 222.2 47.4% 11.2%;

--muted: 210 40% 96.1%;
--muted-foreground: 215.4 16.3% 46.9%;

--accent: 210 40% 96.1%;
--accent-foreground: 222.2 47.4% 11.2%;

--destructive: 0 84.2% 60.2%;
--destructive-foreground: 210 40% 98%;

--border: 214.3 31.8% 91.4%;
--input: 214.3 31.8% 91.4%;
--ring: 222.2 84% 4.9%;

--radius: 0.5rem;
}

.dark {
--background: 222.2 84% 4.9%;
--foreground: 210 40% 98%;

--card: 222.2 84% 4.9%;
--card-foreground: 210 40% 98%;

--popover: 222.2 84% 4.9%;
--popover-foreground: 210 40% 98%;

--primary: 210 40% 98%;
--primary-foreground: 222.2 47.4% 11.2%;

--secondary: 217.2 32.6% 17.5%;
--secondary-foreground: 210 40% 98%;

--muted: 217.2 32.6% 17.5%;
--muted-foreground: 215 20.2% 65.1%;

--accent: 217.2 32.6% 17.5%;
--accent-foreground: 210 40% 98%;

--destructive: 0 62.8% 30.6%;
--destructive-foreground: 210 40% 98%;

--border: 217.2 32.6% 17.5%;
--input: 217.2 32.6% 17.5%;
--ring: 212.7 26.8% 83.9%;
}
}

@layer base {
* {
@apply border-border;
}
body {
@apply bg-background text-foreground;
}
}
12 changes: 3 additions & 9 deletions templates/next-app/src/app/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,22 +1,16 @@
import type { Metadata } from "next";
import { Inter } from "next/font/google";
import "./globals.css";
import DefaultLayout from "@/components/DefaultLayout";

const inter = Inter({ subsets: ["latin"] });

export const metadata: Metadata = {
title: "Create Next App",
description: "Generated by create next app",
};

export default function RootLayout({
children,
}: Readonly<{
}: {
children: React.ReactNode;
}>) {
}) {
return (
<html lang="en">
<html lang="en" suppressHydrationWarning>
<body className={inter.className}>
<DefaultLayout>{children}</DefaultLayout>
</body>
Expand Down
30 changes: 21 additions & 9 deletions templates/next-app/src/app/page.tsx
Original file line number Diff line number Diff line change
@@ -1,23 +1,35 @@
"use client";
import { useLaserEyes } from "@omnisat/lasereyes";
import { ConnectWallet } from "@/components/ConnectWallet";
import { useLaserEyes, LaserEyesLogo } from "@omnisat/lasereyes";
import ConnectWallet from "@/components/ConnectWallet";
import { ThemeToggle } from "@/components/ThemeToggle";

export default function Home() {
const { address } = useLaserEyes();

return (
<div className="min-h-screen flex flex-col items-center justify-center gap-8 p-8">
<h1 className="text-4xl font-bold text-center">
Welcome to LaserEyes Template
</h1>
<div className="flex flex-col items-center gap-4">
<div className="min-h-screen flex flex-col items-center justify-center gap-12 p-8 bg-gradient-to-br from-red-50 via-orange-50 to-yellow-50 dark:from-gray-900 dark:to-black text-black dark:text-white">
<div className="absolute top-4 right-4">
<ThemeToggle />
</div>
<div className="flex flex-col items-center gap-8">
<LaserEyesLogo color={address ? "green" : "orange"} />
<h1 className="text-4xl font-bold text-center bg-gradient-to-r from-orange-500 to-yellow-500 text-transparent bg-clip-text">
{address
? "Welcome To Create LaserEyes."
: "Welcome To The New Way Of Building."}
</h1>
</div>
<div className="flex flex-col items-center gap-6">
<ConnectWallet />
{address && (
<div className="flex flex-col gap-2">
<p className="text-lg text-center">Connected Address: {address}</p>
<p className="text-lg text-center text-black dark:text-gray-300">
Connected Address:{" "}
<span className="font-mono text-orange-400">{address}</span>
</p>
</div>
)}
</div>
</div>
);
}
}
Loading

0 comments on commit 3c600a2

Please sign in to comment.