Base64 Configuration
- Encoded template files
+
+ Encoded template files
+
@@ -363,4 +398,4 @@ const TemplateGrid: React.FC = () => {
);
};
-export default TemplateGrid;
\ No newline at end of file
+export default TemplateGrid;
diff --git a/app/src/components/ui/button.tsx b/app/src/components/ui/button.tsx
index cd0857a0..cf2c62fa 100644
--- a/app/src/components/ui/button.tsx
+++ b/app/src/components/ui/button.tsx
@@ -5,7 +5,7 @@ import { cva, type VariantProps } from "class-variance-authority"
import { cn } from "@/lib/utils"
const buttonVariants = cva(
- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive cursor-pointer",
{
variants: {
variant: {
diff --git a/app/src/components/ui/dokploy-logo.tsx b/app/src/components/ui/dokploy-logo.tsx
new file mode 100644
index 00000000..d2f5190e
--- /dev/null
+++ b/app/src/components/ui/dokploy-logo.tsx
@@ -0,0 +1,25 @@
+const DokployLogo = ({ ...props }: React.ComponentProps<"svg">) => {
+ return (
+
+ );
+};
+
+export default DokployLogo;
diff --git a/app/src/index.css b/app/src/index.css
index 88df9da2..40e2a754 100644
--- a/app/src/index.css
+++ b/app/src/index.css
@@ -69,7 +69,7 @@ a:hover {
-@media (prefers-color-scheme: light) {
+/* @media (prefers-color-scheme: light) {
:root {
color: #213547;
background-color: #ffffff;
@@ -80,7 +80,7 @@ a:hover {
button {
background-color: #f9f9f9;
}
-}
+} */
.dark {
--background: oklch(0.145 0 0);
diff --git a/app/src/mode-toggle.tsx b/app/src/mode-toggle.tsx
index 75a78f70..6b12a918 100644
--- a/app/src/mode-toggle.tsx
+++ b/app/src/mode-toggle.tsx
@@ -16,8 +16,8 @@ export function ModeToggle() {
diff --git a/app/src/store.ts b/app/src/store.ts
new file mode 100644
index 00000000..04946192
--- /dev/null
+++ b/app/src/store.ts
@@ -0,0 +1,25 @@
+import { create } from 'zustand'
+
+interface Template {
+ id: string;
+ name: string;
+ description: string;
+ version: string;
+ logo?: string;
+ links: {
+ github?: string;
+ website?: string;
+ docs?: string;
+ };
+ tags: string[];
+}
+
+interface TemplateStore {
+ templates: Template[];
+ setTemplates: (templates: Template[]) => void;
+}
+
+export const useStore = create((set) => ({
+ templates: [],
+ setTemplates: (templates) => set({ templates }),
+}))
\ No newline at end of file
diff --git a/app/src/store/index.ts b/app/src/store/index.ts
new file mode 100644
index 00000000..f80640d6
--- /dev/null
+++ b/app/src/store/index.ts
@@ -0,0 +1,29 @@
+import { create } from 'zustand'
+
+interface Template {
+ id: string;
+ name: string;
+ description: string;
+ version: string;
+ logo?: string;
+ links: {
+ github?: string;
+ website?: string;
+ docs?: string;
+ };
+ tags: string[];
+}
+
+interface Store {
+ templates: Template[];
+ setTemplates: (templates: Template[]) => void;
+ githubStars: number;
+ setGithubStars: (count: number) => void;
+}
+
+export const useStore = create((set) => ({
+ templates: [],
+ setTemplates: (templates) => set({ templates }),
+ githubStars: 0,
+ setGithubStars: (count) => set({ githubStars: count }),
+}))
\ No newline at end of file