Merge pull request #1 from bipproduction/dev

Dev
This commit is contained in:
bipproduction
2023-07-29 11:07:13 +08:00
committed by GitHub
22 changed files with 367 additions and 11 deletions

BIN
public/img/logo_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@@ -0,0 +1,64 @@
"use client";
import {
AppShell,
Box,
Burger,
Button,
Flex,
Group,
Header,
MediaQuery,
Menu,
Text,
useMantineTheme,
} from "@mantine/core";
import router from "next/router";
import { useState } from "react";
export default function LayoutDashboardAdmin({
children,
}: {
children: React.ReactNode;
}) {
const theme = useMantineTheme();
const [opened, setOpened] = useState(false);
return (
<>
<AppShell
styles={{
main: {
background:
theme.colorScheme === "dark"
? theme.colors.dark[8]
: theme.colors.gray[0],
},
}}
// navbarOffsetBreakpoint="sm"
// asideOffsetBreakpoint="sm"
header={
<Header height={{ base: 50, md: 70 }} p="md">
<div style={{ height: "100%" }}>
<MediaQuery largerThan="sm" styles={{ display: "none" }}>
<Burger
opened={opened}
onClick={() => setOpened((o) => !o)}
size="sm"
color={theme.colors.gray[6]}
mr="xl"
/>
</MediaQuery>
<Group position="apart">
<Text>Dashboard Admin</Text>
<Button>Admin</Button>
</Group>
</div>
</Header>
}
>
{children}
</AppShell>
</>
);
}

View File

@@ -0,0 +1,7 @@
import DashboardAdmin from "@/modules/dashboard_admin";
export default function PageDashboardAdmin(){
return <>
<DashboardAdmin/>
</>
}

View File

@@ -0,0 +1,64 @@
"use client";
import {
AppShell,
Box,
Burger,
Button,
Flex,
Group,
Header,
MediaQuery,
Menu,
Text,
useMantineTheme,
} from "@mantine/core";
import router from "next/router";
import { useState } from "react";
export default function LayoutDashboardSuperAdmin({
children,
}: {
children: React.ReactNode;
}) {
const theme = useMantineTheme();
const [opened, setOpened] = useState(false);
return (
<>
<AppShell
styles={{
main: {
background:
theme.colorScheme === "dark"
? theme.colors.dark[8]
: theme.colors.gray[0],
},
}}
// navbarOffsetBreakpoint="sm"
// asideOffsetBreakpoint="sm"
header={
<Header height={{ base: 50, md: 70 }} p="md">
<div style={{ height: "100%" }}>
<MediaQuery largerThan="sm" styles={{ display: "none" }}>
<Burger
opened={opened}
onClick={() => setOpened((o) => !o)}
size="sm"
color={theme.colors.gray[6]}
mr="xl"
/>
</MediaQuery>
<Group position="apart">
<Text>Dashboard Super Admin</Text>
<Button>Super Admin</Button>
</Group>
</div>
</Header>
}
>
{children}
</AppShell>
</>
);
}

View File

@@ -0,0 +1,7 @@
import DashboardSuperAdmin from "@/modules/dashboard_super_admin";
export default function PageDashboardSuperAdmin(){
return <>
<DashboardSuperAdmin/>
</>
}

View File

@@ -0,0 +1,110 @@
"use client";
import {
ActionIcon,
AppShell,
Aside,
AspectRatio,
Box,
Burger,
Button,
Flex,
Footer,
Grid,
Group,
Header,
HoverCard,
Image,
MediaQuery,
Menu,
Navbar,
Text,
useMantineTheme,
} from "@mantine/core";
import { useShallowEffect } from "@mantine/hooks";
import Link from "next/link";
import { useRouter } from "next/navigation";
import React, { useState } from "react";
export default function LayoutLandingPage({
children,
}: {
children: React.ReactNode;
}) {
const router = useRouter();
const theme = useMantineTheme();
const [opened, setOpened] = useState(false);
//menunggu rendering client karena tampilan di mulai dirender pada server
const [waiting, setWaiting] = useState(false);
useShallowEffect(() => {
if (window) setWaiting(true);
}, []);
if (!waiting) return <></>;
return (
<>
<AppShell
styles={{
main: {
background:
theme.colorScheme === "dark"
? theme.colors.dark[8]
: theme.colors.gray[0],
},
}}
// navbarOffsetBreakpoint="sm"
// asideOffsetBreakpoint="sm"
header={
<Header height={{ base: 50, md: 70 }} p="md">
<div style={{ height: "100%" }}>
<MediaQuery largerThan="sm" styles={{ display: "none" }}>
<Burger
opened={opened}
onClick={() => setOpened((o) => !o)}
size="sm"
color={theme.colors.gray[6]}
mr="xl"
/>
</MediaQuery>
<Group position="apart">
<Image maw={150} src="/img/logo_1.png" alt="Random image" />
<Box>
<Flex gap={"xl"}>
<Text>Beranda</Text>
<Text>Tentang Kami</Text>
<Text>Informasi</Text>
<Text>Galeri</Text>
</Flex>
</Box>
<Menu position="bottom">
<Menu.Target>
<Button>Login</Button>
</Menu.Target>
<Menu.Dropdown>
<Menu.Item onClick={() => router.push("/dev/login")}>
Login
</Menu.Item>
<Menu.Item
onClick={() => router.push("/dev/dashboard-admin")}
>
Dashboard Admin
</Menu.Item>
<Menu.Item
onClick={() => router.push("/dev/dashboard-super-admin")}
>
Dashboard Super Admin
</Menu.Item>
</Menu.Dropdown>
</Menu>
</Group>
</div>
</Header>
}
>
{children}
</AppShell>
</>
);
}

