diff --git a/package.json b/package.json
index db57c44..d3ae8ba 100644
--- a/package.json
+++ b/package.json
@@ -12,7 +12,7 @@
"seed": "tsx prisma/seed.ts"
},
"dependencies": {
- "@mantine/carousel": "^7.11.0",
+ "@mantine/carousel": "^7.11.1",
"@mantine/charts": "^7.11.0",
"@mantine/code-highlight": "^7.11.0",
"@mantine/core": "^7.11.0",
@@ -31,10 +31,12 @@
"@tiptap/react": "^2.4.0",
"@tiptap/starter-kit": "^2.4.0",
"dayjs": "^1.11.11",
- "embla-carousel-react": "^8.1.6",
+ "embla-carousel-autoplay": "^7.1.0",
+ "embla-carousel-react": "^7.1.0",
"next": "14.2.4",
"react": "^18",
"react-dom": "^18",
+ "react-icons": "^5.2.1",
"recharts": "2"
},
"devDependencies": {
diff --git a/src/app/(application)/detail-feature/page.tsx b/src/app/(application)/detail-feature/page.tsx
new file mode 100644
index 0000000..7838a54
--- /dev/null
+++ b/src/app/(application)/detail-feature/page.tsx
@@ -0,0 +1,10 @@
+import { ViewDetailFeature } from '@/module/home';
+import React from 'react';
+
+function Page() {
+ return (
+
+ );
+}
+
+export default Page;
\ No newline at end of file
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index da5bd36..7ade263 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -8,6 +8,7 @@ import {
} from "@mantine/core";
import { WARNA } from "@/module/_global";
import { Lato } from "next/font/google";
+import '@mantine/carousel/styles.css';
export const metadata = {
title: "SISTEM DESA MANDIRI",
diff --git a/src/module/_global/fun/WARNA.ts b/src/module/_global/fun/WARNA.ts
index d9f6868..a8d2c6c 100644
--- a/src/module/_global/fun/WARNA.ts
+++ b/src/module/_global/fun/WARNA.ts
@@ -1,4 +1,5 @@
export const WARNA = {
bgWhite: "#F4F9FD",
biruTua: "#19345E",
+ bgIcon: "#384288"
}
\ No newline at end of file
diff --git a/src/module/home/components/carosole.tsx b/src/module/home/components/carosole.tsx
new file mode 100644
index 0000000..4954f1a
--- /dev/null
+++ b/src/module/home/components/carosole.tsx
@@ -0,0 +1,35 @@
+import React, { useRef } from 'react';
+import { Carousel } from '@mantine/carousel';
+import { WARNA } from '@/module/_global';
+import Autoplay from 'embla-carousel-autoplay';
+import { Flex, Text } from '@mantine/core';
+export default function Carosole() {
+ const autoplay = useRef(Autoplay({ delay: 5000 }));
+ return (
+ <>
+
+
+
+ INFORMASI DARMASABA
+
+
+
+
+ INFORMASI DARMASABA
+
+
+
+
+ INFORMASI DARMASABA
+
+
+
+ >
+ );
+}
diff --git a/src/module/home/components/features.tsx b/src/module/home/components/features.tsx
new file mode 100644
index 0000000..cc32e84
--- /dev/null
+++ b/src/module/home/components/features.tsx
@@ -0,0 +1,78 @@
+import { WARNA } from '@/module/_global';
+import { ActionIcon, Box, Center, Grid, SimpleGrid, Text } from '@mantine/core';
+import { useRouter } from 'next/navigation';
+import React from 'react';
+import { HiMiniUserGroup, HiMiniPresentationChartBar, HiMegaphone, HiSquares2X2 } from "react-icons/hi2";
+
+export default function Features() {
+ const router = useRouter()
+ return (
+ <>
+
+ Features
+
+
+
+
+
+
+
+
+ Divisi
+
+
+
+
+
+
+
+
+
+ Proyek
+
+
+
+
+
+
+
+
+
+ Pengumuman
+
+
+ router.push('detail-feature')}>
+
+
+
+
+
+
+ Semua
+
+
+
+
+
+ >
+ );
+}
+
diff --git a/src/module/home/index.ts b/src/module/home/index.ts
index f731d3a..0a599af 100644
--- a/src/module/home/index.ts
+++ b/src/module/home/index.ts
@@ -1,3 +1,5 @@
+import ViewDetailFeature from "./view/view_detail_feature";
import ViewHome from "./view/view_home";
-export {ViewHome}
\ No newline at end of file
+export { ViewHome }
+export {ViewDetailFeature}
\ No newline at end of file
diff --git a/src/module/home/view/view_detail_feature.tsx b/src/module/home/view/view_detail_feature.tsx
new file mode 100644
index 0000000..78c7037
--- /dev/null
+++ b/src/module/home/view/view_detail_feature.tsx
@@ -0,0 +1,113 @@
+import { LayoutNavbarHome, WARNA } from '@/module/_global';
+import { ActionIcon, Box, Center, Grid, Group, SimpleGrid, Text } from '@mantine/core';
+import React from 'react';
+import { HiMiniUserGroup, HiMiniPresentationChartBar, HiMegaphone, HiSquares2X2, HiChevronLeft, HiUserGroup, HiUsers } from "react-icons/hi2";
+import { PiUsersFourFill } from "react-icons/pi";
+import { FaUsersRays, FaUserTie } from "react-icons/fa6";
+
+export default function ViewDetailFeature() {
+ return (
+ <>
+
+
+
+
+
+ Semua Fitur
+
+
+
+
+
+
+
+
+
+
+
+
+ Divisi
+
+
+
+
+
+
+
+
+
+ Proyek
+
+
+
+
+
+
+
+
+
+ Pengumuman
+
+
+
+
+
+
+
+
+
+ Anggota
+
+
+
+
+
+
+
+
+
+ Group
+
+
+
+
+
+
+
+
+
+ Jabatan
+
+
+
+
+
+ >
+ );
+}
diff --git a/src/module/home/view/view_home.tsx b/src/module/home/view/view_home.tsx
index aa85323..b0f7766 100644
--- a/src/module/home/view/view_home.tsx
+++ b/src/module/home/view/view_home.tsx
@@ -1,16 +1,38 @@
-import { LayoutNavbarHome } from '@/module/_global';
-import { Group, Text } from '@mantine/core';
+"use client"
+import { LayoutNavbarHome, WARNA } from '@/module/_global';
+import { ActionIcon, Box, Group, rem, Stack, Text } from '@mantine/core';
import React from 'react';
+import { HiMagnifyingGlass, HiOutlineBell, HiOutlineUser } from "react-icons/hi2";
+import Carosole from '../components/carosole';
+import Features from '../components/features';
+
export default function ViewHome() {
return (
<>
-
-
- Perbekal Darmasaba
- icon
-
-
+
+
+ Perbekal Darmasaba
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
>
);
}
diff --git a/yarn.lock b/yarn.lock
index 9fe85cc..b407bb7 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -160,10 +160,10 @@
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
-"@mantine/carousel@^7.11.0":
- version "7.11.0"
- resolved "https://registry.npmjs.org/@mantine/carousel/-/carousel-7.11.0.tgz"
- integrity sha512-NVyChCtBfi8HOZkN6i9FPC2ZGkjjaNTtZDsbu22rYb3iHteKDS76Hp5hy04b2eLGwglHERCMeZu4g5Nf2ZSa/Q==
+"@mantine/carousel@^7.11.1":
+ version "7.11.1"
+ resolved "https://registry.yarnpkg.com/@mantine/carousel/-/carousel-7.11.1.tgz#0d586c1bd9230b5c93a36479309499d2e5451f7a"
+ integrity sha512-w/hDZKkfamaiADhtWwo33ssrR8c6N9neVo5o5fep36k1R56+7+pFSm51g0/YgH8Y41GyLGzSVcGDvVGWOzg3+Q==
"@mantine/charts@^7.11.0":
version "7.11.0"
@@ -1300,23 +1300,22 @@ eastasianwidth@^0.2.0:
resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz"
integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
-embla-carousel-react@^8.1.6:
- version "8.1.6"
- resolved "https://registry.npmjs.org/embla-carousel-react/-/embla-carousel-react-8.1.6.tgz"
- integrity sha512-DHxwFzF63yVrU95Eo58E9Xr5b6Y9ul6TTsqb/rtwMi+jXudAmIqN1i9iBxQ73i8jKuUVxll/ziNYMmnWvrdQJQ==
+embla-carousel-autoplay@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/embla-carousel-autoplay/-/embla-carousel-autoplay-7.1.0.tgz#766a45eb5f21b9e3ff4bd1d91b4c3c578c04d8b6"
+ integrity sha512-nYfgSGn3ek44OzwO0t/Ptuxq4PNPD5l7Y9X7JjLYI/DN1uGjqxz9L73YYqR6YCRDnTYJ88s9fep48dzBnSG4vQ==
+
+embla-carousel-react@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/embla-carousel-react/-/embla-carousel-react-7.1.0.tgz#e716f4df7fd31f7ca3e59a3e011158167bc3c468"
+ integrity sha512-tbYRPRZSDNd2QLNqYDcArAakGIxtUbhS7tkP0dGXktXHGgcX+3ji3VrOUTOftBiujZrMV8kRxtrRUe/1soloIQ==
dependencies:
- embla-carousel "8.1.6"
- embla-carousel-reactive-utils "8.1.6"
+ embla-carousel "7.1.0"
-embla-carousel-reactive-utils@8.1.6:
- version "8.1.6"
- resolved "https://registry.npmjs.org/embla-carousel-reactive-utils/-/embla-carousel-reactive-utils-8.1.6.tgz"
- integrity sha512-Wg+J2YoqLqkaqsXi7fTJaLmXm6BpgDRJ0EfTdvQ4KE/ip5OsUuKGpJsEQDTt4waGXSDyZhIBlfoQtgGJeyYQ1Q==
-
-embla-carousel@8.1.6:
- version "8.1.6"
- resolved "https://registry.npmjs.org/embla-carousel/-/embla-carousel-8.1.6.tgz"
- integrity sha512-9n7FVsbPAs1KD+JmO84DnEDOZMXPBQbLujjMQqvsBRN2CDWwgZ9hRSNapztdPnyJfzOIxowGmj0BUQ8ACYAPkA==
+embla-carousel@7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/embla-carousel/-/embla-carousel-7.1.0.tgz#c770dd3ade9285a97f5e3b6bbf705bc35ec0f9b5"
+ integrity sha512-Bh8Pa8NWzgugLkf8sAGexQlBCNDFaej5BXiKgQdRJ1mUC9NWBrw9Z23YVPVGkguWoz5LMjZXXFVGCobl3UPt/Q==
emoji-regex@^8.0.0:
version "8.0.0"
@@ -2810,6 +2809,11 @@ react-dropzone-esm@15.0.1:
dependencies:
prop-types "^15.8.1"
+react-icons@^5.2.1:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-5.2.1.tgz#28c2040917b2a2eda639b0f797bff1888e018e4a"
+ integrity sha512-zdbW5GstTzXaVKvGSyTaBalt7HSfuK5ovrzlpyiWHAFXndXTdd/1hdDHI4xBM1Mn7YriT6aqESucFl9kEXzrdw==
+
react-is@^16.10.2, react-is@^16.13.1:
version "16.13.1"
resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"