This commit is contained in:
2024-12-20 16:07:11 +07:00
parent 5bdf96851e
commit 1ebf0fda02
8 changed files with 257 additions and 198 deletions

4
product/views.py Normal file → Executable file
View File

@@ -16,10 +16,14 @@ def productFrontPage(request):
return render(request, 'front/main/product.html', context)
def productDetail(request, slug):
seo = productPageSEO.objects.first()
sliders = sliderSection.objects.all()
product = get_object_or_404(productSection, slug=slug)
products = productSection.objects.all()
context = {
'sliders' : sliders,
'seo' : seo,
'product' : product,
'products' : products,
}

5
service/views.py Normal file → Executable file
View File

@@ -17,14 +17,17 @@ def serviceFrontPage(request):
def serviceDetail(request, slug):
service = get_object_or_404(serviceSection, slug=slug)
seo = servicePageSEO.objects.first()
services = serviceSection.objects.all()
sliders = sliderSection.objects.all()
context = {
'sliders' : sliders,
'seo' : seo,
'service' : service,
'services' : services,
}
return render(request, 'front/main/partial/service-details.html', context)
def error_404(request, exception):
return render(request, 'error/404.html', status=404)

95
static/front/assets/css/style.css Normal file → Executable file
View File

@@ -274,7 +274,7 @@ video {
z-index: 99
}
.creasoft-wrap {
.sectionblock-wrap {
position: relative;
overflow: hidden;
z-index: 1
@@ -300,11 +300,11 @@ video {
}
.line_wrap.layout2 {
border-left: 1px solid rgba(246, 246, 246, .02)
border-left: 1px solid rgba(246, 246, 246, .06)
}
.line_wrap.layout2 .line_item {
border-right: 1px solid rgba(246, 246, 246, .02)
border-right: 1px solid rgba(246, 246, 246, .06)
}
.line_wrap:before {
@@ -315,8 +315,8 @@ video {
position: absolute;
-webkit-animation: scroll1 15s ease-out infinite;
animation: scroll1 15s ease-out infinite;
background-image: -webkit-gradient(linear, left bottom, left top, from(#000000), to(transparent));
background-image: linear-gradient(0deg, #39A5C8, transparent)
background-image: -webkit-gradient(linear, left , right, from(#000000), to(transparent));
background-image: linear-gradient(0deg, #fc7a01, transparent)
}
.line_item {
@@ -345,15 +345,15 @@ video {
.line_item:nth-child(odd):before {
-webkit-animation: scroll2 15s ease-out infinite;
animation: scroll2 15s ease-out infinite;
background-image: -webkit-gradient(linear, left bottom, left top, from(transparent), to(#000000));
background-image: linear-gradient(0deg, transparent, #39A5C8)
background-image: -webkit-gradient(linear, left , right , from(transparent), to(#000000));
background-image: linear-gradient(0deg, transparent, #fc7a01)
}
.line_item:nth-child(even):before {
-webkit-animation: scroll1 15s ease-out infinite;
animation: scroll1 15s ease-out infinite;
background-image: -webkit-gradient(linear, left bottom, left top, from(#000000), to(transparent));
background-image: linear-gradient(0deg, #39A5C8, transparent)
background-image: -webkit-gradient(linear, left, right, from(#000000), to(transparent));
background-image: linear-gradient(0deg, #fc7a01, transparent)
}
@-webkit-keyframes scroll1 {
@@ -414,7 +414,7 @@ video {
.breadcrumbs {
position: relative;
height: 480px;
height: 380px;
background-size: cover;
background-position: center center;
z-index: 1
@@ -433,7 +433,7 @@ video {
top: 0;
height: 100%;
width: 100%;
background-color: #17161a;
background-color: #39A5C8;
opacity: .93;
z-index: -1
}
@@ -2234,7 +2234,7 @@ only screen and (min-width:768px) and (max-width:991px) {
.our-partner {
padding: 100px 0;
background-color: #191a1c
background-color: #39A5C8
}
@media(max-width:767px) {
@@ -2245,7 +2245,7 @@ only screen and (min-width:768px) and (max-width:991px) {
.our-partner .sec-title {
margin-bottom: 10px;
border-right: 1px solid #75dab4
border-right: 1px solid #39A5C8
}
.our-partner .sec-title .swiper-button-next-c,
@@ -2255,7 +2255,7 @@ only screen and (min-width:768px) and (max-width:991px) {
display: inline-block;
height: 40px;
width: 40px;
background-color: #0d0d0f;
background-color: #39A5C8;
border-radius: 50%;
line-height: 40px;
text-align: center;
@@ -2266,7 +2266,7 @@ only screen and (min-width:768px) and (max-width:991px) {
.our-partner .sec-title .swiper-button-next-c:hover,
.our-partner .sec-title .swiper-button-prev-c:hover {
color: #000;
background-color: #75dab4
background-color: #39A5C8
}
.our-partner .sec-title .swiper-button-prev-c {
@@ -2525,7 +2525,6 @@ only screen and (min-width:768px) and (max-width:991px) {
footer {
position: relative;
padding-top: 100px;
margin-top: -100px;
background-size: cover;
background-position: center center;
@@ -2903,7 +2902,7 @@ footer.error {
display: none
}
.creasoft-wrap.layout2 {
.sectionblock-wrap.layout2 {
background-repeat: repeat;
background-color: #39A5C8
}
@@ -5575,4 +5574,66 @@ scrollbar-track {
.swiper-wrapper{
margin-top: 35px;
}
.footheader {
position:relative;
text-align:center;
background: #39A5C8;
color:white;
}
.footheaderwaves {
position:relative;
width: 100%;
height:15vh;
margin-bottom:-7px; /*Fix for safari gap*/
min-height:100px;
max-height:150px;
}
.footcontent {
position:relative;
height:20vh;
text-align:center;
background-color: white;
}
.footheaderparallax > use {
animation: move-forever 25s cubic-bezier(.55,.5,.45,.5) infinite;
}
.footheaderparallax > use:nth-child(1) {
animation-delay: -2s;
animation-duration: 7s;
}
.footheaderparallax > use:nth-child(2) {
animation-delay: -3s;
animation-duration: 10s;
}
.footheaderparallax > use:nth-child(3) {
animation-delay: -4s;
animation-duration: 13s;
}
.footheaderparallax > use:nth-child(4) {
animation-delay: -5s;
animation-duration: 20s;
}
@keyframes move-forever {
0% {
transform: translate3d(-90px,0,0);
}
100% {
transform: translate3d(85px,0,0);
}
}
/*Shrinking for mobile*/
@media (max-width: 768px) {
.footheaderwaves {
height:40px;
min-height:40px;
}
.footcontent {
height:30vh;
}
}

184
templates/front/base.html Normal file → Executable file
View File

@@ -156,99 +156,113 @@
</div>
</div>
</header>
{% block content %}{% endblock content %}
<!--====================== Footer Section ======================-->
<footer>
<div class="container">
<div class="footer-top">
<div class="row">
<div class="col-md-3 col-lg-3 col-xl-3">
<div class="footer-widget">
<div class="footer-logo">
<a href="index.html"><img src="{{ settings.logo_light.url }}" alt></a>
</div>
<p>{{ header_footer.footer_col1_description }}</p>
<ul class="social-media-icons">
{% if header_footer.social1_icon %}
<li><a href="{{ header_footer.social1_link }}"><i class="{{ header_footer.social1_icon }}"></i></a></li>
{% endif %}
{% if header_footer.social2_icon %}
<li><a href="{{ header_footer.social2_link }}"><i class="{{ header_footer.social2_icon }}"></i></a></li>
{% endif %}
{% if header_footer.social3_icon %}
<li><a href="{{ header_footer.social3_link }}"><i class="{{ header_footer.social3_icon }}"></i></a></li>
{% endif %}
{% if header_footer.social4_icon %}
<li><a href="{{ header_footer.social4_link }}"><i class="{{ header_footer.social4_icon }}"></i></a></li>
{% endif %}
</ul>
</div>
</div>
<div class="col-md-3 col-lg-3 col-xl-3">
<div class="footer-widget">
<h4>Our Services</h4>
<ul class="footer-menu">
{% for service in fservices|slice:":6" %}
<li><a href="{% url "serviceDetail" service.slug %}">{{ service.name }}</a></li>
{% endfor %}
</ul>
</div>
</div>
<div class="col-md-3 col-lg-3 col-xl-3">
<div class="footer-widget">
<h4>Recent Projects</h4>
<ul class="footer-menu">
{% for project in fprojects|slice:":6" %}
<li><a href="{% url "projectDetails" project.slug %}">{{ project.title }}</a></li>
{% endfor %}
</ul>
</div>
</div>
<div class="col-md-3 col-lg-3 col-xl-3">
<div class="footer-widget">
<h4>Contacts</h4>
<div class="number">
<div class="num-icon">
<i class="fas fa-phone-alt"></i>
</div>
<div class="phone">
<a href="tel:{{ settings.phone }}">{{ settings.phone }}</a>
</div>
</div>
<div class="office-mail">
<div class="mail-icon">
<i class="far fa-envelope"></i>
</div>
<div class="email">
<a href="mailto:{{ settings.email_address }}"><span class="__cf_email__"
data-cfemail="630a0d050c23061b020e130f064d000c0e">{{ settings.email_address }}</span></a>
</div>
</div>
<div class="address">
<div class="address-icon">
<i class="fas fa-map-marker-alt"></i>
</div>
<p>{{settings.address}}, {{settings.city}}-{{settings.postal}}, {{settings.state}}, {{settings.country}}</p>
</div>
{% block content %}{% endblock content %}
<!--====================== Footer Section ======================-->
<!--====================== Wave Section ======================-->
<footer>
<div class="footheader">
<div>
<svg class="footheaderwaves" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 24 150 28" preserveAspectRatio="none" shape-rendering="auto">
<defs>
<path id="gentle-wave" d="M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z" />
</defs>
<g class="footheaderparallax">
<use xlink:href="#gentle-wave" x="48" y="0" fill="rgba(0,0,0,0.7" />
<use xlink:href="#gentle-wave" x="48" y="3" fill="rgba(0,0,0,0.5)" />
<use xlink:href="#gentle-wave" x="48" y="5" fill="rgba(0,0,0,0.3)" />
<use xlink:href="#gentle-wave" x="48" y="7" fill="#191a1c" />
</g>
</svg>
</div>
</div>
<div class="container">
<div class="footer-top">
<div class="row">
<div class="col-md-3 col-lg-3 col-xl-3">
<div class="footer-widget">
<div class="footer-logo">
<a href="{% url "homePageFront" %}"><img src="{{ settings.logo_light.url }}" alt="image"></a>
</div>
<p>{{ header_footer.footer_col1_description }}</p>
<ul class="social-media-icons">
{% if header_footer.social1_icon %}
<li><a href="{{ header_footer.social1_link }}"><i class="{{ header_footer.social1_icon }}"></i></a></li>
{% endif %}
{% if header_footer.social2_icon %}
<li><a href="{{ header_footer.social2_link }}"><i class="{{ header_footer.social2_icon }}"></i></a></li>
{% endif %}
{% if header_footer.social3_icon %}
<li><a href="{{ header_footer.social3_link }}"><i class="{{ header_footer.social3_icon }}"></i></a></li>
{% endif %}
{% if header_footer.social4_icon %}
<li><a href="{{ header_footer.social4_link }}"><i class="{{ header_footer.social4_icon }}"></i></a></li>
{% endif %}
</ul>
</div>
</div>
</div>
<div class="footer-bottom">
<div class="row align-items-center">
<div class="col-12 col-md-4 col-lg-4 col-xl-5">
<div class="copy-txt">
<span>{{ header_footer.footer_copyright|safe }}</span>
<div class="col-md-3 col-lg-3 col-xl-3">
<div class="footer-widget">
<h4>Our Services</h4>
<ul class="footer-menu">
{% for service in fservices|slice:":6" %}
<li><a href="{% url "serviceDetail" service.slug %}">{{ service.name }}</a></li>
{% endfor %}
</ul>
</div>
</div>
<div class="col-md-3 col-lg-3 col-xl-3">
<div class="footer-widget">
<h4>Recent Projects</h4>
<ul class="footer-menu">
{% for project in fprojects|slice:":6" %}
<li><a href="{% url "projectDetails" project.slug %}">{{ project.title }}</a></li>
{% endfor %}
</ul>
</div>
</div>
<div class="col-md-3 col-lg-3 col-xl-3">
<div class="footer-widget">
<h4>Contacts</h4>
<div class="number">
<div class="num-icon">
<i class="fas fa-phone-alt"></i>
</div>
<div class="phone">
<a href="tel:{{ settings.phone }}">{{ settings.phone }}</a>
</div>
</div>
<div class="office-mail">
<div class="mail-icon">
<i class="far fa-envelope"></i>
</div>
<div class="email">
<a href="mailto:{{ settings.email_address }}"><span class="__cf_email__"
data-cfemail="630a0d050c23061b020e130f064d000c0e">{{ settings.email_address }}</span></a>
</div>
</div>
<div class="address">
<div class="address-icon">
<i class="fas fa-map-marker-alt"></i>
</div>
<p>{{settings.address}}, {{settings.city}}-{{settings.postal}}, {{settings.state}}, {{settings.country}}</p>
</div>
</div>
</div>
</div>
</div>
</footer>
<div class="footer-bottom">
<div class="row align-items-center">
<div class="col-12 col-md-4 col-lg-4 col-xl-5">
<div class="copy-txt">
<span>{{ header_footer.footer_copyright|safe }}</span>
</div>
</div>
</div>
</div>
</div>
</footer>
</main>

52
templates/front/main/partial/product-details.html Normal file → Executable file
View File

@@ -5,17 +5,8 @@
{% block title2 %} {{product.name}} - {{seo_settings.meta_title}}{% endblock title2 %}
{% block content %}
<main class="creasoft-wrap">
<div class="line_wrap">
<div class="line_item"></div>
<div class="line_item"></div>
<div class="line_item"></div>
<div class="line_item"></div>
<div class="line_item"></div>
</div>
<main class="sectionblock-wrap layout2">
<section class="breadcrumbs">
<div class="container">
<div class="row">
@@ -31,17 +22,33 @@
</div>
</section>
<!--====================== background Section======================-->
<div id="particles-js" class="particles-cls"></div>
<!--====================== =============== ======================-->
{% for slider in sliders %}
<div class="swiper-slide">
{% if settings.slider_particle_is_active %}
<div id="particles-js-{{ forloop.counter }}" class="particles-cls"></div>
{% endif %}
</section>
</div>
<section class="service-details sec-mar-top">
{% endfor %}
<script>
const sliderCounting = {{sliders.count}}
</script>
<section class="services-area layout2 sec-mar">
<div class="container">
<div class="row">
<div class="col-lg-8">
<div class="service-details-content">
<div class="swiper-slide wow animate fadeInUp" data-wow-delay="400ms" data-wow-duration="1500ms">
<h3><i class="{{ product.fontawesome_icon_class }} "></i>{{ product.name }} </h3>
{% if product.detail_page_image %}
<img src="{{ product.detail_page_image.url }}" style="border-radius:10px;" alt="product">
{% endif %}
<h3><i class="{{ product.fontawesome_icon_class }} "></i>{{ product.name }}
</h3>
{% endif %}
{{ product.detail_page_description|safe }}
</div>
</div>
@@ -54,19 +61,6 @@
{% endfor %}
</ul>
</div>
{% if settings.show_call_now_widget %}
{% if product.show_call_now_widget %}
<div class="sidebar-banner">
<img src="{% static 'front/assets/img/widget-banner-bg.jpg' %}" alt>
<div class="banner-inner">
<h3>Any Project <span>Call Now.</span>
<img class="angle" src="{% static 'front/assets/img/arrow-angle.png' %}" alt>
</h3>
<a href="tel:{{settings.phone}}">{{settings.phone}}</a>
</div>
</div>
{% endif %}
{% endif %}
</div>
</div>

94
templates/front/main/partial/service-details.html Normal file → Executable file
View File

@@ -5,71 +5,69 @@
{% block title2 %} {{service.name}} - {{seo_settings.meta_title}}{% endblock title2 %}
{% block content %}
<main class="creasoft-wrap">
<div class="line_wrap">
<div class="line_item"></div>
<div class="line_item"></div>
<div class="line_item"></div>
<div class="line_item"></div>
<div class="line_item"></div>
</div>
<main class="sectionblock-wrap layout2">
<section class="breadcrumbs">
<div class="container">
<div class="row">
<div class="col-12">
<div class="breadcrumb-wrapper">
<div class="breadcrumb-cnt">
<h1>{{ service.name }}</h1>
<span><a href="{% url "homePageFront" %}">Home</a><i class="bi bi-arrow-right"></i>Service<i class="bi bi-arrow-right"></i>{{ service.name }}</span>
</div>
<section class="breadcrumbs">
<div class="container">
<div class="row">
<div class="col-12">
<div class="breadcrumb-wrapper">
<div class="breadcrumb-cnt">
<h1>{{ service.name }}</h1>
<span><a href="{% url "homePageFront" %}">Home</a><i class="bi bi-arrow-right"></i>Service<i class="bi bi-arrow-right"></i>{{ service.name }}</span>
</div>
</div>
</div>
</div>
</div>
</section>
<!--====================== background Section======================-->
<div id="particles-js" class="particles-cls"></div>
<!--====================== =============== ======================-->
{% for slider in sliders %}
<div class="swiper-slide">
{% if settings.slider_particle_is_active %}
<div id="particles-js-{{ forloop.counter }}" class="particles-cls"></div>
{% endif %}
</section>
</div>
{% endfor %}
<section class="service-details sec-mar-top">
<div class="container">
<div class="row">
<div class="col-lg-8">
<script>
const sliderCounting = {{sliders.count}}
</script>
<section class="services-area layout2 sec-mar">
<div class="container">
<div class="row">
<div class="col-lg-8">
<div class="swiper-slide wow animate fadeInUp" data-wow-delay="400ms" data-wow-duration="1500ms">
<div class="service-details-content">
<h3><i class="{{ service.fontawesome_icon_class }} "></i>{{ service.name }}</h3>
{% if service.detail_page_image %}
<img src="{{ service.detail_page_image.url }}" style="border-radius:10px;" alt="service">
{% endif %}
<h3><i class="{{ service.fontawesome_icon_class }} "></i>{{ service.name }}
</h3>
{{ service.detail_page_description|safe }}
</div>
</div>
<div class="col-lg-4">
<div class="sidebar-widget">
<h4>Other Services</h4>
<ul class="category">
{% for service in services %}
<li><a href="{% url "serviceDetail" service.slug %}">{{ service.name }}<i class="bi bi-arrow-right"></i></a></li>
{% endfor %}
</ul>
</div>
{% if settings.show_call_now_widget %}
{% if service.show_call_now_widget %}
<div class="sidebar-banner">
<img src="{% static 'front/assets/img/widget-banner-bg.jpg' %}" alt>
<div class="banner-inner">
<h3>Any Project <span>Call Now.</span>
<img class="angle" src="{% static 'front/assets/img/arrow-angle.png' %}" alt>
</h3>
<a href="tel:{{settings.phone}}">{{settings.phone}}</a>
</div>
</div>
{% endif %}
{% endif %}
</div>
<div class="col-lg-4">
<div class="sidebar-widget">
<h4>Other Services</h4>
<ul class="category">
{% for service in services %}
<li><a href="{% url "serviceDetail" service.slug %}">{{ service.name }}<i class="bi bi-arrow-right"></i></a></li>
{% endfor %}
</ul>
</div>
</div>
</div>
</section>
</div>
</section>
{% endblock %}

10
templates/front/main/product.html Normal file → Executable file
View File

@@ -5,15 +5,7 @@
{% block title2 %} {{meta.meta_title}} - {{seo_settings.tag_line}} {% endblock title2 %}
{% block content %}
<main class="creasoft-wrap layout2">
<div class="line_wrap layout2">
<div class="line_item"></div>
<div class="line_item"></div>
<div class="line_item"></div>
<div class="line_item"></div>
<div class="line_item"></div>
</div>
<main class="sectionblock-wrap layout2">
<!--====================== background Section======================-->
<div id="particles-js" class="particles-cls"></div>

11
templates/front/main/service.html Normal file → Executable file
View File

@@ -5,16 +5,9 @@
{% block title2 %} {{meta.meta_title}} - {{seo_settings.tag_line}} {% endblock title2 %}
{% block content %}
<main class="creasoft-wrap layout2">
<main class="sectionblock-wrap layout2">
<div class="line_wrap layout2">
<div class="line_item"></div>
<div class="line_item"></div>
<div class="line_item"></div>
<div class="line_item"></div>
<div class="line_item"></div>
</div>
<!--====================== background Section======================-->
<div id="particles-js" class="particles-cls"></div>
<!--====================== =============== ======================-->