Compare commits
1 Commits
hanan/logi
...
andy/coba-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dc2c1491fd |
@@ -277,6 +277,9 @@ License: You must have a valid license purchased only from themeforest(the above
|
||||
/* background: #C3C4C5; */
|
||||
height: 0.2px;
|
||||
}
|
||||
.img-header {
|
||||
object-fit: contain;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<!--end::Head-->
|
||||
@@ -340,7 +343,7 @@ License: You must have a valid license purchased only from themeforest(the above
|
||||
>
|
||||
<img
|
||||
src="../assets/asset-corporate-portal/media/landingpage/jumbotron_left.png"
|
||||
class="img-fluid"
|
||||
class="img-fluid img-header"
|
||||
alt="Your Brand"
|
||||
style="width: 100%; height: 100%;"
|
||||
/>
|
||||
|
||||
@@ -38,14 +38,6 @@ func main() {
|
||||
|
||||
handlers.SetupRoutes(app, h)
|
||||
|
||||
LStore, err := db.NewLoginStore(dbName)
|
||||
if err != nil {
|
||||
app.Logger.Fatalf("failed to create store: %s", err)
|
||||
}
|
||||
l := services.NewServicesLogin(services.Login{}, LStore)
|
||||
lh := handlers.NewLoginHandler(l)
|
||||
handlers.SetupRoutesLogin(app, lh)
|
||||
|
||||
xStore, err := db.NewXsampleStore(dbName)
|
||||
if err != nil {
|
||||
app.Logger.Fatalf("failed to create store: %s", err)
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
|
||||
_ "github.com/glebarez/go-sqlite"
|
||||
)
|
||||
|
||||
type LoginStore struct {
|
||||
Db *sql.DB
|
||||
}
|
||||
|
||||
func NewLoginStore(dbName string) (LoginStore, error) {
|
||||
Db, err := getConnection(dbName)
|
||||
if err != nil {
|
||||
return LoginStore{}, err
|
||||
}
|
||||
|
||||
if err := createMigrations(dbName, Db); err != nil {
|
||||
return LoginStore{}, err
|
||||
}
|
||||
|
||||
return LoginStore{
|
||||
Db,
|
||||
}, nil
|
||||
}
|
||||
@@ -2,34 +2,19 @@ package handlers
|
||||
|
||||
import (
|
||||
"github.com/a-h/templ"
|
||||
"github.com/emarifer/go-templ-project-structure/services"
|
||||
"github.com/emarifer/go-templ-project-structure/views/login"
|
||||
|
||||
"github.com/labstack/echo/v4"
|
||||
)
|
||||
|
||||
type LoginService interface {
|
||||
GetLogin(Email string, Password string) (services.Login, error)
|
||||
func HandlerShowLoginCompany(c echo.Context) error {
|
||||
|
||||
// si := user.ShowIndex("| Home", user.Show(udata))
|
||||
si := login.ShowLogin("Login ", login.DivLogin(), login.CssLogin(), login.JsLogin())
|
||||
|
||||
return ViewLoginCompany(c, si)
|
||||
}
|
||||
|
||||
func NewLoginHandler(us LoginService) *LoginHandler {
|
||||
return &LoginHandler{
|
||||
LoginService: us,
|
||||
}
|
||||
}
|
||||
|
||||
type LoginHandler struct {
|
||||
LoginService LoginService
|
||||
}
|
||||
|
||||
func (lh *LoginHandler) HandlerShowLogin(c echo.Context) error {
|
||||
|
||||
si := login.ShowLogin("Login ", login.MainLogin(), login.CssLogin(), login.JsLogin())
|
||||
|
||||
return lh.ViewLogin(c, si)
|
||||
}
|
||||
|
||||
func (uh *LoginHandler) ViewLogin(c echo.Context, cmp templ.Component) error {
|
||||
func ViewLoginCompany(c echo.Context, cmp templ.Component) error {
|
||||
c.Response().Header().Set(echo.HeaderContentType, echo.MIMETextHTML)
|
||||
|
||||
return cmp.Render(c.Request().Context(), c.Response().Writer)
|
||||
|
||||
@@ -11,10 +11,6 @@ func SetupRoutes(app *echo.Echo, h *UserHandler) {
|
||||
}
|
||||
|
||||
//PLAYGROUND TESTING
|
||||
func SetupRoutesLogin(app *echo.Echo, h *LoginHandler) {
|
||||
l := app.Group("/login")
|
||||
l.GET("/", h.HandlerShowLogin)
|
||||
}
|
||||
func SetupRoutesXsample(app *echo.Echo, h *XsampleHandler) {
|
||||
xSample := app.Group("/xsample")
|
||||
xSample.GET("/xsample01", h.Hello)
|
||||
|
||||
@@ -121,6 +121,20 @@ func (su *ServicesLandingPage) GetClientService() ([]ClientService, error) {
|
||||
ClientServiceIcon: "jam:medical",
|
||||
ClientServiceLink: "/",
|
||||
},
|
||||
{
|
||||
ClientServiceID: 4,
|
||||
ClientServiceName: "Medical Check Up 2",
|
||||
ClientServiceDescription: "Supported by a professional medical, paramedical team, and as well as laboratory equipment ",
|
||||
ClientServiceIcon: "jam:medical",
|
||||
ClientServiceLink: "/",
|
||||
},
|
||||
{
|
||||
ClientServiceID: 5,
|
||||
ClientServiceName: "Medical Check Up 3",
|
||||
ClientServiceDescription: "Supported by a professional medical, paramedical team, and as well as laboratory equipment ",
|
||||
ClientServiceIcon: "jam:medical",
|
||||
ClientServiceLink: "/",
|
||||
},
|
||||
}
|
||||
|
||||
return data, nil
|
||||
@@ -175,6 +189,16 @@ func (su *ServicesLandingPage) GetPromotionList() ([]Promotion, error) {
|
||||
PromotionAsset: "../../asset-corporate-portal/media/landingpage/promotion_3.png",
|
||||
PromotionLink: "",
|
||||
},
|
||||
{
|
||||
PromotionID: 4,
|
||||
PromotionAsset: "../../asset-corporate-portal/media/landingpage/promotion_2.png",
|
||||
PromotionLink: "",
|
||||
},
|
||||
{
|
||||
PromotionID: 5,
|
||||
PromotionAsset: "../../asset-corporate-portal/media/landingpage/promotion_3.png",
|
||||
PromotionLink: "",
|
||||
},
|
||||
}
|
||||
|
||||
return data, nil
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
package services
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/emarifer/go-templ-project-structure/db"
|
||||
)
|
||||
|
||||
func NewServicesLogin(u Login, uStore db.LoginStore) *ServicesLogin {
|
||||
|
||||
return &ServicesLogin{
|
||||
Login: u,
|
||||
LoginStore: uStore,
|
||||
}
|
||||
}
|
||||
|
||||
type Login struct {
|
||||
ID int `json:"id"`
|
||||
Loginname string `json:"Loginname"`
|
||||
Email string `json:"Email"`
|
||||
Password string `json:"Password"`
|
||||
CreatedAt time.Time `json:"created_at,omitempty"`
|
||||
}
|
||||
|
||||
type ServicesLogin struct {
|
||||
Login Login
|
||||
LoginStore db.LoginStore
|
||||
}
|
||||
|
||||
func (su *ServicesLogin) GetLogin(Email string, Password string) (Login, error) {
|
||||
|
||||
query := `SELECT id, Loginname, Email, Password, created_at FROM Login
|
||||
WHERE Email = ? AND Password = ?`
|
||||
|
||||
stmt, err := su.LoginStore.Db.Prepare(query)
|
||||
if err != nil {
|
||||
return Login{}, err
|
||||
}
|
||||
|
||||
defer stmt.Close()
|
||||
|
||||
su.Login.Email = Email
|
||||
su.Login.Password = Password
|
||||
err = stmt.QueryRow(
|
||||
su.Login.Email,
|
||||
su.Login.Password,
|
||||
).Scan(
|
||||
&su.Login.ID,
|
||||
&su.Login.Loginname,
|
||||
&su.Login.Email,
|
||||
&su.Login.Password,
|
||||
&su.Login.CreatedAt,
|
||||
)
|
||||
if err != nil {
|
||||
return Login{}, err
|
||||
}
|
||||
|
||||
return su.Login, nil
|
||||
}
|
||||
@@ -60,20 +60,30 @@ templ MainLandingPage(medicalServiceComponent templ.Component, listAdvantageComp
|
||||
}
|
||||
|
||||
templ CssLandingPage() {
|
||||
<div>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://fonts.googleapis.com/css?family=Public Sans:300,400,500,600,700"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,600,700"
|
||||
/>
|
||||
<style>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://fonts.googleapis.com/css?family=Public Sans:300,400,500,600,700"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,600,700"
|
||||
/>
|
||||
<!-- slick -->
|
||||
<link
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
type="text/css"
|
||||
href="https://cdn.jsdelivr.net/gh/kenwheeler/slick@1.8.1/slick/slick-theme.css"
|
||||
/>
|
||||
<style>
|
||||
body {
|
||||
background-color: white;
|
||||
/* padding-right: 100px;
|
||||
@@ -249,11 +259,63 @@ templ CssLandingPage() {
|
||||
/* background: #C3C4C5; */
|
||||
height: 0.2px;
|
||||
}
|
||||
.card-footer {
|
||||
background-color: transparent !important;
|
||||
border: none;
|
||||
}
|
||||
.slick-prev:before,
|
||||
.slick-next:before {
|
||||
color: var(--primarybg);
|
||||
}
|
||||
.img-header {
|
||||
object-fit: contain;
|
||||
}
|
||||
</style>
|
||||
</div>
|
||||
}
|
||||
|
||||
templ JsLandingPage() {
|
||||
<!-- SCRIPT -->
|
||||
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
// lg
|
||||
$(".responsive-lg").slick({
|
||||
dots: false,
|
||||
autoplay: true,
|
||||
autoplaySpeed: 2000,
|
||||
infinite: true,
|
||||
lazyLoad: "ondemand",
|
||||
slidesToShow: 3,
|
||||
slidesToScroll: 3,
|
||||
nextArrow: '<button type="button" class="slick-next">Next</button>',
|
||||
prevArrow:
|
||||
'<button type="button" class="slick-prev">Previous</button>',
|
||||
});
|
||||
|
||||
// md
|
||||
$(".responsive-md").slick({
|
||||
dots: false,
|
||||
autoplay: true,
|
||||
autoplaySpeed: 2000,
|
||||
infinite: true,
|
||||
lazyLoad: "ondemand",
|
||||
slidesToShow: 3,
|
||||
slidesToScroll: 3,
|
||||
});
|
||||
|
||||
// sm
|
||||
$(".responsive-sm").slick({
|
||||
dots: false,
|
||||
autoplay: true,
|
||||
autoplaySpeed: 2000,
|
||||
infinite: true,
|
||||
lazyLoad: "ondemand",
|
||||
slidesToShow: 1,
|
||||
slidesToScroll: 1,
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<!-- SCRIPT -->
|
||||
}
|
||||
|
||||
templ ShowLandingPage(title string, cmp templ.Component, css templ.Component, js templ.Component) {
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -5,8 +5,9 @@ import (
|
||||
)
|
||||
|
||||
templ MedicalService(title string, desciption string, icon string, link string) {
|
||||
<div class="col-md-4">
|
||||
<div class="card custom-card-lp">
|
||||
<div class="col-lg-4">
|
||||
<!-- 1 -->
|
||||
<div class="card custom-card-lp mr-6">
|
||||
<div class="card-body">
|
||||
<div class="icon-container bg-primary-transparent">
|
||||
<span
|
||||
@@ -18,6 +19,8 @@ templ MedicalService(title string, desciption string, icon string, link string)
|
||||
<p class="card-text sub-title-fs-12">
|
||||
{ desciption }
|
||||
</p>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<a href={ templ.SafeURL(link) } class="link-learn-more text-primary">
|
||||
Learn More
|
||||
<span
|
||||
@@ -31,12 +34,10 @@ templ MedicalService(title string, desciption string, icon string, link string)
|
||||
}
|
||||
|
||||
templ ListMedicalService(medserData []services.ClientService) {
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
for _, d := range medserData {
|
||||
@MedicalService(d.ClientServiceName, d.ClientServiceDescription, d.ClientServiceIcon, d.ClientServiceLink)
|
||||
}
|
||||
</div>
|
||||
<div class="row responsive-lg">
|
||||
for _, d := range medserData {
|
||||
@MedicalService(d.ClientServiceName, d.ClientServiceDescription, d.ClientServiceIcon, d.ClientServiceLink)
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
@@ -116,7 +117,7 @@ templ HeaderCard() {
|
||||
<div class="d-flex m-1o align-items-center">
|
||||
<img
|
||||
src="../asset-corporate-portal/media/landingpage/jumbotron_left.png"
|
||||
class="img-fluid w-100 h-100"
|
||||
class="img-fluid w-100 h-100 img-header"
|
||||
alt="Your Brand"
|
||||
/>
|
||||
</div>
|
||||
@@ -137,7 +138,7 @@ templ Promotion(prm services.Promotion) {
|
||||
}
|
||||
|
||||
templ ListPromotion(prm []services.Promotion) {
|
||||
<div class="row mt-4 mb-2">
|
||||
<div class="row responsive-lg d-none d-lg-block d-xl-block">
|
||||
for _, d := range prm {
|
||||
@Promotion(d)
|
||||
}
|
||||
|
||||
@@ -27,14 +27,14 @@ func MedicalService(title string, desciption string, icon string, link string) t
|
||||
templ_7745c5c3_Var1 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"col-md-4\"><div class=\"card custom-card-lp\"><div class=\"card-body\"><div class=\"icon-container bg-primary-transparent\"><span class=\"iconify text-primary w-20 h-20\" data-icon=\"")
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"col-lg-4\"><!-- 1 --><div class=\"card custom-card-lp mr-6\"><div class=\"card-body\"><div class=\"icon-container bg-primary-transparent\"><span class=\"iconify text-primary w-20 h-20\" data-icon=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
var templ_7745c5c3_Var2 string
|
||||
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(icon)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\landingpage\medicalservice.templ`, Line: 14, Col: 22}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\landingpage\medicalservice.templ`, Line: 15, Col: 22}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -47,7 +47,7 @@ func MedicalService(title string, desciption string, icon string, link string) t
|
||||
var templ_7745c5c3_Var3 string
|
||||
templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(title)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\landingpage\medicalservice.templ`, Line: 17, Col: 46}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\landingpage\medicalservice.templ`, Line: 18, Col: 46}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -60,13 +60,13 @@ func MedicalService(title string, desciption string, icon string, link string) t
|
||||
var templ_7745c5c3_Var4 string
|
||||
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(desciption)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\landingpage\medicalservice.templ`, Line: 19, Col: 17}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\landingpage\medicalservice.templ`, Line: 20, Col: 17}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</p><a href=\"")
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</p></div><div class=\"card-footer\"><a href=\"")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
@@ -99,7 +99,7 @@ func ListMedicalService(medserData []services.ClientService) templ.Component {
|
||||
templ_7745c5c3_Var6 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"container\"><div class=\"row\">")
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"row responsive-lg\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
@@ -109,7 +109,7 @@ func ListMedicalService(medserData []services.ClientService) templ.Component {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div></div>")
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
@@ -140,7 +140,7 @@ func HeaderSection(title string, desc string) templ.Component {
|
||||
var templ_7745c5c3_Var8 string
|
||||
templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(title)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\landingpage\medicalservice.templ`, Line: 45, Col: 46}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\landingpage\medicalservice.templ`, Line: 46, Col: 46}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -153,7 +153,7 @@ func HeaderSection(title string, desc string) templ.Component {
|
||||
var templ_7745c5c3_Var9 string
|
||||
templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(desc)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\landingpage\medicalservice.templ`, Line: 47, Col: 9}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\landingpage\medicalservice.templ`, Line: 48, Col: 9}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -190,7 +190,7 @@ func Advantage(title string, desc string) templ.Component {
|
||||
var templ_7745c5c3_Var11 string
|
||||
templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(title)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\landingpage\medicalservice.templ`, Line: 62, Col: 51}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\landingpage\medicalservice.templ`, Line: 63, Col: 51}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -203,7 +203,7 @@ func Advantage(title string, desc string) templ.Component {
|
||||
var templ_7745c5c3_Var12 string
|
||||
templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(desc)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\landingpage\medicalservice.templ`, Line: 64, Col: 11}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\landingpage\medicalservice.templ`, Line: 65, Col: 11}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -267,7 +267,7 @@ func HeaderCard() templ.Component {
|
||||
templ_7745c5c3_Var14 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"jumbotron bg-primary\"><div class=\"container\"><div class=\"row\"><div class=\"col-md-8 d-flex flex-column\"><div class=\"mb-3\"><h1 class=\"title-jumbotron text-white\">Invest in Your Well-being with Our Comprehensive Medical\r Check-Up\r</h1><p class=\"sub-title-jumbotron text-white\">Elevate your health journey with our thorough medical\r assessments, empowering you to take proactive steps towards a\r healthier, happier life.\r</p><button type=\"button\" class=\"btn btn-lg btn-pill bg-white\"><span class=\"title-get-started\">Get Started</span></button></div><div class=\"mt-auto\"></div></div><div class=\"col-md-4 d-flex justify-content-md-end\"><!-- style=\"\r\n flex: 2;\r\n margin: 10px;\r\n display: flex;\r\n align-items: center;\r\n \" --><div class=\"d-flex m-1o align-items-center\"><img src=\"../asset-corporate-portal/media/landingpage/jumbotron_left.png\" class=\"img-fluid w-100 h-100\" alt=\"Your Brand\"></div></div></div></div></div>")
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"jumbotron bg-primary\"><div class=\"container\"><div class=\"row\"><div class=\"col-md-8 d-flex flex-column\"><div class=\"mb-3\"><h1 class=\"title-jumbotron text-white\">Invest in Your Well-being with Our Comprehensive Medical\r Check-Up\r</h1><p class=\"sub-title-jumbotron text-white\">Elevate your health journey with our thorough medical\r assessments, empowering you to take proactive steps towards a\r healthier, happier life.\r</p><button type=\"button\" class=\"btn btn-lg btn-pill bg-white\"><span class=\"title-get-started\">Get Started</span></button></div><div class=\"mt-auto\"></div></div><div class=\"col-md-4 d-flex justify-content-md-end\"><!-- style=\"\r\n flex: 2;\r\n margin: 10px;\r\n display: flex;\r\n align-items: center;\r\n \" --><div class=\"d-flex m-1o align-items-center\"><img src=\"../asset-corporate-portal/media/landingpage/jumbotron_left.png\" class=\"img-fluid w-100 h-100 img-header\" alt=\"Your Brand\"></div></div></div></div></div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
@@ -298,7 +298,7 @@ func Promotion(prm services.Promotion) templ.Component {
|
||||
var templ_7745c5c3_Var16 string
|
||||
templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinStringErrs(prm.PromotionAsset)
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\landingpage\medicalservice.templ`, Line: 132, Col: 27}
|
||||
return templ.Error{Err: templ_7745c5c3_Err, FileName: `views\landingpage\medicalservice.templ`, Line: 133, Col: 27}
|
||||
}
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16))
|
||||
if templ_7745c5c3_Err != nil {
|
||||
@@ -328,7 +328,7 @@ func ListPromotion(prm []services.Promotion) templ.Component {
|
||||
templ_7745c5c3_Var17 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"row mt-4 mb-2\">")
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"row responsive-lg d-none d-lg-block d-xl-block\">")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
|
||||
@@ -4,14 +4,44 @@ import (
|
||||
"github.com/emarifer/go-templ-project-structure/views/layout"
|
||||
)
|
||||
|
||||
templ MainLogin() {
|
||||
templ DivLogin() {
|
||||
<div class="d-flex flex-column flex-root">
|
||||
<div
|
||||
class="login login-1 login-signin-on d-flex flex-column flex-lg-row flex-column-fluid bg-white"
|
||||
id="kt_login"
|
||||
>
|
||||
<!--begin::Aside-->
|
||||
@AsideLeft()
|
||||
<div
|
||||
class="login-aside d-flex flex-column flex-row-auto"
|
||||
style="background-color: #3b4f9f"
|
||||
>
|
||||
<!--begin::Aside Top-->
|
||||
<div class="d-flex flex-column-auto flex-column pt-lg-40 pt-15 px-10">
|
||||
<!--begin::Aside header-->
|
||||
<div class="aside-title mb-5">
|
||||
Empowering Your Workforce's Health
|
||||
</div>
|
||||
<!--end::Aside header-->
|
||||
<!--begin::Aside title-->
|
||||
<div class="aside-subtitle">
|
||||
Discover peace of mind and prioritize your health with our
|
||||
comprehensive medical check-up packages
|
||||
</div>
|
||||
<!--end::Aside title-->
|
||||
</div>
|
||||
<!--end::Aside Top-->
|
||||
<!--begin::Aside Bottom-->
|
||||
<div
|
||||
class="d-flex bgi-no-repeat flex-row-fluid justify-content-center align-items-end"
|
||||
>
|
||||
<img
|
||||
src="asset-corporate-portal/media/login-company-vector.png"
|
||||
class="img-fluid"
|
||||
style="height: 55vh; width: 55vh"
|
||||
/>
|
||||
</div>
|
||||
<!--end::Aside Bottom-->
|
||||
</div>
|
||||
<!--begin::Aside-->
|
||||
<!--begin::Content-->
|
||||
<div
|
||||
@@ -22,21 +52,254 @@ templ MainLogin() {
|
||||
<!--begin::Signin-->
|
||||
<div class="login-form login-signin">
|
||||
<!--begin::Form-->
|
||||
@FormSignin()
|
||||
<form
|
||||
class="form"
|
||||
novalidate="novalidate"
|
||||
id="kt_login_signin_form"
|
||||
>
|
||||
<!--begin::Title-->
|
||||
<div class="d-flex justify-content-center mb-5">
|
||||
<img
|
||||
src="asset-corporate-portal/media/logo.png"
|
||||
alt=""
|
||||
style="height: 103px"
|
||||
/>
|
||||
</div>
|
||||
<div class="pt-2">
|
||||
<h3
|
||||
class="d-flex justify-content-center title-company"
|
||||
style="color: black"
|
||||
>
|
||||
Welcome to Corporate Portal
|
||||
</h3>
|
||||
</div>
|
||||
<div class="pb-10 pt-0">
|
||||
<h3 class="subtitle-company" style="color: #a7a8bb">
|
||||
Sign in to access your account
|
||||
</h3>
|
||||
</div>
|
||||
<!--begin::Title-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group">
|
||||
<label class="font-size-h6 font-weight-bolder text-dark">Email</label>
|
||||
<input
|
||||
class="form-control form-control-solid h-auto py-7 px-6 rounded-lg"
|
||||
type="text"
|
||||
name="username"
|
||||
autocomplete="off"
|
||||
placeholder="Enter your email"
|
||||
/>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group">
|
||||
<div class="d-flex justify-content-between mt-n5">
|
||||
<label
|
||||
class="font-size-h6 font-weight-bolder text-dark pt-5"
|
||||
>Password</label>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<!-- form-control form-control-solid -->
|
||||
<input
|
||||
class="h-auto form-control form-control-solid py-7 px-6 rounded-lg rounded-right-0"
|
||||
type="password"
|
||||
name="password"
|
||||
id="user-password"
|
||||
autocomplete="off"
|
||||
placeholder="Enter your password"
|
||||
/>
|
||||
<div class="input-group-append">
|
||||
<span
|
||||
class="input-group-text rounded-lg rounded-left-0"
|
||||
style="border: 0"
|
||||
>
|
||||
<!-- far fa-eye-slash -->
|
||||
<a class="btn" role="button" id="btn-show">
|
||||
<i class="far fa-eye-slash" id="password-icon"></i>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex justify-content-end">
|
||||
<a
|
||||
href="javascript:;"
|
||||
class="font-size-h6 font-weight-bolder text-hover-primary mb-5"
|
||||
id="kt_login_forgot"
|
||||
style="color: #0c518c"
|
||||
>
|
||||
Forgot Password ?
|
||||
</a>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
<!--begin::Action-->
|
||||
<div class="pb-lg-0 pb-5 pt-5">
|
||||
<button
|
||||
type="button"
|
||||
id="kt_login_signin_submit"
|
||||
style="background-color: #0c518c"
|
||||
class="btn btn-block font-weight-bolder text-white font-size-h6 px-8 py-4 my-3 mr-3 mt-5"
|
||||
>
|
||||
Sign In
|
||||
</button>
|
||||
</div>
|
||||
<!--end::Action-->
|
||||
</form>
|
||||
<!--end::Form-->
|
||||
</div>
|
||||
<!--end::Signin-->
|
||||
<!--begin::Signup -->
|
||||
<div class="login-form login-signup">
|
||||
<!--begin::Form -->
|
||||
@FormSignup()
|
||||
<form
|
||||
class="form"
|
||||
novalidate="novalidate"
|
||||
id="kt_login_signup_form"
|
||||
>
|
||||
<!--begin::Title -->
|
||||
<div class="pb-13 pt-lg-0 pt-5">
|
||||
<h3
|
||||
class="font-weight-bolder text-dark font-size-h4 font-size-h1-lg"
|
||||
>
|
||||
Sign Up
|
||||
</h3>
|
||||
<p class="text-muted font-weight-bold font-size-h4">
|
||||
Enter your details to create your account
|
||||
</p>
|
||||
</div>
|
||||
<!--end::Title -->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group">
|
||||
<input
|
||||
class="form-control form-control-solid h-auto py-7 px-6 rounded-lg font-size-h6"
|
||||
type="text"
|
||||
placeholder="Fullname"
|
||||
name="fullname"
|
||||
autocomplete="off"
|
||||
/>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group">
|
||||
<input
|
||||
class="form-control form-control-solid h-auto py-7 px-6 rounded-lg font-size-h6"
|
||||
type="email"
|
||||
placeholder="Email"
|
||||
name="email"
|
||||
autocomplete="off"
|
||||
/>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group">
|
||||
<input
|
||||
class="form-control form-control-solid h-auto py-7 px-6 rounded-lg font-size-h6"
|
||||
type="password"
|
||||
placeholder="Password"
|
||||
name="password"
|
||||
autocomplete="off"
|
||||
/>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group">
|
||||
<input
|
||||
class="form-control form-control-solid h-auto py-7 px-6 rounded-lg font-size-h6"
|
||||
type="password"
|
||||
placeholder="Confirm password"
|
||||
name="cpassword"
|
||||
autocomplete="off"
|
||||
/>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group">
|
||||
<label class="checkbox mb-0">
|
||||
<input type="checkbox" name="agree"/>I Agree the
|
||||
<a href="#">terms and conditions</a>.
|
||||
<span></span>
|
||||
</label>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group d-flex flex-wrap pb-lg-0 pb-3">
|
||||
<button
|
||||
type="button"
|
||||
id="kt_login_signup_submit"
|
||||
class="btn btn-primary font-weight-bolder font-size-h6 px-8 py-4 my-3 mr-4"
|
||||
>
|
||||
Submit
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
id="kt_login_signup_cancel"
|
||||
class="btn btn-light-primary font-weight-bolder font-size-h6 px-8 py-4 my-3"
|
||||
>
|
||||
Cancel
|
||||
</button>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
</form>
|
||||
<!--end::Form -->
|
||||
</div>
|
||||
<!--end::Signup -->
|
||||
<!--begin::Forgot-->
|
||||
<div class="login-form login-forgot">
|
||||
<!--begin::Form-->
|
||||
@ForgotPassword()
|
||||
<form
|
||||
class="form"
|
||||
novalidate="novalidate"
|
||||
id="kt_login_forgot_form"
|
||||
>
|
||||
<!--begin::Title-->
|
||||
<div class="d-flex justify-content-center mb-5">
|
||||
<img
|
||||
src="asset-corporate-portal/media/logo.png"
|
||||
alt=""
|
||||
style="height: 103px"
|
||||
/>
|
||||
</div>
|
||||
<div class="pb-13 pt-lg-0 pt-5">
|
||||
<h3
|
||||
class="font-weight-bolder text-dark font-size-h4 font-size-h1-lg"
|
||||
>
|
||||
Forgotten Password ?
|
||||
</h3>
|
||||
<p class="text-muted font-weight-bold font-size-h4">
|
||||
Enter your email to reset your password
|
||||
</p>
|
||||
</div>
|
||||
<!--end::Title-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group">
|
||||
<input
|
||||
class="form-control form-control-solid h-auto py-7 px-6 rounded-lg font-size-h6"
|
||||
type="email"
|
||||
placeholder="Email"
|
||||
name="email"
|
||||
autocomplete="off"
|
||||
/>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group d-flex flex-wrap pb-lg-0">
|
||||
<button
|
||||
type="button"
|
||||
id="kt_login_forgot_submit"
|
||||
class="btn btn-primary font-weight-bolder font-size-h6 px-8 py-4 my-3 btn-block btn-submit"
|
||||
>
|
||||
Submit
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
id="kt_login_forgot_cancel"
|
||||
class="btn btn-light-primary font-weight-bolder font-size-h6 px-8 py-4 my-3 btn-block btn-cancel"
|
||||
>
|
||||
Cancel
|
||||
</button>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
</form>
|
||||
<!--end::Form-->
|
||||
</div>
|
||||
<!--end::Forgot-->
|
||||
@@ -52,52 +315,73 @@ templ MainLogin() {
|
||||
|
||||
templ CssLogin() {
|
||||
<style>
|
||||
.title-company {
|
||||
color: #181c32;
|
||||
font-family: Poppins;
|
||||
font-size: 31px;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
line-height: normal;
|
||||
letter-spacing: -0.3px;
|
||||
}
|
||||
.subtitle-company {
|
||||
color: #a7a8bb;
|
||||
font-family: Poppins;
|
||||
font-size: 18px;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
line-height: normal;
|
||||
}
|
||||
.aside-title {
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
font-family: Poppins;
|
||||
font-size: 28px;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
line-height: normal;
|
||||
letter-spacing: -0.84px;
|
||||
}
|
||||
.aside-subtitle {
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
font-family: Poppins;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
line-height: 30px; /* 187.5% */
|
||||
letter-spacing: -0.48px;
|
||||
}
|
||||
</style>
|
||||
|
||||
.title-company {
|
||||
color: #181c32;
|
||||
font-family: Poppins;
|
||||
font-size: 31px;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
line-height: normal;
|
||||
letter-spacing: -0.3px;
|
||||
}
|
||||
.subtitle-company {
|
||||
color: #a7a8bb;
|
||||
font-family: Poppins;
|
||||
font-size: 18px;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
.aside-title {
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
font-family: Poppins;
|
||||
font-size: 28px;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
line-height: normal;
|
||||
letter-spacing: -0.84px;
|
||||
}
|
||||
|
||||
.aside-subtitle {
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
font-family: Poppins;
|
||||
font-size: 16px;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
line-height: 30px;
|
||||
/* 187.5% */
|
||||
letter-spacing: -0.48px;
|
||||
}
|
||||
|
||||
.btn-submit {
|
||||
background-color: #3b4f9f !important
|
||||
}
|
||||
|
||||
.btn-cancel {
|
||||
color: #3b4f9f !important;
|
||||
background-color: #e1f0ff !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
}
|
||||
|
||||
// templ CssLoginCompany() {
|
||||
// <link
|
||||
// rel="stylesheet"
|
||||
// type="text/css"
|
||||
// href="asset-corporate-portal/css/login.css"
|
||||
// />
|
||||
// }
|
||||
templ JsLogin() {
|
||||
<script src="../../asset-corporate-portal/js/login-general.js"></script>
|
||||
<script src="asset-corporate-portal/js/login-general.js"></script>
|
||||
}
|
||||
|
||||
templ ShowLogin(title string, cmp templ.Component, css templ.Component, js templ.Component) {
|
||||
@layout.PlaygroundLayout(title, css, js) {
|
||||
@layout.CanvasLayout(title, css, js) {
|
||||
@cmp
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -1,274 +0,0 @@
|
||||
package login
|
||||
|
||||
templ AsideLeft() {
|
||||
<div class="login-aside d-flex flex-column flex-row-auto bg-primary">
|
||||
<!--begin::Aside Top-->
|
||||
<div class="d-flex flex-column-auto flex-column pt-lg-40 pt-15 px-10">
|
||||
<!--begin::Aside header-->
|
||||
<div class="aside-title mb-5">
|
||||
Empowering Your Workforce's Health
|
||||
</div>
|
||||
<!--end::Aside header-->
|
||||
<!--begin::Aside title-->
|
||||
<div class="aside-subtitle">
|
||||
Discover peace of mind and prioritize your health with our
|
||||
comprehensive medical check-up packages
|
||||
</div>
|
||||
<!--end::Aside title-->
|
||||
</div>
|
||||
<!--end::Aside Top-->
|
||||
<!--begin::Aside Bottom-->
|
||||
<div
|
||||
class="d-flex bgi-no-repeat flex-row-fluid justify-content-center align-items-end"
|
||||
>
|
||||
<img
|
||||
src="../../asset-corporate-portal/media/login/login-company-vector.png"
|
||||
class="img-fluid"
|
||||
style="height: 55vh; width: 55vh"
|
||||
/>
|
||||
</div>
|
||||
<!--end::Aside Bottom-->
|
||||
</div>
|
||||
}
|
||||
|
||||
templ FormSignin() {
|
||||
<form
|
||||
class="form"
|
||||
novalidate="novalidate"
|
||||
id="kt_login_signin_form"
|
||||
>
|
||||
<!--begin::Title-->
|
||||
<div class="d-flex justify-content-center mb-5">
|
||||
<img
|
||||
src="../../asset-corporate-portal/media/logo/logo.png"
|
||||
alt=""
|
||||
style="height: 103px"
|
||||
/>
|
||||
</div>
|
||||
<div class="pt-2">
|
||||
<h3
|
||||
class="d-flex justify-content-center title-company text-dark"
|
||||
>
|
||||
Welcome to Corporate Portal
|
||||
</h3>
|
||||
</div>
|
||||
<div class="pb-10 pt-0">
|
||||
<h3 class="subtitle-company" style="color: #a7a8bb">
|
||||
Sign in to access your account
|
||||
</h3>
|
||||
</div>
|
||||
<!--begin::Title-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group">
|
||||
<label class="font-size-h6 font-weight-bolder text-dark">Email</label>
|
||||
<input
|
||||
class="form-control form-control-solid h-auto py-7 px-6 rounded-lg"
|
||||
type="text"
|
||||
name="username"
|
||||
autocomplete="off"
|
||||
placeholder="Enter your email"
|
||||
/>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group">
|
||||
<div class="d-flex justify-content-between mt-n5">
|
||||
<label
|
||||
class="font-size-h6 font-weight-bolder text-dark pt-5"
|
||||
>Password</label>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<!-- form-control form-control-solid -->
|
||||
<input
|
||||
class="h-auto form-control form-control-solid py-7 px-6 rounded-lg rounded-right-0"
|
||||
type="password"
|
||||
name="password"
|
||||
id="user-password"
|
||||
autocomplete="off"
|
||||
placeholder="Enter your password"
|
||||
/>
|
||||
<div class="input-group-append">
|
||||
<span
|
||||
class="input-group-text rounded-lg rounded-left-0"
|
||||
style="border: 0"
|
||||
>
|
||||
<!-- far fa-eye-slash -->
|
||||
<a class="btn" role="button" id="btn-show">
|
||||
<i class="far fa-eye-slash" id="password-icon"></i>
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex justify-content-end">
|
||||
<a
|
||||
href="javascript:;"
|
||||
class="font-size-h6 font-weight-bolder text-hover-primary mb-5 text-primary"
|
||||
id="kt_login_forgot"
|
||||
>
|
||||
Forgot Password ?
|
||||
</a>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
<!--begin::Action-->
|
||||
<div class="pb-lg-0 pb-5 pt-5">
|
||||
<button
|
||||
type="button"
|
||||
id="kt_login_signin_submit"
|
||||
class="btn btn-block font-weight-bolder text-white font-size-h6 px-8 py-4 my-3 mr-3 mt-5 btn-primary"
|
||||
>
|
||||
Sign In
|
||||
</button>
|
||||
</div>
|
||||
<!--end::Action-->
|
||||
</form>
|
||||
}
|
||||
|
||||
templ FormSignup() {
|
||||
<form
|
||||
class="form"
|
||||
novalidate="novalidate"
|
||||
id="kt_login_signup_form"
|
||||
>
|
||||
<!--begin::Title -->
|
||||
<div class="pb-13 pt-lg-0 pt-5">
|
||||
<h3
|
||||
class="font-weight-bolder text-dark font-size-h4 font-size-h1-lg"
|
||||
>
|
||||
Sign Up
|
||||
</h3>
|
||||
<p class="text-muted font-weight-bold font-size-h4">
|
||||
Enter your details to create your account
|
||||
</p>
|
||||
</div>
|
||||
<!--end::Title -->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group">
|
||||
<input
|
||||
class="form-control form-control-solid h-auto py-7 px-6 rounded-lg font-size-h6"
|
||||
type="text"
|
||||
placeholder="Fullname"
|
||||
name="fullname"
|
||||
autocomplete="off"
|
||||
/>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group">
|
||||
<input
|
||||
class="form-control form-control-solid h-auto py-7 px-6 rounded-lg font-size-h6"
|
||||
type="email"
|
||||
placeholder="Email"
|
||||
name="email"
|
||||
autocomplete="off"
|
||||
/>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group">
|
||||
<input
|
||||
class="form-control form-control-solid h-auto py-7 px-6 rounded-lg font-size-h6"
|
||||
type="password"
|
||||
placeholder="Password"
|
||||
name="password"
|
||||
autocomplete="off"
|
||||
/>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group">
|
||||
<input
|
||||
class="form-control form-control-solid h-auto py-7 px-6 rounded-lg font-size-h6"
|
||||
type="password"
|
||||
placeholder="Confirm password"
|
||||
name="cpassword"
|
||||
autocomplete="off"
|
||||
/>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group">
|
||||
<label class="checkbox mb-0">
|
||||
<input type="checkbox" name="agree"/>I Agree the
|
||||
<a href="#">terms and conditions</a>.
|
||||
<span></span>
|
||||
</label>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group d-flex flex-wrap pb-lg-0 pb-3">
|
||||
<button
|
||||
type="button"
|
||||
id="kt_login_signup_submit"
|
||||
class="btn btn-primary font-weight-bolder font-size-h6 px-8 py-4 my-3 mr-4"
|
||||
>
|
||||
Submit
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
id="kt_login_signup_cancel"
|
||||
class="btn btn-light-primary font-weight-bolder font-size-h6 px-8 py-4 my-3"
|
||||
>
|
||||
Cancel
|
||||
</button>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
</form>
|
||||
}
|
||||
|
||||
templ ForgotPassword() {
|
||||
<form
|
||||
class="form"
|
||||
novalidate="novalidate"
|
||||
id="kt_login_forgot_form"
|
||||
>
|
||||
<!--begin::Title-->
|
||||
<div class="d-flex justify-content-center mb-5">
|
||||
<img
|
||||
src="../../asset-corporate-portal/media/logo/logo.png"
|
||||
alt=""
|
||||
style="height: 103px"
|
||||
/>
|
||||
</div>
|
||||
<div class="pb-13 pt-lg-0 pt-5">
|
||||
<h3
|
||||
class="font-weight-bolder text-dark font-size-h4 font-size-h1-lg"
|
||||
>
|
||||
Forgotten Password ?
|
||||
</h3>
|
||||
<p class="text-muted font-weight-bold font-size-h4">
|
||||
Enter your email to reset your password
|
||||
</p>
|
||||
</div>
|
||||
<!--end::Title-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group">
|
||||
<input
|
||||
class="form-control form-control-solid h-auto py-7 px-6 rounded-lg font-size-h6"
|
||||
type="email"
|
||||
placeholder="Email"
|
||||
name="email"
|
||||
autocomplete="off"
|
||||
/>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
<!--begin::Form group-->
|
||||
<div class="form-group d-flex flex-wrap pb-lg-0">
|
||||
<button
|
||||
type="button"
|
||||
id="kt_login_forgot_submit"
|
||||
class="btn btn-primary font-weight-bolder font-size-h6 px-8 py-4 my-3 btn-block btn-submit"
|
||||
>
|
||||
Submit
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
id="kt_login_forgot_cancel"
|
||||
class="btn btn-light-primary font-weight-bolder font-size-h6 px-8 py-4 my-3 btn-block btn-cancel"
|
||||
>
|
||||
Cancel
|
||||
</button>
|
||||
</div>
|
||||
<!--end::Form group-->
|
||||
</form>
|
||||
}
|
||||
@@ -1,107 +0,0 @@
|
||||
// Code generated by templ - DO NOT EDIT.
|
||||
|
||||
// templ: version: v0.2.663
|
||||
package login
|
||||
|
||||
//lint:file-ignore SA4006 This context is only used if a nested component is present.
|
||||
|
||||
import "github.com/a-h/templ"
|
||||
import "context"
|
||||
import "io"
|
||||
import "bytes"
|
||||
|
||||
func AsideLeft() templ.Component {
|
||||
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
|
||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
templ_7745c5c3_Buffer = templ.GetBuffer()
|
||||
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
}
|
||||
ctx = templ.InitializeContext(ctx)
|
||||
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var1 == nil {
|
||||
templ_7745c5c3_Var1 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<div class=\"login-aside d-flex flex-column flex-row-auto bg-primary\"><!--begin::Aside Top--><div class=\"d-flex flex-column-auto flex-column pt-lg-40 pt-15 px-10\"><!--begin::Aside header--><div class=\"aside-title mb-5\">Empowering Your Workforce's Health\r</div><!--end::Aside header--><!--begin::Aside title--><div class=\"aside-subtitle\">Discover peace of mind and prioritize your health with our\r comprehensive medical check-up packages\r</div><!--end::Aside title--></div><!--end::Aside Top--><!--begin::Aside Bottom--><div class=\"d-flex bgi-no-repeat flex-row-fluid justify-content-center align-items-end\"><img src=\"../../asset-corporate-portal/media/login/login-company-vector.png\" class=\"img-fluid\" style=\"height: 55vh; width: 55vh\"></div><!--end::Aside Bottom--></div>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
|
||||
}
|
||||
return templ_7745c5c3_Err
|
||||
})
|
||||
}
|
||||
|
||||
func FormSignin() templ.Component {
|
||||
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
|
||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
templ_7745c5c3_Buffer = templ.GetBuffer()
|
||||
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
}
|
||||
ctx = templ.InitializeContext(ctx)
|
||||
templ_7745c5c3_Var2 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var2 == nil {
|
||||
templ_7745c5c3_Var2 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<form class=\"form\" novalidate=\"novalidate\" id=\"kt_login_signin_form\"><!--begin::Title--><div class=\"d-flex justify-content-center mb-5\"><img src=\"../../asset-corporate-portal/media/logo/logo.png\" alt=\"\" style=\"height: 103px\"></div><div class=\"pt-2\"><h3 class=\"d-flex justify-content-center title-company text-dark\">Welcome to Corporate Portal\r</h3></div><div class=\"pb-10 pt-0\"><h3 class=\"subtitle-company\" style=\"color: #a7a8bb\">Sign in to access your account\r</h3></div><!--begin::Title--><!--begin::Form group--><div class=\"form-group\"><label class=\"font-size-h6 font-weight-bolder text-dark\">Email</label> <input class=\"form-control form-control-solid h-auto py-7 px-6 rounded-lg\" type=\"text\" name=\"username\" autocomplete=\"off\" placeholder=\"Enter your email\"></div><!--end::Form group--><!--begin::Form group--><div class=\"form-group\"><div class=\"d-flex justify-content-between mt-n5\"><label class=\"font-size-h6 font-weight-bolder text-dark pt-5\">Password</label></div><div class=\"input-group\"><!-- form-control form-control-solid --><input class=\"h-auto form-control form-control-solid py-7 px-6 rounded-lg rounded-right-0\" type=\"password\" name=\"password\" id=\"user-password\" autocomplete=\"off\" placeholder=\"Enter your password\"><div class=\"input-group-append\"><span class=\"input-group-text rounded-lg rounded-left-0\" style=\"border: 0\"><!-- far fa-eye-slash --><a class=\"btn\" role=\"button\" id=\"btn-show\"><i class=\"far fa-eye-slash\" id=\"password-icon\"></i></a></span></div></div></div><div class=\"d-flex justify-content-end\"><a href=\"javascript:;\" class=\"font-size-h6 font-weight-bolder text-hover-primary mb-5 text-primary\" id=\"kt_login_forgot\">Forgot Password ?\r</a></div><!--end::Form group--><!--begin::Action--><div class=\"pb-lg-0 pb-5 pt-5\"><button type=\"button\" id=\"kt_login_signin_submit\" class=\"btn btn-block font-weight-bolder text-white font-size-h6 px-8 py-4 my-3 mr-3 mt-5 btn-primary\">Sign In\r</button></div><!--end::Action--></form>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
|
||||
}
|
||||
return templ_7745c5c3_Err
|
||||
})
|
||||
}
|
||||
|
||||
func FormSignup() templ.Component {
|
||||
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
|
||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
templ_7745c5c3_Buffer = templ.GetBuffer()
|
||||
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
}
|
||||
ctx = templ.InitializeContext(ctx)
|
||||
templ_7745c5c3_Var3 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var3 == nil {
|
||||
templ_7745c5c3_Var3 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<form class=\"form\" novalidate=\"novalidate\" id=\"kt_login_signup_form\"><!--begin::Title --><div class=\"pb-13 pt-lg-0 pt-5\"><h3 class=\"font-weight-bolder text-dark font-size-h4 font-size-h1-lg\">Sign Up\r</h3><p class=\"text-muted font-weight-bold font-size-h4\">Enter your details to create your account\r</p></div><!--end::Title --><!--begin::Form group--><div class=\"form-group\"><input class=\"form-control form-control-solid h-auto py-7 px-6 rounded-lg font-size-h6\" type=\"text\" placeholder=\"Fullname\" name=\"fullname\" autocomplete=\"off\"></div><!--end::Form group--><!--begin::Form group--><div class=\"form-group\"><input class=\"form-control form-control-solid h-auto py-7 px-6 rounded-lg font-size-h6\" type=\"email\" placeholder=\"Email\" name=\"email\" autocomplete=\"off\"></div><!--end::Form group--><!--begin::Form group--><div class=\"form-group\"><input class=\"form-control form-control-solid h-auto py-7 px-6 rounded-lg font-size-h6\" type=\"password\" placeholder=\"Password\" name=\"password\" autocomplete=\"off\"></div><!--end::Form group--><!--begin::Form group--><div class=\"form-group\"><input class=\"form-control form-control-solid h-auto py-7 px-6 rounded-lg font-size-h6\" type=\"password\" placeholder=\"Confirm password\" name=\"cpassword\" autocomplete=\"off\"></div><!--end::Form group--><!--begin::Form group--><div class=\"form-group\"><label class=\"checkbox mb-0\"><input type=\"checkbox\" name=\"agree\">I Agree the\r <a href=\"#\">terms and conditions</a>.\r <span></span></label></div><!--end::Form group--><!--begin::Form group--><div class=\"form-group d-flex flex-wrap pb-lg-0 pb-3\"><button type=\"button\" id=\"kt_login_signup_submit\" class=\"btn btn-primary font-weight-bolder font-size-h6 px-8 py-4 my-3 mr-4\">Submit\r</button> <button type=\"button\" id=\"kt_login_signup_cancel\" class=\"btn btn-light-primary font-weight-bolder font-size-h6 px-8 py-4 my-3\">Cancel\r</button></div><!--end::Form group--></form>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
|
||||
}
|
||||
return templ_7745c5c3_Err
|
||||
})
|
||||
}
|
||||
|
||||
func ForgotPassword() templ.Component {
|
||||
return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) {
|
||||
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer)
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
templ_7745c5c3_Buffer = templ.GetBuffer()
|
||||
defer templ.ReleaseBuffer(templ_7745c5c3_Buffer)
|
||||
}
|
||||
ctx = templ.InitializeContext(ctx)
|
||||
templ_7745c5c3_Var4 := templ.GetChildren(ctx)
|
||||
if templ_7745c5c3_Var4 == nil {
|
||||
templ_7745c5c3_Var4 = templ.NopComponent
|
||||
}
|
||||
ctx = templ.ClearChildren(ctx)
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<form class=\"form\" novalidate=\"novalidate\" id=\"kt_login_forgot_form\"><!--begin::Title--><div class=\"d-flex justify-content-center mb-5\"><img src=\"../../asset-corporate-portal/media/logo/logo.png\" alt=\"\" style=\"height: 103px\"></div><div class=\"pb-13 pt-lg-0 pt-5\"><h3 class=\"font-weight-bolder text-dark font-size-h4 font-size-h1-lg\">Forgotten Password ?\r</h3><p class=\"text-muted font-weight-bold font-size-h4\">Enter your email to reset your password\r</p></div><!--end::Title--><!--begin::Form group--><div class=\"form-group\"><input class=\"form-control form-control-solid h-auto py-7 px-6 rounded-lg font-size-h6\" type=\"email\" placeholder=\"Email\" name=\"email\" autocomplete=\"off\"></div><!--end::Form group--><!--begin::Form group--><div class=\"form-group d-flex flex-wrap pb-lg-0\"><button type=\"button\" id=\"kt_login_forgot_submit\" class=\"btn btn-primary font-weight-bolder font-size-h6 px-8 py-4 my-3 btn-block btn-submit\">Submit\r</button> <button type=\"button\" id=\"kt_login_forgot_cancel\" class=\"btn btn-light-primary font-weight-bolder font-size-h6 px-8 py-4 my-3 btn-block btn-cancel\">Cancel\r</button></div><!--end::Form group--></form>")
|
||||
if templ_7745c5c3_Err != nil {
|
||||
return templ_7745c5c3_Err
|
||||
}
|
||||
if !templ_7745c5c3_IsBuffer {
|
||||
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W)
|
||||
}
|
||||
return templ_7745c5c3_Err
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user