// routes/index.js
import { Router } from "../deps.ts"
const router = Router()
import home from './front/home.js'
router.use('/', home)
import login from './front/login.js'
router.use('/login', login)
export default router
// routes/fron/login.js
import { Router } from "../../deps.ts"
const router = Router()
import login from '../../controllers/front/login.jsx'
router.get('/', async (req, res) => {
login.getItem(req, res)
})
export default router
// controllers/front/login.jsx
/** @jsx h */
import { h, renderSSR } from "../../deps.ts"
import config from '../../config.js'
import Login_ from '../../views/front/login.jsx'
class Login{
async getItem(req, res){
this.config = await config()
this.config.pageTitle = 'ទំព័ចូលក្នុង'
this.config.route = '/login'
const str = renderSSR(<Login_ config={this.config} />)
const html = `<!DOCTYPE html>${str}`
res.send(html)
}
}
export default new Login()
// views/front/login.jsx
/** @jsx h */
import { h } from "../../deps.ts"
function Login(props){
return(
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>{props.config.siteTitle} | {props.config.pageTitle}</title>
<link href="/images/siteLogo.png" rel="icon" />
<link href="/styles/base.css" rel="stylesheet" />
<link href="/fonts/setup.css" rel="stylesheet" />
<script src="/scripts/jquery.js"></script>
</head>
<body>
{props.config.pageTitle}
</body>
</html>
)
}
export default Login
GitHub: https://github.com/Sokhavuth/khmerweb-deno
Deno Deploy: https://khmerweb-blog.deno.dev/login