feat: update landing page assets and enhance developer section with new team members
This commit is contained in:
+1
-4
@@ -1,5 +1,5 @@
|
|||||||
import { BrowserRouter as Router, Routes, Route } from "react-router-dom";
|
import { BrowserRouter as Router, Routes, Route } from "react-router-dom";
|
||||||
import { lazy, Suspense } from "react";
|
import { lazy } from "react";
|
||||||
import { Toaster } from "react-hot-toast";
|
import { Toaster } from "react-hot-toast";
|
||||||
import Landing from "./Pages/Landing";
|
import Landing from "./Pages/Landing";
|
||||||
import AboutUs from "./Pages/AboutUs";
|
import AboutUs from "./Pages/AboutUs";
|
||||||
@@ -48,13 +48,10 @@ import SertificateList from "./Pages/Internify/intern/InternCertList";
|
|||||||
import MentorProjectsDetailPage from "./Pages/Internify/mentor/MentorProjectDetailPage";
|
import MentorProjectsDetailPage from "./Pages/Internify/mentor/MentorProjectDetailPage";
|
||||||
import ViewInternSubmission from "./Pages/Internify/mentor/ViewInternSubmission";
|
import ViewInternSubmission from "./Pages/Internify/mentor/ViewInternSubmission";
|
||||||
import ProtectedRoutes from "./Pages/utils/ProtectedRoute";
|
import ProtectedRoutes from "./Pages/utils/ProtectedRoute";
|
||||||
import CertificateDetail from "./Pages/Internify/mentor/CertificateForm";
|
|
||||||
import CertificateResult from "./Pages/Internify/mentor/CertificateResult";
|
|
||||||
import AdminMentorPage from "./Pages/MentorPage";
|
import AdminMentorPage from "./Pages/MentorPage";
|
||||||
import CreateMentorForm from "./Pages/CreateMentorForm";
|
import CreateMentorForm from "./Pages/CreateMentorForm";
|
||||||
import EditMentorForm from "./Pages/EditMentorForm";
|
import EditMentorForm from "./Pages/EditMentorForm";
|
||||||
import NotFoundPage from "./Pages/NotFoundPage";
|
import NotFoundPage from "./Pages/NotFoundPage";
|
||||||
import InternCertificateDetail from "./Pages/Internify/intern/InternCertDetail";
|
|
||||||
import VerificationCert from "./Pages/Internify/VerificationCert";
|
import VerificationCert from "./Pages/Internify/VerificationCert";
|
||||||
|
|
||||||
const InternCertificatePage = lazy(() => import("./Pages/Internify/intern/InternCertDetail"));
|
const InternCertificatePage = lazy(() => import("./Pages/Internify/intern/InternCertDetail"));
|
||||||
|
|||||||
+40
-48
@@ -10,11 +10,10 @@ const SidebarAdmin = () => {
|
|||||||
<h2 className="font-semibold text-[#2C5282] text-[20px]">Menu</h2>
|
<h2 className="font-semibold text-[#2C5282] text-[20px]">Menu</h2>
|
||||||
<div className="list-of-sidebar flex flex-col p-7 gap-4">
|
<div className="list-of-sidebar flex flex-col p-7 gap-4">
|
||||||
<div
|
<div
|
||||||
className={`text-container flex flex-row gap-3 p-3 items-center cursor-pointer rounded-2xl ${
|
className={`text-container flex flex-row gap-3 p-3 items-center cursor-pointer rounded-2xl ${location.pathname === "/dashboard"
|
||||||
location.pathname === "/dashboard"
|
|
||||||
? "bg-[#D3DFEA] font-bold"
|
? "bg-[#D3DFEA] font-bold"
|
||||||
: "hover:bg-[#D3DFEA] "
|
: "hover:bg-[#D3DFEA] "
|
||||||
}`}
|
}`}
|
||||||
onClick={() => navigate("/dashboard")}
|
onClick={() => navigate("/dashboard")}
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
@@ -40,11 +39,10 @@ const SidebarAdmin = () => {
|
|||||||
<h2 className="text-[#2C5282]">Dashboard</h2>
|
<h2 className="text-[#2C5282]">Dashboard</h2>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className={`text-container flex flex-row gap-3 p-3 items-center cursor-pointer rounded-2xl ${
|
className={`text-container flex flex-row gap-3 p-3 items-center cursor-pointer rounded-2xl ${location.pathname === "/product-list"
|
||||||
location.pathname === "/product-list"
|
|
||||||
? "bg-[#D3DFEA] font-bold"
|
? "bg-[#D3DFEA] font-bold"
|
||||||
: "hover:bg-[#D3DFEA] "
|
: "hover:bg-[#D3DFEA] "
|
||||||
}`}
|
}`}
|
||||||
onClick={() => navigate("/product-list")}
|
onClick={() => navigate("/product-list")}
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
@@ -64,11 +62,10 @@ const SidebarAdmin = () => {
|
|||||||
<h2 className="text-[#2C5282]">Project</h2>
|
<h2 className="text-[#2C5282]">Project</h2>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className={`text-container flex flex-row gap-3 p-3 items-center cursor-pointer rounded-2xl ${
|
className={`text-container flex flex-row gap-3 p-3 items-center cursor-pointer rounded-2xl ${location.pathname === "/lowongan-list"
|
||||||
location.pathname === "/lowongan-list"
|
|
||||||
? "bg-[#D3DFEA] font-bold"
|
? "bg-[#D3DFEA] font-bold"
|
||||||
: "hover:bg-[#D3DFEA]"
|
: "hover:bg-[#D3DFEA]"
|
||||||
}`}
|
}`}
|
||||||
onClick={() => navigate("/lowongan-list")}
|
onClick={() => navigate("/lowongan-list")}
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
@@ -89,11 +86,10 @@ const SidebarAdmin = () => {
|
|||||||
<h2 className="text-[#2C5282]">Lowongan</h2>
|
<h2 className="text-[#2C5282]">Lowongan</h2>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className={`text-container flex flex-row gap-3 p-3 items-center cursor-pointer rounded-2xl ${
|
className={`text-container flex flex-row gap-3 p-3 items-center cursor-pointer rounded-2xl ${location.pathname === "/partnership-admin"
|
||||||
location.pathname === "/partnership-admin"
|
|
||||||
? "bg-[#D3DFEA] font-bold"
|
? "bg-[#D3DFEA] font-bold"
|
||||||
: "hover:bg-[#D3DFEA]"
|
: "hover:bg-[#D3DFEA]"
|
||||||
}`}
|
}`}
|
||||||
onClick={() => navigate("/partnership-admin")}
|
onClick={() => navigate("/partnership-admin")}
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
@@ -114,11 +110,10 @@ const SidebarAdmin = () => {
|
|||||||
<h2 className="text-[#2C5282]">Partnership</h2>
|
<h2 className="text-[#2C5282]">Partnership</h2>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className={`text-container flex flex-row gap-3 p-3 items-center cursor-pointer rounded-2xl ${
|
className={`text-container flex flex-row gap-3 p-3 items-center cursor-pointer rounded-2xl ${location.pathname === "/internships-list"
|
||||||
location.pathname === "/internships-list"
|
|
||||||
? "bg-[#D3DFEA] font-bold"
|
? "bg-[#D3DFEA] font-bold"
|
||||||
: "hover:bg-[#D3DFEA]"
|
: "hover:bg-[#D3DFEA]"
|
||||||
}`}
|
}`}
|
||||||
onClick={() => navigate("/internships-list")}
|
onClick={() => navigate("/internships-list")}
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
@@ -139,11 +134,10 @@ const SidebarAdmin = () => {
|
|||||||
<h2 className="text-[#2C5282]">Pelamar</h2>
|
<h2 className="text-[#2C5282]">Pelamar</h2>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className={`text-container flex flex-row gap-3 p-3 items-center cursor-pointer rounded-2xl ${
|
className={`text-container flex flex-row gap-3 p-3 items-center cursor-pointer rounded-2xl ${location.pathname === "/feedbacks-list"
|
||||||
location.pathname === "/feedbacks-list"
|
|
||||||
? "bg-[#D3DFEA] font-bold"
|
? "bg-[#D3DFEA] font-bold"
|
||||||
: "hover:bg-[#D3DFEA]"
|
: "hover:bg-[#D3DFEA]"
|
||||||
}`}
|
}`}
|
||||||
onClick={() => navigate("/feedback-list")}
|
onClick={() => navigate("/feedback-list")}
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
@@ -167,11 +161,10 @@ const SidebarAdmin = () => {
|
|||||||
<h2 className="text-[#2C5282]">Feedback</h2>
|
<h2 className="text-[#2C5282]">Feedback</h2>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className={`text-container flex flex-row gap-3 p-3 items-center cursor-pointer rounded-2xl ${
|
className={`text-container flex flex-row gap-3 p-3 items-center cursor-pointer rounded-2xl ${location.pathname === "/mentor-admin"
|
||||||
location.pathname === "/mentor-admin"
|
|
||||||
? "bg-[#D3DFEA] font-bold"
|
? "bg-[#D3DFEA] font-bold"
|
||||||
: "hover:bg-[#D3DFEA]"
|
: "hover:bg-[#D3DFEA]"
|
||||||
}`}
|
}`}
|
||||||
onClick={() => navigate("/mentor-admin")}
|
onClick={() => navigate("/mentor-admin")}
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
@@ -192,11 +185,10 @@ const SidebarAdmin = () => {
|
|||||||
<h2 className="text-[#2C5282]">Mentor</h2>
|
<h2 className="text-[#2C5282]">Mentor</h2>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
className={`text-container flex flex-row gap-3 p-3 items-center cursor-pointer rounded-2xl ${
|
className={`text-container flex flex-row gap-3 p-3 items-center cursor-pointer rounded-2xl ${location.pathname === "/faq-list"
|
||||||
location.pathname === "/faq-list"
|
|
||||||
? "bg-[#D3DFEA] font-bold"
|
? "bg-[#D3DFEA] font-bold"
|
||||||
: "hover:bg-[#D3DFEA]"
|
: "hover:bg-[#D3DFEA]"
|
||||||
}`}
|
}`}
|
||||||
onClick={() => navigate("/faq-list")}
|
onClick={() => navigate("/faq-list")}
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
@@ -225,33 +217,33 @@ const SidebarAdmin = () => {
|
|||||||
<h2 className="text-[#2C5282]">FAQ</h2>
|
<h2 className="text-[#2C5282]">FAQ</h2>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div
|
||||||
|
className="logout flex flex-row items-center cursor-pointer gap-4 p-3 rounded-2xl hover:bg-[#F8D2D2] hover:font-bold mx-7"
|
||||||
<div
|
onClick={() => {
|
||||||
className="logout flex flex-row items-center cursor-pointer gap-4 p-3 rounded-2xl hover:bg-[#F8D2D2] hover:font-bold mx-7"
|
document.cookie =
|
||||||
onClick={() => {
|
"token=; path=/; expires=Thu, 01 Jan 1970 00:00:00 UTC;";
|
||||||
document.cookie =
|
navigate("/");
|
||||||
"token=; path=/; expires=Thu, 01 Jan 1970 00:00:00 UTC;";
|
}}
|
||||||
navigate("/");
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<svg
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
fill="none"
|
|
||||||
viewBox="0 0 24 24"
|
|
||||||
strokeWidth={1.5}
|
|
||||||
stroke="currentColor"
|
|
||||||
className="size-8 text-[#C3423F]"
|
|
||||||
>
|
>
|
||||||
<path
|
<svg
|
||||||
strokeLinecap="round"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
strokeLinejoin="round"
|
fill="none"
|
||||||
d="M8.25 9V5.25A2.25 2.25 0 0 1 10.5 3h6a2.25 2.25 0 0 1 2.25 2.25v13.5A2.25 2.25 0 0 1 16.5 21h-6a2.25 2.25 0 0 1-2.25-2.25V15m-3 0-3-3m0 0 3-3m-3 3H15"
|
viewBox="0 0 24 24"
|
||||||
/>
|
strokeWidth={1.5}
|
||||||
</svg>
|
stroke="currentColor"
|
||||||
|
className="size-8 text-[#C3423F]"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
strokeLinecap="round"
|
||||||
|
strokeLinejoin="round"
|
||||||
|
d="M8.25 9V5.25A2.25 2.25 0 0 1 10.5 3h6a2.25 2.25 0 0 1 2.25 2.25v13.5A2.25 2.25 0 0 1 16.5 21h-6a2.25 2.25 0 0 1-2.25-2.25V15m-3 0-3-3m0 0 3-3m-3 3H15"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
|
||||||
<h2 className="text-[#C3423F] text-[16px] font-semibold">Keluar</h2>
|
<h2 className="text-[#C3423F] text-[16px] font-semibold">Keluar</h2>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import team from "../assets/teamwokr.jpg";
|
|||||||
import bghero1 from "../assets/hero1.png";
|
import bghero1 from "../assets/hero1.png";
|
||||||
import Footer from "../Layout/Footer";
|
import Footer from "../Layout/Footer";
|
||||||
import Faq from "../Layout/Faq";
|
import Faq from "../Layout/Faq";
|
||||||
|
import landingphoto from "../assets/landingphoto.png"
|
||||||
import { useEffect, useMemo, useState } from "react";
|
import { useEffect, useMemo, useState } from "react";
|
||||||
import { useNavigate } from "react-router-dom";
|
import { useNavigate } from "react-router-dom";
|
||||||
|
|
||||||
@@ -214,14 +215,14 @@ const Landing = () => {
|
|||||||
<div className="hero-3-section mx-5 lg:mx-[80px] xl:mx-[140px] mt-[60px] rounded-2xl bg-[#F8F9FA]">
|
<div className="hero-3-section mx-5 lg:mx-[80px] xl:mx-[140px] mt-[60px] rounded-2xl bg-[#F8F9FA]">
|
||||||
<div className="flex flex-col lg:flex-row gap-10 lg:gap-16 items-stretch py-10 px-4 sm:px-8">
|
<div className="flex flex-col lg:flex-row gap-10 lg:gap-16 items-stretch py-10 px-4 sm:px-8">
|
||||||
{/* LEFT: image */}
|
{/* LEFT: image */}
|
||||||
<div className="relative flex-1 min-h-[320px] lg:min-h-[380px] flex items-center justify-center">
|
<div className="relative flex-1 min-h-[300px] lg:min-h-[380px] flex items-center justify-center">
|
||||||
<div
|
<div
|
||||||
className={`w-[230px] h-[320px] sm:w-[260px] sm:h-[340px] lg:w-[280px] lg:h-[360px]
|
className={`w-[230px] h-[320px] sm:w-[260px] sm:h-[340px] lg:w-[360px] lg:h-[480px]
|
||||||
rounded-xl shadow-xl bg-white/70 backdrop-blur p-3 flex items-center justify-center
|
rounded-xl shadow-xl bg-white/70 backdrop-blur p-3 flex items-center justify-center
|
||||||
`}
|
`}
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
src={staticImgUrl}
|
src={landingphoto}
|
||||||
alt="Humic Internship"
|
alt="Humic Internship"
|
||||||
className="w-full h-full object-contain rounded-lg"
|
className="w-full h-full object-contain rounded-lg"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -6,6 +6,10 @@ import shafa from "../assets/shafa.jpeg";
|
|||||||
import delkano from "../assets/delkano.jpeg";
|
import delkano from "../assets/delkano.jpeg";
|
||||||
import reinhard from "../assets/reinhard.jpeg";
|
import reinhard from "../assets/reinhard.jpeg";
|
||||||
import kakraya from "../assets/kakraya.png";
|
import kakraya from "../assets/kakraya.png";
|
||||||
|
import kemas from "../assets/Kemas M Aryadary Rasyad.jpg"
|
||||||
|
import ayu from "../assets/Anom Ayu Radhaswasti.jpeg"
|
||||||
|
import zhafran from "../assets/Muhammad Zhafran Ilham.jpg"
|
||||||
|
import rafi from "../assets/Muhammad Rafi Athallah.jpeg"
|
||||||
import Footer from "../Layout/Footer";
|
import Footer from "../Layout/Footer";
|
||||||
import { useEffect } from "react";
|
import { useEffect } from "react";
|
||||||
|
|
||||||
@@ -69,6 +73,30 @@ const OurDeveloper = () => {
|
|||||||
img: reihan,
|
img: reihan,
|
||||||
link: "https://www.linkedin.com/in/reihanramadhana/",
|
link: "https://www.linkedin.com/in/reihanramadhana/",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "Ayu",
|
||||||
|
role: "Web Designer",
|
||||||
|
img: ayu,
|
||||||
|
link: "https://www.linkedin.com/in/anom-ayu-radhaswasti/",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Kemas",
|
||||||
|
role: "Frontend Developer",
|
||||||
|
img: kemas,
|
||||||
|
link: " https://www.linkedin.com/in/kemas-m-aryadary-rasyad/",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Zhafran",
|
||||||
|
role: "Backend Developer",
|
||||||
|
img: zhafran,
|
||||||
|
link: "hhttps://www.linkedin.com/in/muhammad-zhafran-ilham/",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Rafi",
|
||||||
|
role: "Backend Developer",
|
||||||
|
img: rafi,
|
||||||
|
link: "https://www.linkedin.com/in/rafi-athallah-14b16a229/",
|
||||||
|
},
|
||||||
].map((dev, index) => (
|
].map((dev, index) => (
|
||||||
<div
|
<div
|
||||||
key={index}
|
key={index}
|
||||||
|
|||||||
@@ -99,9 +99,9 @@ export default function EligibleInternTable({
|
|||||||
id: intern.id_user,
|
id: intern.id_user,
|
||||||
id_project: project.id,
|
id_project: project.id,
|
||||||
id_user: intern.id_user,
|
id_user: intern.id_user,
|
||||||
certificate_no: "PREVIEW",
|
certificate_no: "CERT/YYDDMM/XXX",
|
||||||
issued_at: new Date().toISOString(),
|
issued_at: new Date().toISOString().slice(0, 10),
|
||||||
uuid: "preview-mode",
|
uuid: "HANYA SEBATAS PREVIEW",
|
||||||
user: {
|
user: {
|
||||||
id: intern.id_user,
|
id: intern.id_user,
|
||||||
full_name: intern.full_name,
|
full_name: intern.full_name,
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 2.5 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.9 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 91 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 188 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 441 KiB |
Reference in New Issue
Block a user