diff --git a/components/template.jsx b/components/template.jsx
index d1c5d5e5f8bcbfcd3b7fecfa7b2bc9f878095125..919bc279d71fee5ec84cbb01a5e75321f0ae226c 100644
--- a/components/template.jsx
+++ b/components/template.jsx
@@ -30,14 +30,32 @@ const Template = ({ children }) => {
   return <>
     <header className="flex flex-row align-middle justify-between bg-[#AEDEFC] px-10">
       <div className="flex flex-row align-middle justify-center space-x-3">
-        <Image src="/logo.png" alt="Main Logo" width={100} height={100} />
+        <Image className="hover:cursor-pointer" src="/logo.png" alt="Main Logo" width={100} height={100} onClick={()=>
+        router.push("/")}/>
         <span className="h-min my-auto font-bold text-xl">SISTEM MANAJEMEN KURSUS MENGEMUDI RPL</span>
       </div>
       <div className="flex flex-row align-middle justify-center space-x-6">
         {userObject === null && <span className="h-min my-auto font-semibold">Login as Admin Kursus/Owner?</span>}
         {userObject !== null && <span className="h-min my-auto font-semibold">Logged in as {userObject.tipe_user}</span>}
         {userObject === null && <button className="bg-[#F875AA] h-1/2 w-28 rounded-2xl font-bold text-white text-xl  my-auto p-2 " onClick={handleLogin}>Log In</button>}
-        {userObject !== null && <button className="bg-[#F875AA] h-1/2 w-28 rounded-2xl font-bold text-white text-xl  my-auto p-2 " onClick={handleLogout}>Log Out</button>}
+        {userObject !== null && (
+          <>
+          <button className="bg-[#F875AA] h-1/2 w-30 rounded-2xl font-bold text-white text-xl  my-auto p-2 " onClick={(e)=>{
+            e.preventDefault()
+            if (userObject.tipe_user === "OWNER"){
+              router.push("/dashboard/owner")
+              return
+            }
+            if (userObject.tipe_user === "ADMIN"){
+              router.push("/dashboard/admin")
+              return
+            } 
+            return
+          }}>Dashboard</button>
+          <button className="bg-[#F875AA] h-1/2 w-30 rounded-2xl font-bold text-white text-xl  my-auto p-2 " onClick={handleLogout}>Log Out</button>
+          </>
+
+        )}
       </div>
     </header >
     {children}
diff --git a/components/templatenofooter.jsx b/components/templatenofooter.jsx
index 7682e9376d7a36fe50d81138698b3ecdc67affb6..0382059577f60149cd2d6b7b905ef152e1808e84 100644
--- a/components/templatenofooter.jsx
+++ b/components/templatenofooter.jsx
@@ -30,15 +30,33 @@ const Template = ({ children }) => {
   return <>
     <header className="flex flex-row align-middle justify-between bg-[#AEDEFC] px-10">
       <div className="flex flex-row align-middle justify-center space-x-3">
-        <Image src="/logo.png" alt="Main Logo" width={100} height={100} />
+      <Image className="hover:cursor-pointer" src="/logo.png" alt="Main Logo" width={100} height={100} onClick={()=>
+        router.push("/")}/>
         <span className="h-min my-auto font-bold text-xl">SISTEM MANAJEMEN KURSUS MENGEMUDI RPL</span>
       </div>
       <div className="flex flex-row align-middle justify-center space-x-6">
         {userObject === null && <span className="h-min my-auto font-semibold">Login as Admin Kursus/Owner?</span>}
         {userObject !== null && <span className="h-min my-auto font-semibold">Logged in as {userObject.tipe_user}</span>}
         {userObject === null && <button className="bg-[#F875AA] h-1/2 w-28 rounded-2xl font-bold text-white text-xl  my-auto p-2 " onClick={handleLogin}>Log In</button>}
-        {userObject !== null && <button className="bg-[#F875AA] h-1/2 w-28 rounded-2xl font-bold text-white text-xl  my-auto p-2 " onClick={handleLogout}>Log Out</button>}
-      </div>
+        {userObject !== null && (
+          <>
+          <button className="bg-[#F875AA] h-1/2 w-30 rounded-2xl font-bold text-white text-xl  my-auto p-2 " onClick={(e)=>{
+            e.preventDefault()
+            if (userObject.tipe_user === "OWNER"){
+              router.push("/dashboard/owner")
+              return
+            }
+            if (userObject.tipe_user === "ADMIN"){
+              router.push("/dashboard/admin")
+              return
+            } 
+            return
+          }}>Dashboard</button>
+          <button className="bg-[#F875AA] h-1/2 w-30 rounded-2xl font-bold text-white text-xl  my-auto p-2 " onClick={handleLogout}>Log Out</button>
+          </>
+
+        )}      
+        </div>
     </header >
     {children}
   </>
diff --git a/pages/_app.jsx b/pages/_app.jsx
index 803390f46782f03229f380f348f61f9ae9265085..92e5af423fb54f21cd753ece188073d36b33a757 100644
--- a/pages/_app.jsx
+++ b/pages/_app.jsx
@@ -1,9 +1,19 @@
 import '@/styles/globals.css'
 import 'react-toastify/dist/ReactToastify.css';
-
+import Head  from 'next/head';
 import { ToastContainer } from 'react-toastify';
 export default function App({ Component, pageProps }) {
   return <>
+      <Head>
+        <title>Kursus Mengemudi RPL</title>
+        <meta name="title" content="Kursus Mengemudi RPL"/>
+        <meta name="description" content="Kursus Mengemudi RPL adalah mitra terpercaya Anda dalam mengejar keterampilan mengemudi praktis."/>
+        <meta name="keywords" content="Kursus, Mengemudi, RPL, Keterampilan, Mengemudi, "/>
+        <meta name="robots" content="index, follow"/>
+        <meta httpEquiv="Content-Type" content="text/html; charset=utf-8"/>
+        <meta name="author" content="Muhammad Helmi Hibatullah"/>
+
+      </Head>
     <Component {...pageProps} />
     <ToastContainer autoClose={2000} draggable={false} containerId={1} key={1} limit={1} pauseOnFocusLoss={false} position='top-right' closeButton />
   </>
diff --git a/pages/_document.jsx b/pages/_document.jsx
index 54e8bf3e2a29015a45e11cdc279e06b459890d8b..65c60d86bb6833c3be451c144eecfb504d5699b9 100644
--- a/pages/_document.jsx
+++ b/pages/_document.jsx
@@ -3,7 +3,8 @@ import { Html, Head, Main, NextScript } from 'next/document'
 export default function Document() {
   return (
     <Html lang="en">
-      <Head />
+      <Head/>
+
       <body>
         <Main />
         <NextScript />
diff --git a/pages/adminkursus/edit/[id].jsx b/pages/adminkursus/edit/[id].jsx
index b28de815c77290e26df85307f0741bca38ee4816..95fdf0cd98f2101b84f41aa0b353d9c9234ecddf 100644
--- a/pages/adminkursus/edit/[id].jsx
+++ b/pages/adminkursus/edit/[id].jsx
@@ -42,6 +42,7 @@ const Edit = () => {
   }
 
   useEffect(() => {
+    if (!router.isReady) return;
     const token = window.localStorage.getItem("token")
     if (token === undefined || token === null) {
       window.location.replace("/auth/login")
@@ -63,7 +64,7 @@ const Edit = () => {
       setpassword_hash(responsejson.data.password_hash)
     })
     //eslint-disable-next-line
-  }, [])
+  }, [router.isReady])
   return <>
     <Template>
       <main className="min-h-screen px-14 py-5 bg-[#FFF6F6]">
diff --git a/pages/calonpelanggan/edit/[id].jsx b/pages/calonpelanggan/edit/[id].jsx
index 129f6df9ded401ecb1d376829fdf88b83d9c7928..f70f5efb7ca3a1126b0f34b40f5033e3a820448c 100644
--- a/pages/calonpelanggan/edit/[id].jsx
+++ b/pages/calonpelanggan/edit/[id].jsx
@@ -12,6 +12,8 @@ const Edit = () => {
   const [alamat, setAlamat] = useState("")
   const [statusPelanggan, setStatusPelanggan] = useState("")
   const [adminKursus, setAdminKursus] = useState("")
+  const [tanggalPendaftaran, setTanggalPendaftaran] = useState("")
+
 
   const handleUpdate = async () => {
     const token = window.localStorage.getItem("token")
@@ -26,7 +28,8 @@ const Edit = () => {
       noWA,
       alamat,
       statusPelanggan,
-      adminKursus
+      adminKursus,
+      tanggalPendaftaran,
     })
     const updateQuery = await fetch("https://rpl-backend-production.up.railway.app/v1/calonpelanggan/update/" + router.query.id, {
       method: "PATCH",
@@ -75,6 +78,7 @@ const Edit = () => {
       setAlamat(responsejson.data.alamat)
       setStatusPelanggan(responsejson.data.statusPelanggan)
       setAdminKursus(responsejson.data.adminKursus)
+      setTanggalPendaftaran(responsejson.data.tanggalPendaftaran)
     })
     //eslint-disable-next-line
   }, [router.isReady])
@@ -142,6 +146,13 @@ const Edit = () => {
               setAdminKursus(e.target.value)
             }} type="number" required className="drop-shadow-xl w-2/3 p-2 rounded-xl" />
           </div>
+          <div className="flex flex-row align-middle justify-between">
+            <span className="h-min my-auto font-bold text-lg">Tanggal Pendaftaran</span>
+            <input disabled value={new Date(tanggalPendaftaran).toLocaleDateString("sv-SE",{
+              dateStyle:"short"
+            }).split("/").join("-")} 
+            type="date" required className="drop-shadow-xl w-2/3 p-2 rounded-xl" />
+          </div>
           <input type="submit" className="bg-[#F875AA] px-8 py-3 text-xl font-bold text-white rounded-xl mx-auto hover:cursor-pointer" value={"Simpan"} />
         </form>
 
diff --git a/pages/calonpelanggan/index.jsx b/pages/calonpelanggan/index.jsx
index baa80bd56b981eedc7ecca5fffc7a98948ff3647..b32bf2644392ed8ca80fe1fef43f6155bbfe32bd 100644
--- a/pages/calonpelanggan/index.jsx
+++ b/pages/calonpelanggan/index.jsx
@@ -106,6 +106,7 @@ const Index = () => {
               <th className="bg-[#F875AA] p-2 border border-[#F875AA]">Alamat</th>
               <th className="bg-[#F875AA] p-2 border border-[#F875AA]">Status Pelanggan</th>
               <th className="bg-[#F875AA] p-2 border border-[#F875AA]">Admin Kursus</th>
+              <th className="bg-[#F875AA] p-2 border border-[#F875AA]">Tanggal Pendaftaran</th>
               <th className=""></th>
             </tr>
           </thead>
@@ -120,6 +121,9 @@ const Index = () => {
                 <td className="p-6 border border-[#F875AA] bg-white">{row.alamat}</td>
                 <td className="p-6 border border-[#F875AA] bg-white">{row.statusPelanggan}</td>
                 <td className="p-6 border border-[#F875AA] bg-white">{row.adminKursus}</td>
+                <td className="p-6 border border-[#F875AA] bg-white">{new Date(row.tanggalPendaftaran).toLocaleDateString("id-ID",{
+                  dateStyle:"long"
+                })}</td>
                 <td className="px-2 flex flex-col align-middle justify-evenly space-y-2 ">
                   <button className="bg-[#AEDEFC] p-1 rounded-lg" onClick={(e) => {
                     e.preventDefault();
diff --git a/pages/infoperusahaan/index.jsx b/pages/infoperusahaan/index.jsx
index 2c53b67e4801535f1d95c88930deada220261feb..6df5dbc8276cdb672634df6aa8b8091f52af88d6 100644
--- a/pages/infoperusahaan/index.jsx
+++ b/pages/infoperusahaan/index.jsx
@@ -64,6 +64,11 @@ export default function InformasiPerusahaan({ propertyWebsite }) {
   }
 
   useEffect(() => {
+    const token = window.localStorage.getItem("token")
+    if (token === undefined || token === null) {
+      window.location.replace("/")
+      return;
+    }
     fetch("https://rpl-backend-production.up.railway.app/v1/property").then(async (response) => {
       const responsejson = await response.json()
       setDeskripsi(responsejson.data.description)
diff --git a/pages/kendaraan/edit/[id].jsx b/pages/kendaraan/edit/[id].jsx
index 9a2f1c5a292c5f045917ee13819ad2c48cb40342..543c418f6237093b7b8ff4ef0a0f7d265f090edf 100644
--- a/pages/kendaraan/edit/[id].jsx
+++ b/pages/kendaraan/edit/[id].jsx
@@ -113,7 +113,9 @@ const Edit = () => {
           </div>
           <div className="flex flex-row align-middle justify-between">
             <span className="h-min my-auto font-bold text-lg">Tanggal Terakhir Service Kendaraan</span>
-            <input value={tanggalTerakhirService} onChange={(e) => {
+            <input value={new Date(tanggalTerakhirService).toLocaleDateString("sv-SE",{
+              dateStyle:"short"
+            }).split("/").join("-")} onChange={(e) => {
               setTanggalTerakhirService(e.target.value)
             }} type="date" className="drop-shadow-xl w-2/4 p-2 rounded-xl" />
           </div>
diff --git a/pages/kendaraan/index.jsx b/pages/kendaraan/index.jsx
index 3b6ba1c453a01befbe577f02cd6a3ca6c4138018..6833de9b479d8ccaa76ff6b093695e5404b929b5 100644
--- a/pages/kendaraan/index.jsx
+++ b/pages/kendaraan/index.jsx
@@ -115,7 +115,9 @@ const Index = () => {
                 <td className="p-6 border border-[#F875AA] bg-white">{row.namaKendaraan}</td>
                 <td className="p-6 border border-[#F875AA] bg-white">{row.jenisTransmisi}</td>
                 <td className="p-6 border border-[#F875AA] bg-white">{row.jumlahKilometer}</td>
-                <td className="p-6 border border-[#F875AA] bg-white">{row.tanggalTerakhirService}</td>
+                <td className="p-6 border border-[#F875AA] bg-white">{new Date(row.tanggalTerakhirService).toLocaleDateString("id-ID",{
+                  dateStyle:"long"
+                })}</td>
                 <td className="p-6 border border-[#F875AA] bg-white">{row.statusKetersediaan}</td>
                 <td className="p-6 border border-[#F875AA] bg-white">{row.statusKendaraan}</td>
                 <td className="px-2 flex flex-col align-middle justify-evenly space-y-2 ">
diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png
new file mode 100644
index 0000000000000000000000000000000000000000..18792b442ee51b3bb998463f506f4714dae8e785
Binary files /dev/null and b/public/android-chrome-192x192.png differ
diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png
new file mode 100644
index 0000000000000000000000000000000000000000..b26180650ef4089831004fc94838e66f0e1980e6
Binary files /dev/null and b/public/android-chrome-512x512.png differ
diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..5e0b8df2466b0494fdb1d2dcdcf09430999bc0a8
Binary files /dev/null and b/public/apple-touch-icon.png differ
diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..1531aec12ce828e9810a88bedadd54889c398aff
Binary files /dev/null and b/public/favicon-16x16.png differ
diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png
new file mode 100644
index 0000000000000000000000000000000000000000..3c8964895c68afaf409ab2fba5922a803e91f778
Binary files /dev/null and b/public/favicon-32x32.png differ
diff --git a/public/favicon.ico b/public/favicon.ico
index 718d6fea4835ec2d246af9800eddb7ffb276240c..fc705fecc2303161251f40935f98bddbad94b4b2 100644
Binary files a/public/favicon.ico and b/public/favicon.ico differ
diff --git a/public/site.webmanifest b/public/site.webmanifest
new file mode 100644
index 0000000000000000000000000000000000000000..45dc8a20658bd09ecb8ca1c88f94fe80cc4ca286
--- /dev/null
+++ b/public/site.webmanifest
@@ -0,0 +1 @@
+{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
\ No newline at end of file