View File

@@ -0,0 +1,10 @@
import LandingPage from "@/modules/landing_page";
import { Button, Menu, Stack } from "@mantine/core";
export default function PageLandingPage() {
return (
<>
<LandingPage />
</>
);
}

View File

@@ -0,0 +1,9 @@
import { LoginPage } from "@/modules/login";
export default function PageLogin() {
return (
<>
<LoginPage />
</>
);
}

View File

@@ -1,5 +1,9 @@
export default function PageDev() {
return <>
Page Dev
import PageLandingPage from "./landing-page/page";
export default async function PageDev() {
return (
<>
<PageLandingPage />
</>
}
);
}

View File

@@ -0,0 +1,7 @@
import { RegisterPage } from "@/modules/login";
export default function PageRegister(){
return <>
<RegisterPage/>
</>
}

View File

@@ -1,14 +1,20 @@
import LayoutLandingPage from "./dev/landing-page/layout";
import PageLandingPage from "./dev/landing-page/page";
import PageDev from "./dev/page";
export default async function Page() {
return (
// <Page1 data={store.get("session")?.value} />
<div>
<center>
<h1>HIPMI PROJECT</h1>
<p>Bip Production@Team_wibu</p>
<a href="/dev">Project</a>
</center>
</div>
// <div>
// <center>
// <h1>HIPMI PROJECT</h1>
// <p>Bip Production@Team_wibu</p>
// <a href="/dev">Project</a>
// </center>
// </div>
<LayoutLandingPage>
<PageLandingPage/>
</LayoutLandingPage>
);
}

View File

@@ -0,0 +1,9 @@
"use client"
export function DashboardAdmin(){
return <>
<div>
ini dashboard admin
</div>
</>
}

View File

@@ -0,0 +1,3 @@
import { DashboardAdmin } from "./dashboard_admin";
export default DashboardAdmin

View File

@@ -0,0 +1,7 @@
"use client"
export function DashboardSuperAdmin(){
return <>
<div>Ini super admin</div>
</>
}

View File

@@ -0,0 +1,3 @@
import { DashboardSuperAdmin } from "./dashboard_super_admin";
export default DashboardSuperAdmin

View File

@@ -0,0 +1,5 @@
import { LandingPage } from "./landing-page";
export default LandingPage;

View File

@@ -0,0 +1,11 @@
"use client"
import { Box } from "@mantine/core"
export function LandingPage(){
return <>
<Box>
ini Landing
</Box>
</>
}

View File

@@ -0,0 +1,5 @@
import LoginPage from "./login_page";
import RegisterPage from "./register_page";
export {LoginPage}
export {RegisterPage}

View File

@@ -0,0 +1,3 @@
import { LoginPage } from "./login_page";
export default LoginPage

View File

@@ -0,0 +1,12 @@
"use client"
import { Button } from "@mantine/core"
import { useRouter } from "next/navigation"
export function LoginPage(){
const router = useRouter()
return <>
<div>ini login</div>
<Button onClick={() =>router.push("/dev/registrasi") }>Register</Button>
</>
}

View File

@@ -0,0 +1,3 @@
import { RegisterPage } from "./register_page";
export default RegisterPage

View File

@@ -0,0 +1,7 @@
"use client"
export function RegisterPage(){
return <>
<div>ini register</div>
</>
}