Skip to content

Commit

Permalink
Merge pull request #34 from arturch2011/feat-welcome-page
Browse files Browse the repository at this point in the history
feat (front-end welcome page):
  • Loading branch information
adrianvrj authored Aug 15, 2024
2 parents 9ebbe1a + 12166f8 commit fceb682
Show file tree
Hide file tree
Showing 18 changed files with 111 additions and 141 deletions.
22 changes: 0 additions & 22 deletions frontend/gostarkme-web/app/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,7 @@
@tailwind components;
@tailwind utilities;

:root {
--foreground-rgb: 0, 0, 0;
--background-start-rgb: 214, 219, 220;
--background-end-rgb: 255, 255, 255;
}

@media (prefers-color-scheme: dark) {
:root {
--foreground-rgb: 255, 255, 255;
--background-start-rgb: 0, 0, 0;
--background-end-rgb: 0, 0, 0;
}
}

body {
color: rgb(var(--foreground-rgb));
background: linear-gradient(
to bottom,
transparent,
rgb(var(--background-end-rgb))
)
rgb(var(--background-start-rgb));
}

@layer utilities {
.text-balance {
Expand Down
23 changes: 14 additions & 9 deletions frontend/gostarkme-web/app/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,22 +1,27 @@
import type { Metadata } from "next";
import { Inter } from "next/font/google";
import localFont from "next/font/local";
import "./globals.css";

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

const helvetica = localFont({
src: "../public/fonts/Helvetica.ttf",
});

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

export default function RootLayout({
children,
children,
}: Readonly<{
children: React.ReactNode;
children: React.ReactNode;
}>) {
return (
<html lang="en">
<body className={inter.className}>{children}</body>
</html>
);
return (
<html lang="en">
<body className={helvetica.className}>{children}</body>
</html>
);
}
143 changes: 35 additions & 108 deletions frontend/gostarkme-web/app/page.tsx
Original file line number Diff line number Diff line change
@@ -1,113 +1,40 @@
import { WelcomeBar } from "@/components/welcomepage/WelcomeBar";
import { WelcomeItens } from "@/components/welcomepage/WelcomeItens";
import Image from "next/image";

export default function Home() {
return (
<main className="flex min-h-screen flex-col items-center justify-between p-24">
<div className="z-10 w-full max-w-5xl items-center justify-between font-mono text-sm lg:flex">
<p className="fixed left-0 top-0 flex w-full justify-center border-b border-gray-300 bg-gradient-to-b from-zinc-200 pb-6 pt-8 backdrop-blur-2xl dark:border-neutral-800 dark:bg-zinc-800/30 dark:from-inherit lg:static lg:w-auto lg:rounded-xl lg:border lg:bg-gray-200 lg:p-4 lg:dark:bg-zinc-800/30">
Get started by editing&nbsp;
<code className="font-mono font-bold">app/page.tsx</code>
</p>
<div className="fixed bottom-0 left-0 flex h-48 w-full items-end justify-center bg-gradient-to-t from-white via-white dark:from-black dark:via-black lg:static lg:size-auto lg:bg-none">
<a
className="pointer-events-none flex place-items-center gap-2 p-8 lg:pointer-events-auto lg:p-0"
href="https://vercel.com?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
target="_blank"
rel="noopener noreferrer"
>
By{" "}
<Image
src="/vercel.svg"
alt="Vercel Logo"
className="dark:invert"
width={100}
height={24}
priority
/>
</a>
</div>
</div>
return (
<main className="flex min-h-screen w-full flex-col items-center ">
<WelcomeBar />
<section className="w-full max-w-screen-2xl grid grid-cols-1 md:grid-cols-2 p-10">
<div className="justify-self-center flex flex-col justify-center items-center md:items-start gap-4 p-4">
<h1 className="text-4xl font-bold">Upload your cause</h1>
<WelcomeItens
text="Give it a name."
src="/icons/user.png"
/>
<WelcomeItens
text="Give a good purpose."
src="/icons/target.png"
/>
<WelcomeItens
text="Recollect Stars."
src="/icons/star.png"
/>
<WelcomeItens
text="Receive donations."
src="/icons/starklogo.png"
/>
</div>

<div className="relative z-[-1] flex place-items-center before:absolute before:h-[300px] before:w-full before:-translate-x-1/2 before:rounded-full before:bg-gradient-radial before:from-white before:to-transparent before:blur-2xl before:content-[''] after:absolute after:-z-20 after:h-[180px] after:w-full after:translate-x-1/3 after:bg-gradient-conic after:from-sky-200 after:via-blue-200 after:blur-2xl after:content-[''] before:dark:bg-gradient-to-br before:dark:from-transparent before:dark:to-blue-700 before:dark:opacity-10 after:dark:from-sky-900 after:dark:via-[#0141ff] after:dark:opacity-40 sm:before:w-[480px] sm:after:w-[240px] before:lg:h-[360px]">
<Image
className="relative dark:drop-shadow-[0_0_0.3rem_#ffffff70] dark:invert"
src="/next.svg"
alt="Next.js Logo"
width={180}
height={37}
priority
/>
</div>

<div className="mb-32 grid text-center lg:mb-0 lg:w-full lg:max-w-5xl lg:grid-cols-4 lg:text-left">
<a
href="https://nextjs.org/docs?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30"
target="_blank"
rel="noopener noreferrer"
>
<h2 className="mb-3 text-2xl font-semibold">
Docs{" "}
<span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none">
-&gt;
</span>
</h2>
<p className="m-0 max-w-[30ch] text-sm opacity-50">
Find in-depth information about Next.js features and API.
</p>
</a>

<a
href="https://nextjs.org/learn?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app"
className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30"
target="_blank"
rel="noopener noreferrer"
>
<h2 className="mb-3 text-2xl font-semibold">
Learn{" "}
<span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none">
-&gt;
</span>
</h2>
<p className="m-0 max-w-[30ch] text-sm opacity-50">
Learn about Next.js in an interactive course with&nbsp;quizzes!
</p>
</a>

<a
href="https://vercel.com/templates?framework=next.js&utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30"
target="_blank"
rel="noopener noreferrer"
>
<h2 className="mb-3 text-2xl font-semibold">
Templates{" "}
<span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none">
-&gt;
</span>
</h2>
<p className="m-0 max-w-[30ch] text-sm opacity-50">
Explore starter templates for Next.js.
</p>
</a>

<a
href="https://vercel.com/new?utm_source=create-next-app&utm_medium=appdir-template&utm_campaign=create-next-app"
className="group rounded-lg border border-transparent px-5 py-4 transition-colors hover:border-gray-300 hover:bg-gray-100 hover:dark:border-neutral-700 hover:dark:bg-neutral-800/30"
target="_blank"
rel="noopener noreferrer"
>
<h2 className="mb-3 text-2xl font-semibold">
Deploy{" "}
<span className="inline-block transition-transform group-hover:translate-x-1 motion-reduce:transform-none">
-&gt;
</span>
</h2>
<p className="m-0 max-w-[30ch] text-balance text-sm opacity-50">
Instantly deploy your Next.js site to a shareable URL with Vercel.
</p>
</a>
</div>
</main>
);
<Image
src="/images/starcard.png"
alt="stark logo"
height={771}
width={450}
className="self-center justify-self-center w-2/3 max-w-96"
/>
</section>
</main>
);
}
20 changes: 20 additions & 0 deletions frontend/gostarkme-web/components/ui/LinkButton.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
"use client";

import Link from "next/link";

interface LinkButtonProps<T> {
label: string;
href: string;
Icon?: React.ComponentType<any>;
}

export const LinkButton = ({ label, href, Icon }: LinkButtonProps<void>) => {
return (
<Link
href={href}
className="bg-darkblue text-white py-2 px-4 rounded-md text-lg shadow-lg hover:bg-starkorange active:bg-darkblue ease-in-out duration-500 active:duration-0"
>
{Icon ? <Icon className={`text-2xl w-6 `} /> : label}
</Link>
);
};
23 changes: 23 additions & 0 deletions frontend/gostarkme-web/components/welcomepage/WelcomeBar.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import Image from "next/image";
import { LinkButton } from "../ui/LinkButton";

export const WelcomeBar = () => {
return (
<nav className=" bg-white top-0 w-full z-20 border-b-[1px] border-darkblue">
<div className="max-w-screen-2xl mx-auto w-full p-4 flex items-center justify-between">
<span className="w-28" />
<div className=" flex flex-col items-center gap-4">
<Image
src="/icons/starklogo.png"
alt="stark logo"
width={30}
height={30}
/>
<h1 className="text-xl">Go Stark Me</h1>
</div>

<LinkButton label="Go to app" href="/dashboard" />
</div>
</nav>
);
};
15 changes: 15 additions & 0 deletions frontend/gostarkme-web/components/welcomepage/WelcomeItens.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import Image from "next/image";

interface WelcomeItensProps {
text: string;
src: string;
}

export const WelcomeItens = ({ text, src }: WelcomeItensProps) => {
return (
<div className="flex items-center gap-2 ml-2">
<Image src={src} alt="icon" width={30} height={30} />
<p className="text-2xl">{text}</p>
</div>
);
};
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added frontend/gostarkme-web/public/icons/star.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added frontend/gostarkme-web/public/icons/starklogo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added frontend/gostarkme-web/public/icons/target.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added frontend/gostarkme-web/public/icons/user.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion frontend/gostarkme-web/public/next.svg

This file was deleted.

1 change: 0 additions & 1 deletion frontend/gostarkme-web/public/vercel.svg

This file was deleted.

4 changes: 4 additions & 0 deletions frontend/gostarkme-web/tailwind.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ const config: Config = {
"gradient-conic":
"conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))",
},
colors: {
darkblue: "#0C0C4F",
starkorange: "#ED796C",
},
},
},
plugins: [],
Expand Down

0 comments on commit fceb682

Please sign in to comment.