commit 1c4eec6d92197add479895592f0f572aceefe757 Author: KronosHSB Date: Mon Feb 24 15:52:36 2025 +0700 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c87c9b3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,36 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.pnpm-debug.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/app/css/additional-styles/custom-fonts.css b/app/css/additional-styles/custom-fonts.css new file mode 100644 index 0000000..2b70f8b --- /dev/null +++ b/app/css/additional-styles/custom-fonts.css @@ -0,0 +1,4 @@ +@font-face { + font-family: "Apfel"; + src: url("fonts/ApfelGrotezk-Regular.woff2") format("woff2"); +} diff --git a/app/css/additional-styles/theme.css b/app/css/additional-styles/theme.css new file mode 100644 index 0000000..4dbddec --- /dev/null +++ b/app/css/additional-styles/theme.css @@ -0,0 +1,82 @@ +/* Custom AOS animations */ +@media screen { + html:not(.no-js) body [data-aos="fade-up"] { + -webkit-transform: translate3d(0, 10px, 0); + transform: translate3d(0, 10px, 0); + } + + html:not(.no-js) body [data-aos="fade-down"] { + -webkit-transform: translate3d(0, -10px, 0); + transform: translate3d(0, -10px, 0); + } + + html:not(.no-js) body [data-aos="fade-right"] { + -webkit-transform: translate3d(-10px, 0, 0); + transform: translate3d(-10px, 0, 0); + } + + html:not(.no-js) body [data-aos="fade-left"] { + -webkit-transform: translate3d(10px, 0, 0); + transform: translate3d(10px, 0, 0); + } + + html:not(.no-js) body [data-aos="fade-up-right"] { + -webkit-transform: translate3d(-10px, 10px, 0); + transform: translate3d(-10px, 10px, 0); + } + + html:not(.no-js) body [data-aos="fade-up-left"] { + -webkit-transform: translate3d(10px, 10px, 0); + transform: translate3d(10px, 10px, 0); + } + + html:not(.no-js) body [data-aos="fade-down-right"] { + -webkit-transform: translate3d(-10px, -10px, 0); + transform: translate3d(-10px, -10px, 0); + } + + html:not(.no-js) body [data-aos="fade-down-left"] { + -webkit-transform: translate3d(10px, -10px, 0); + transform: translate3d(10px, -10px, 0); + } + + html:not(.no-js) body [data-aos="zoom-in-up"] { + -webkit-transform: translate3d(0, 10px, 0) scale(0.6); + transform: translate3d(0, 10px, 0) scale(0.6); + } + + html:not(.no-js) body [data-aos="zoom-in-down"] { + -webkit-transform: translate3d(0, -10px, 0) scale(0.6); + transform: translate3d(0, -10px, 0) scale(0.6); + } + + html:not(.no-js) body [data-aos="zoom-in-right"] { + -webkit-transform: translate3d(-10px, 0, 0) scale(0.6); + transform: translate3d(-10px, 0, 0) scale(0.6); + } + + html:not(.no-js) body [data-aos="zoom-in-left"] { + -webkit-transform: translate3d(10px, 0, 0) scale(0.6); + transform: translate3d(10px, 0, 0) scale(0.6); + } + + html:not(.no-js) body [data-aos="zoom-out-up"] { + -webkit-transform: translate3d(0, 10px, 0) scale(1.2); + transform: translate3d(0, 10px, 0) scale(1.2); + } + + html:not(.no-js) body [data-aos="zoom-out-down"] { + -webkit-transform: translate3d(0, -10px, 0) scale(1.2); + transform: translate3d(0, -10px, 0) scale(1.2); + } + + html:not(.no-js) body [data-aos="zoom-out-right"] { + -webkit-transform: translate3d(-10px, 0, 0) scale(1.2); + transform: translate3d(-10px, 0, 0) scale(1.2); + } + + html:not(.no-js) body [data-aos="zoom-out-left"] { + -webkit-transform: translate3d(10px, 0, 0) scale(1.2); + transform: translate3d(10px, 0, 0) scale(1.2); + } +} diff --git a/app/css/additional-styles/utility-patterns.css b/app/css/additional-styles/utility-patterns.css new file mode 100644 index 0000000..6b71f7c --- /dev/null +++ b/app/css/additional-styles/utility-patterns.css @@ -0,0 +1,55 @@ +/* Buttons */ +.btn, +.btn-sm { + @apply inline-flex items-center justify-center whitespace-nowrap rounded-lg text-sm font-medium transition-all; +} + +.btn { + @apply px-4 py-[11px]; +} + +.btn-sm { + @apply px-3 py-[7px]; +} + +/* Forms */ +input[type="search"]::-webkit-search-decoration, +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-results-button, +input[type="search"]::-webkit-search-results-decoration { + -webkit-appearance: none; +} + +.form-input, +.form-textarea, +.form-multiselect, +.form-select, +.form-checkbox, +.form-radio { + @apply border border-gray-700 bg-gray-900/50 focus:border-gray-600 focus:ring-0 focus:ring-offset-0; +} + +.form-input, +.form-textarea, +.form-multiselect, +.form-select { + @apply rounded-lg px-4 py-2.5 text-sm text-gray-200; +} + +.form-input, +.form-textarea { + @apply placeholder-gray-600; +} + +.form-select { + @apply pr-10; +} + +.form-checkbox, +.form-radio { + @apply text-indigo-500; +} + +.form-checkbox { + @apply rounded; +} diff --git a/app/css/style.css b/app/css/style.css new file mode 100644 index 0000000..c1eef33 --- /dev/null +++ b/app/css/style.css @@ -0,0 +1,23 @@ +@import "tailwindcss/base"; +@import "tailwindcss/components"; + +/* Additional styles */ +@import "additional-styles/utility-patterns.css"; +@import "additional-styles/theme.css"; +@import "tailwindcss/utilities"; + +@keyframes float { + 0% { + transform: translateY(0px); + } + 50% { + transform: translateY(-20px); + } + 100% { + transform: translateY(0px); + } +} + +.animate-float { + animation: float 6s ease-in-out infinite; +} diff --git a/app/fonts/fonts.ts b/app/fonts/fonts.ts new file mode 100644 index 0000000..bd2a853 --- /dev/null +++ b/app/fonts/fonts.ts @@ -0,0 +1,97 @@ +import localFont from "next/font/local"; + +export const timesNowFont = localFont({ + src: [ + { + path: "../../public/fonts/TimesNow-ExtraLight.woff2", + weight: "200", + style: "normal", + }, + { + path: "../../public/fonts/TimesNow-ExtraLightItalic.woff2", + weight: "200", + style: "italic", + }, + { + path: "../../public/fonts/TimesNow-Light.woff2", + weight: "300", + style: "normal", + }, + { + path: "../../public/fonts/TimesNow-LightItalic.woff2", + weight: "300", + style: "italic", + }, + { + path: "../../public/fonts/TimesNow-SemiLight.woff2", + weight: "350", + style: "normal", + }, + { + path: "../../public/fonts/TimesNow-SemiLightItalic.woff2", + weight: "350", + style: "italic", + }, + { + path: "../../public/fonts/TimesNow-SemiBold.woff2", + weight: "600", + style: "normal", + }, + { + path: "../../public/fonts/TimesNow-SemiBoldItalic.woff2", + weight: "600", + style: "italic", + }, + { + path: "../../public/fonts/TimesNow-Bold.woff2", + weight: "700", + style: "normal", + }, + { + path: "../../public/fonts/TimesNow-BoldItalic.woff2", + weight: "700", + style: "italic", + }, + { + path: "../../public/fonts/TimesNow-ExtraBold.woff2", + weight: "800", + style: "normal", + }, + { + path: "../../public/fonts/TimesNow-ExtraBoldItalic.woff2", + weight: "800", + style: "italic", + }, + ], + variable: "--font-times-now", + display: "swap", +}); + +export const fkGroteskMonoFont = localFont({ + src: [ + { + path: "../../public/fonts/FKGroteskMono-Regular.woff2", + weight: "400", + style: "normal", + }, + { + path: "../../public/fonts/FKGroteskMono-Medium.woff2", + weight: "500", + style: "normal", + }, + ], + variable: "--font-fk-grotesk-mono", + display: "swap", +}); + +export const ppMondwestFont = localFont({ + src: [ + { + path: "../../public/fonts/PPMondwest-Regular.woff2", + weight: "400", + style: "normal", + }, + ], + variable: "--font-pp-mondwest", + display: "swap", +}); diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 0000000..26e98d7 --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,25 @@ +import type { Metadata } from "next"; +import "./css/style.css"; +import { timesNowFont, fkGroteskMonoFont, ppMondwestFont } from "./fonts/fonts"; +import "aos/dist/aos.css"; +import type React from "react"; + +export const metadata: Metadata = { + title: "ARTIV8", + description: "Description", +}; + +export default function RootLayout({ children }: { children: React.ReactNode }) { + return ( + + +
+
{children}
+
+ + + ); +} diff --git a/app/page.tsx b/app/page.tsx new file mode 100644 index 0000000..48a5fa8 --- /dev/null +++ b/app/page.tsx @@ -0,0 +1,21 @@ +import { Header } from "@/components/ui/header"; +import { Hero } from "@/components/hero"; +import { Features } from "@/components/features"; +import { Tokenomics } from "@/components/tokenomics"; +import { Mission } from "@/components/mission"; +import { CTA } from "@/components/cta"; +import { Footer } from "@/components/ui/footer"; + +export default function Home() { + return ( + <> +
+ + + + + +