From 205f92001c57bf81ca3b8778b02bc3f656741bb5 Mon Sep 17 00:00:00 2001 From: Khairul Hidayat Date: Wed, 10 Jan 2024 16:25:32 +0700 Subject: [PATCH] feat: add deploy script, update site --- deploy.sh | 4 +++ package.json | 1 + src/components/ui/Button.tsx | 58 ++++++++++++++++++++++++++++++++++++ src/pages/home/page.tsx | 10 ++----- vite.config.ts | 1 + yarn.lock | 2 +- 6 files changed, 67 insertions(+), 9 deletions(-) create mode 100755 deploy.sh create mode 100644 src/components/ui/Button.tsx diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..d444861 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +npm run build +scp -r ./dist/* khai:/var/www/furina.id diff --git a/package.json b/package.json index 19fae1a..f94e67d 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ }, "dependencies": { "@radix-ui/react-dialog": "^1.0.5", + "@radix-ui/react-slot": "^1.0.2", "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", "howler": "^2.2.4", diff --git a/src/components/ui/Button.tsx b/src/components/ui/Button.tsx new file mode 100644 index 0000000..ea49500 --- /dev/null +++ b/src/components/ui/Button.tsx @@ -0,0 +1,58 @@ +import * as React from "react"; +import { Slot } from "@radix-ui/react-slot"; +import { cva, type VariantProps } from "class-variance-authority"; + +import { cn } from "@/utility/utils"; + +const buttonVariants = cva( + "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 dark:ring-offset-primary-950 dark:focus-visible:ring-primary-300", + { + variants: { + variant: { + solid: + "bg-primary-500 text-primary-50 hover:bg-primary-500/90 dark:bg-primary-50 dark:text-primary-900 dark:hover:bg-primary-50/90", + destructive: + "bg-red-500 text-primary-50 hover:bg-red-500/90 dark:bg-red-900 dark:text-primary-50 dark:hover:bg-red-900/90", + outline: + "border border-primary-200 bg-white hover:bg-primary-100 hover:text-primary-900 dark:border-primary-800 dark:bg-primary-950 dark:hover:bg-primary-800 dark:hover:text-primary-50", + secondary: + "bg-primary-100 text-primary-900 hover:bg-primary-100/80 dark:bg-primary-800 dark:text-primary-50 dark:hover:bg-primary-800/80", + ghost: + "hover:bg-primary-100 hover:text-primary-900 dark:hover:bg-primary-800 dark:hover:text-primary-50", + link: "text-primary-900 underline-offset-4 hover:underline dark:text-primary-50", + }, + size: { + default: "h-10 px-4 py-2", + sm: "h-9 rounded-md px-3", + lg: "h-11 rounded-md px-8", + icon: "h-10 w-10", + }, + }, + defaultVariants: { + variant: "outline", + size: "default", + }, + } +); + +export interface ButtonProps + extends React.ButtonHTMLAttributes, + VariantProps { + asChild?: boolean; +} + +const Button = React.forwardRef( + ({ className, variant, size, asChild = false, ...props }, ref) => { + const Comp = asChild ? Slot : "button"; + return ( + + ); + } +); +Button.displayName = "Button"; + +export default Button; diff --git a/src/pages/home/page.tsx b/src/pages/home/page.tsx index 104aac2..06e59bf 100644 --- a/src/pages/home/page.tsx +++ b/src/pages/home/page.tsx @@ -6,6 +6,7 @@ import LoadingPage from "../misc/loading-page"; import PageMetadata from "@/components/containers/PageMetadata"; import Modal from "@/components/ui/Modal"; import useModal from "@/hooks/useModal"; +import Button from "@/components/ui/Button"; const HomePage = () => { const appRef = useRef(); @@ -61,18 +62,11 @@ const HomePage = () => { }; const Credits = () => { - const [toggle, setToggle] = useState(false); const modal = useModal(); return (
- +
diff --git a/vite.config.ts b/vite.config.ts
index b4db30b..1977dda 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -13,4 +13,5 @@ export default defineConfig({
   build: {
     chunkSizeWarningLimit: 1024,
   },
+  esbuild: { legalComments: "none" },
 });
diff --git a/yarn.lock b/yarn.lock
index c7ae6da..a5afd09 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -785,7 +785,7 @@
     "@babel/runtime" "^7.13.10"
     "@radix-ui/react-slot" "1.0.2"
 
-"@radix-ui/react-slot@1.0.2":
+"@radix-ui/react-slot@1.0.2", "@radix-ui/react-slot@^1.0.2":
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.0.2.tgz#a9ff4423eade67f501ffb32ec22064bc9d3099ab"
   integrity sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==