diff --git a/package-lock.json b/package-lock.json index 87a5a5b..d45f4f5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,8 +19,8 @@ "lucide-react": "^0.511.0", "motion": "^12.18.1", "postcss": "^8.5.3", - "react": "^19.1.0", - "react-dom": "^19.1.0", + "react": "^19.2.3", + "react-dom": "^19.2.3", "react-fast-marquee": "^1.6.5", "react-helmet-async": "^2.0.5", "react-infinite-scroll-component": "^6.1.0", @@ -360,7 +360,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -377,7 +376,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -394,7 +392,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -411,7 +408,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -428,7 +424,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -445,7 +440,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -462,7 +456,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -479,7 +472,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -496,7 +488,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -513,7 +504,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -530,7 +520,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -547,7 +536,6 @@ "cpu": [ "loong64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -564,7 +552,6 @@ "cpu": [ "mips64el" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -581,7 +568,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -598,7 +584,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -615,7 +600,6 @@ "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -632,7 +616,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -649,7 +632,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -666,7 +648,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -683,7 +664,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -700,7 +680,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -717,7 +696,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -734,7 +712,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -751,7 +728,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -768,7 +744,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1141,7 +1116,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1155,7 +1129,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1169,7 +1142,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1183,7 +1155,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1197,7 +1168,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1211,7 +1181,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1225,7 +1194,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1239,7 +1207,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1253,7 +1220,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1267,7 +1233,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1281,7 +1246,6 @@ "cpu": [ "loong64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1295,7 +1259,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1309,7 +1272,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1323,7 +1285,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1337,7 +1298,6 @@ "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1351,7 +1311,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1365,7 +1324,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1379,7 +1337,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1393,7 +1350,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1407,7 +1363,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1739,7 +1694,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, "license": "MIT" }, "node_modules/@types/json-schema": { @@ -1753,7 +1707,7 @@ "version": "19.1.8", "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.8.tgz", "integrity": "sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "csstype": "^3.0.2" @@ -2124,7 +2078,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true, + "devOptional": true, "license": "MIT" }, "node_modules/debug": { @@ -2291,7 +2245,6 @@ "version": "0.25.5", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz", "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", - "dev": true, "hasInstallScript": true, "license": "MIT", "bin": { @@ -2554,7 +2507,6 @@ "version": "6.4.6", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", - "dev": true, "license": "MIT", "peerDependencies": { "picomatch": "^3 || ^4" @@ -2697,7 +2649,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, "hasInstallScript": true, "license": "MIT", "optional": true, @@ -3611,7 +3562,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -3682,24 +3632,24 @@ } }, "node_modules/react": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", - "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", + "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", - "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", "license": "MIT", "dependencies": { - "scheduler": "^0.26.0" + "scheduler": "^0.27.0" }, "peerDependencies": { - "react": "^19.1.0" + "react": "^19.2.3" } }, "node_modules/react-fast-compare": { @@ -3805,7 +3755,6 @@ "version": "4.44.0", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.0.tgz", "integrity": "sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA==", - "dev": true, "license": "MIT", "dependencies": { "@types/estree": "1.0.8" @@ -3842,9 +3791,9 @@ } }, "node_modules/scheduler": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", - "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", "license": "MIT" }, "node_modules/semver": { @@ -4010,7 +3959,6 @@ "version": "0.2.14", "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", - "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.4.4", @@ -4097,7 +4045,6 @@ "version": "6.3.5", "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", - "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.25.0", diff --git a/package.json b/package.json index bdc1285..f9c8444 100644 --- a/package.json +++ b/package.json @@ -21,8 +21,8 @@ "lucide-react": "^0.511.0", "motion": "^12.18.1", "postcss": "^8.5.3", - "react": "^19.1.0", - "react-dom": "^19.1.0", + "react": "^19.2.3", + "react-dom": "^19.2.3", "react-fast-marquee": "^1.6.5", "react-helmet-async": "^2.0.5", "react-infinite-scroll-component": "^6.1.0", diff --git a/public/nate.png b/public/nate.png new file mode 100644 index 0000000..1163c29 Binary files /dev/null and b/public/nate.png differ diff --git a/src/App.jsx b/src/App.jsx index 77cf127..df681bb 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -11,6 +11,7 @@ import { DepartmentDetails } from "./pages/DepartmentDetails"; import PageNotFound from "./pages/404"; import EmailForm from "./pages/EmailForm"; import { AnimatePresence } from "motion/react"; +import Awarding from "./pages/Awarding"; function App() { const location = useLocation(); return ( @@ -22,6 +23,7 @@ function App() { } /> } /> } /> + } /> } /> } /> } /> diff --git a/src/components/CardKepengurusan.jsx b/src/components/CardKepengurusan.jsx index e843e9e..5556f5d 100644 --- a/src/components/CardKepengurusan.jsx +++ b/src/components/CardKepengurusan.jsx @@ -3,10 +3,7 @@ import { Link, useLocation } from "react-router-dom"; export const CardKepengurusan = ({ img, department, nama, deptType, username }) => { const location = useLocation(); const linkRoute = `/${deptType}/${department.toLowerCase()}`; - - const isSlugRoute = /^\/be\/.+\/?$/.test(location.pathname) || /^\/dp\/.+\/?$/.test(location.pathname); - const isCurrentRoute = location.pathname === linkRoute; - const shouldShowButton = !isSlugRoute && !isCurrentRoute; + const shouldShowButton = location.pathname === "/dp" || location.pathname === "/be"; return (
@@ -24,13 +21,13 @@ export const CardKepengurusan = ({ img, department, nama, deptType, username })

{department}

-
+
{nama && ( -
+

{nama}

)} -
+
instagram diff --git a/src/components/Header.jsx b/src/components/Header.jsx index 9a9910c..e9de17d 100644 --- a/src/components/Header.jsx +++ b/src/components/Header.jsx @@ -12,6 +12,7 @@ export default function Header() { { to: "/berita", path: "berita", name: "Berita" }, { to: "/struktur", path: "struktur", name: "Struktur Organisasi" }, { to: "/contact", path: "contact", name: "Contacts" }, + { to: "/awarding", path: "awarding", name: "Awards" }, ]; const aboutLinks = [ diff --git a/src/pages/Awarding.jsx b/src/pages/Awarding.jsx new file mode 100644 index 0000000..118dbed --- /dev/null +++ b/src/pages/Awarding.jsx @@ -0,0 +1,95 @@ +// import { api } from "../services/apiService"; +import AnimatedLongText from "../components/AnimatedLongText"; +import AnimatedLongText2 from "../components/AnimatedLongText2"; +import { CardKepengurusan } from "../components/CardKepengurusan"; +import Transition from "@/components/Transition"; +import nate from "/nate.png"; + +export default function Awarding() { + const awardingData = [ + { + name: "Cassius Thunder", + award: "0 arrest", + img: nate, + }, + { + name: "Cassius Thunder", + award: "0 arrest", + img: nate, + }, + { + name: "Cassius Thunder", + award: "0 arrest", + img: nate, + }, + { + name: "Cassius Thunder", + award: "0 arrest", + img: nate, + }, + { + name: "Cassius Thunder", + award: "0 arrest", + img: nate, + }, + ]; + + const bestExecTri = [ + { + name: "Cassius Thunder", + award: "Triwulan 1", + img: nate, + }, + { + name: "Cassius Thunder", + award: "Triwulan 2", + img: nate, + }, + { + name: "Cassius Thunder", + award: "Triwulan 3", + img: nate, + }, + ]; + return ( + <> + {} +
+
+ +
+ +
+ + + +
+ +
+
+ +
+
+ +
+
+ {bestExecTri.map((item, index) => ( + + ))} +
+
+ +
+
+ {awardingData.map((item, index) => ( + + ))} +
+
+
+ + ); +} diff --git a/src/services/apiService.js b/src/services/apiService.js index 211de03..4949430 100644 --- a/src/services/apiService.js +++ b/src/services/apiService.js @@ -15,8 +15,9 @@ export { api }; // Fetch department details by type and acronym export const fetchDepartmentDetails = async (type, acronym) => { try { - const response = await axios.get(`https://api.himarpl.org/api/v1/departments?type=${type}&year=2025&acronym=${acronym}`); - // .get(`${import.meta.env.VITE_API_URL}/departments?type=${type}&year=2025&acronym=${acronym}`); + const response = await axios + // .get(`https://api.himarpl.org/api/v1/departments?type=${type}&year=2025&acronym=${acronym}`); + .get(`${import.meta.env.VITE_API_URL}/departments?type=${type}&year=2025&acronym=${acronym}`); return response.data; } catch (error) { console.error("Error fetching department details:", error);