Compare commits

...

1 Commits

Author SHA1 Message Date
Sas Andy
dc2c1491fd revisi landing page scroll card 2024-04-29 15:26:58 +07:00
6 changed files with 135 additions and 41 deletions

View File

@@ -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%;"
/>

View File

@@ -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

View File

@@ -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

View File

@@ -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)
}

View File

@@ -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
}