ចំពោះ​ផ្នែក​គ្រប់គ្រង (dashboard) យើង​ចាំបាច់​ត្រូវ​ប្រើ​គំរូ​ទំព័រ​គ្រឹះ​មួយ​ដាច់​ដោយឡែក សំរាប់​គ្រប់​ទំព័រ​ទាំងអស់​នៅ​ក្នុង​ផ្នែក​នេះ។ ការបង្កើត​គំរូ​ទំព័រ​គ្រឹះ​សំរាប់​ផ្នែក​គ្រប់គ្រង ក៏​មិន​ខុស​ពី​ការបង្កើត​គំរូទំព័រ​គ្រឹះ​សំរាប់​ផ្នែក​ខាង​មុខ​ដែរ គឺ​ចាំបាច់​ត្រូវ​មាន​កូដ​យ៉ាង​ពេញលេញ​ដើម្បី​បង្កើត​ទំព័រ HTML មួយ​ដែល​អាច​ដំណើរការ​នៅ​ក្នុង browser ។

 

<!--src/layouts/admin/Base.astro-->
---
const { pageTitle="ទំព័រ​គ្រឹះ" } = Astro.props
import Footer from "../Footer.astro"
---

<html lang="en">
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width" />
        <meta name="generator" content={Astro.generator} />
        <title>{pageTitle}</title>
        <link rel="icon" href="/images/siteLogo.png" />
        <link href="/fonts/setup.css" rel="stylesheet" />
        <script is:inline src="/scripts/jquery.js"></script>
    </head>
    <body class="text-sm leading-normal">
        <p>ក្បាល​ទំព័រ</p>
        <slot/>
        <Footer/>
    </body>
</html>

 

<!--src/pages/admin/index.astro-->
---
import Base from "../../layouts/admin/Base.astro"
const { userAuth } = Astro.locals
if(!userAuth){
    return Astro.redirect('/login')
}
---

<Base pageTitle="ទំព័រ​គ្រប់គ្រង">
    <p>Welcome to Admin page!</p>
</Base>

 

Netlify: https://khmerweb-dynamic-blog.netlify.app/login

GitHub: https://github.com/Sokhavuth/dynamic-blog