Split Index into partials
This commit is contained in:
parent
e922edc785
commit
69deeefae8
@ -1,175 +1,12 @@
|
||||
@model IQueryable<MyDarling.Models.UnderwearBundle>;
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||
@using System.Globalization;
|
||||
|
||||
@{
|
||||
Layout = "_Layout";
|
||||
}
|
||||
<nav class="navbar navbar-expand-lg navbar-dark fixed-top" id="mainNav">
|
||||
<div class="container px-4 px-lg-5">
|
||||
<a class="navbar-brand" href="#page-top"><img height="40" src="/assets/img/logo.svg"></a>
|
||||
<button class="navbar-toggler navbar-toggler-right" type="button" data-bs-toggle="collapse"
|
||||
data-bs-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false"
|
||||
aria-label="Toggle navigation">
|
||||
Меню
|
||||
<i class="fas fa-bars"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||
<ul class="navbar-nav ms-auto">
|
||||
<li class="nav-item"><a class="nav-link" href="#about">О нас</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#projects">Комплекты</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#signup">Заказать</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<!-- Masthead-->
|
||||
<section class="masthead">
|
||||
<div class="container px-4 px-lg-5 d-flex h-100 align-items-center justify-content-center">
|
||||
<div class="d-flex justify-content-center">
|
||||
<div class="text-center">
|
||||
<img class="mx-auto my-0" height="140" src="/assets/img/logo.svg" />
|
||||
<h2 class="text-white-50 mx-auto mt-2 mb-5">Нижнее бельё ручной работы по индивидуальным меркам</h2>
|
||||
<a class="btn btn-primary" href="#about">Узнать больше</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- About-->
|
||||
<section class="about-section text-center" id="about">
|
||||
<div class="container px-4 px-lg-5">
|
||||
<div class="row gx-4 gx-lg-5 justify-content-center">
|
||||
<div class="col-lg-8">
|
||||
<h2 class="text-white mb-4">Built with Bootstrap 5</h2>
|
||||
<p class="text-white-50">
|
||||
Grayscale is a free Bootstrap theme created by Start Bootstrap. It can be yours right now,
|
||||
simply download the template on
|
||||
<a href="https://startbootstrap.com/theme/grayscale/">the preview page.</a>
|
||||
The theme is open source, and you can use it for any purpose, personal or commercial.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<img class="img-fluid" src="assets/img/ipad.png" alt="..." />
|
||||
</div>
|
||||
</section>
|
||||
<!-- Projects-->
|
||||
<section class="projects-section bg-light" id="projects">
|
||||
<div class="container px-3 px-lg-4 mt-4">
|
||||
<div class="row gx-4 gx-lg-5 row-cols-2 row-cols-md-3 row-cols-xl-4 justify-content-center">
|
||||
@foreach (var bundle in @Model)
|
||||
{
|
||||
<div class="col mb-5">
|
||||
<div class="card h-100">
|
||||
<a data-src="@bundle.Figures.FirstOrDefault()?.FilePath" data-fancybox="@bundle.Id"
|
||||
data-caption="@bundle.Description"><img class="card-img-top"
|
||||
src="@bundle.Figures.FirstOrDefault()?.FilePath" alt="@bundle.Name" /></a>
|
||||
@for (int i = 1; i < @bundle.Figures.Count(); i++)
|
||||
{
|
||||
<a data-src="@bundle.Figures[i].FilePath" data-fancybox="@bundle.Id"></a>
|
||||
}
|
||||
<div class="card-body p-4">
|
||||
<div class="text-center">
|
||||
<h5 class="fw-bolder">@bundle.Name</h5>
|
||||
@String.Format(new CultureInfo("ru-RU"), "{0:C0}", @bundle.Price)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Signup-->
|
||||
<section class="signup-section" id="signup">
|
||||
<div class="container px-4 px-lg-5">
|
||||
<div class="row gx-4 gx-lg-5">
|
||||
<div class="col-md-10 col-lg-8 mx-auto text-center">
|
||||
<i class="far fa-paper-plane fa-2x mb-2 text-white"></i>
|
||||
<h2 class="text-white mb-5">Subscribe to receive updates!</h2>
|
||||
<!-- * * * * * * * * * * * * * * *-->
|
||||
<!-- * * SB Forms Contact Form * *-->
|
||||
<!-- * * * * * * * * * * * * * * *-->
|
||||
<!-- This form is pre-integrated with SB Forms.-->
|
||||
<!-- To make this form functional, sign up at-->
|
||||
<!-- https://startbootstrap.com/solution/contact-forms-->
|
||||
<!-- to get an API token!-->
|
||||
<form class="form-signup" id="contactForm" data-sb-form-api-token="API_TOKEN">
|
||||
<!-- Email address input-->
|
||||
<div class="row input-group-newsletter">
|
||||
<div class="col"><input class="form-control" id="emailAddress" type="email"
|
||||
placeholder="Enter email address..." aria-label="Enter email address..."
|
||||
data-sb-validations="required,email" /></div>
|
||||
<div class="col-auto"><button class="btn btn-primary disabled" id="submitButton"
|
||||
type="submit">Notify Me!</button></div>
|
||||
</div>
|
||||
<div class="invalid-feedback mt-2" data-sb-feedback="emailAddress:required">An email is
|
||||
required.</div>
|
||||
<div class="invalid-feedback mt-2" data-sb-feedback="emailAddress:email">Email is not valid.
|
||||
</div>
|
||||
<!-- Submit success message-->
|
||||
<!---->
|
||||
<!-- This is what your users will see when the form-->
|
||||
<!-- has successfully submitted-->
|
||||
<div class="d-none" id="submitSuccessMessage">
|
||||
<div class="text-center mb-3 mt-2 text-white">
|
||||
<div class="fw-bolder">Form submission successful!</div>
|
||||
To activate this form, sign up at
|
||||
<br />
|
||||
<a
|
||||
href="https://startbootstrap.com/solution/contact-forms">https://startbootstrap.com/solution/contact-forms</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Submit error message-->
|
||||
<!---->
|
||||
<!-- This is what your users will see when there is-->
|
||||
<!-- an error submitting the form-->
|
||||
<div class="d-none" id="submitErrorMessage">
|
||||
<div class="text-center text-danger mb-3 mt-2">Error sending message!</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Contact-->
|
||||
<section class="contact-section bg-black">
|
||||
<div class="container px-4 px-lg-5">
|
||||
<div class="row gx-4 gx-lg-5">
|
||||
<div class="col-md-4 mb-3 mb-md-0">
|
||||
<div class="card py-4 h-100">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-map-marked-alt text-primary mb-2"></i>
|
||||
<h4 class="text-uppercase m-0">Address</h4>
|
||||
<hr class="my-4 mx-auto" />
|
||||
<div class="small text-black-50">4923 Market Street, Orlando FL</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 mb-3 mb-md-0">
|
||||
<div class="card py-4 h-100">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-envelope text-primary mb-2"></i>
|
||||
<h4 class="text-uppercase m-0">Email</h4>
|
||||
<hr class="my-4 mx-auto" />
|
||||
<div class="small text-black-50"><a href="#!">hello@yourdomain.com</a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 mb-3 mb-md-0">
|
||||
<div class="card py-4 h-100">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-mobile-alt text-primary mb-2"></i>
|
||||
<h4 class="text-uppercase m-0">Phone</h4>
|
||||
<hr class="my-4 mx-auto" />
|
||||
<div class="small text-black-50">+1 (555) 902-8832</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="social d-flex justify-content-center">
|
||||
<a class="mx-2" href="#!"><i class="fab fa-twitter"></i></a>
|
||||
<a class="mx-2" href="#!"><i class="fab fa-facebook-f"></i></a>
|
||||
<a class="mx-2" href="#!"><i class="fab fa-github"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<partial name="_Navigation" />
|
||||
<partial name="_Masthead" />
|
||||
<partial name="_About" />
|
||||
<partial name="_Projects" />
|
||||
<partial name="_SignUp" />
|
||||
<partial name="_Contact" />
|
16
Views/Home/_About.cshtml
Normal file
16
Views/Home/_About.cshtml
Normal file
@ -0,0 +1,16 @@
|
||||
<section class="about-section text-center" id="about">
|
||||
<div class="container px-4 px-lg-5">
|
||||
<div class="row gx-4 gx-lg-5 justify-content-center">
|
||||
<div class="col-lg-8">
|
||||
<h2 class="text-white mb-4">Built with Bootstrap 5</h2>
|
||||
<p class="text-white-50">
|
||||
Grayscale is a free Bootstrap theme created by Start Bootstrap. It can be yours right now,
|
||||
simply download the template on
|
||||
<a href="https://startbootstrap.com/theme/grayscale/">the preview page.</a>
|
||||
The theme is open source, and you can use it for any purpose, personal or commercial.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<img class="img-fluid" src="assets/img/ipad.png" alt="..." />
|
||||
</div>
|
||||
</section>
|
41
Views/Home/_Contact.cshtml
Normal file
41
Views/Home/_Contact.cshtml
Normal file
@ -0,0 +1,41 @@
|
||||
<section class="contact-section bg-black">
|
||||
<div class="container px-4 px-lg-5">
|
||||
<div class="row gx-4 gx-lg-5">
|
||||
<div class="col-md-4 mb-3 mb-md-0">
|
||||
<div class="card py-4 h-100">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-map-marked-alt text-primary mb-2"></i>
|
||||
<h4 class="text-uppercase m-0">Address</h4>
|
||||
<hr class="my-4 mx-auto" />
|
||||
<div class="small text-black-50">4923 Market Street, Orlando FL</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 mb-3 mb-md-0">
|
||||
<div class="card py-4 h-100">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-envelope text-primary mb-2"></i>
|
||||
<h4 class="text-uppercase m-0">Email</h4>
|
||||
<hr class="my-4 mx-auto" />
|
||||
<div class="small text-black-50"><a href="#!">hello@yourdomain.com</a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 mb-3 mb-md-0">
|
||||
<div class="card py-4 h-100">
|
||||
<div class="card-body text-center">
|
||||
<i class="fas fa-mobile-alt text-primary mb-2"></i>
|
||||
<h4 class="text-uppercase m-0">Phone</h4>
|
||||
<hr class="my-4 mx-auto" />
|
||||
<div class="small text-black-50">+1 (555) 902-8832</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="social d-flex justify-content-center">
|
||||
<a class="mx-2" href="#!"><i class="fab fa-twitter"></i></a>
|
||||
<a class="mx-2" href="#!"><i class="fab fa-facebook-f"></i></a>
|
||||
<a class="mx-2" href="#!"><i class="fab fa-github"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
11
Views/Home/_Masthead.cshtml
Normal file
11
Views/Home/_Masthead.cshtml
Normal file
@ -0,0 +1,11 @@
|
||||
<section class="masthead">
|
||||
<div class="container px-4 px-lg-5 d-flex h-100 align-items-center justify-content-center">
|
||||
<div class="d-flex justify-content-center">
|
||||
<div class="text-center">
|
||||
<img class="mx-auto my-0" height="140" src="/assets/img/logo.svg" />
|
||||
<h2 class="text-white-50 mx-auto mt-2 mb-5">Нижнее бельё ручной работы по индивидуальным меркам</h2>
|
||||
<a class="btn btn-primary" href="#about">Узнать больше</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
18
Views/Home/_Navigation.cshtml
Normal file
18
Views/Home/_Navigation.cshtml
Normal file
@ -0,0 +1,18 @@
|
||||
<nav class="navbar navbar-expand-lg navbar-dark fixed-top" id="mainNav">
|
||||
<div class="container px-4 px-lg-5">
|
||||
<a class="navbar-brand" href="#page-top"><img height="40" src="/assets/img/logo.svg"></a>
|
||||
<button class="navbar-toggler navbar-toggler-right" type="button" data-bs-toggle="collapse"
|
||||
data-bs-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false"
|
||||
aria-label="Toggle navigation">
|
||||
Меню
|
||||
<i class="fas fa-bars"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navbarResponsive">
|
||||
<ul class="navbar-nav ms-auto">
|
||||
<li class="nav-item"><a class="nav-link" href="#about">О нас</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#projects">Комплекты</a></li>
|
||||
<li class="nav-item"><a class="nav-link" href="#signup">Заказать</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
29
Views/Home/_Projects.cshtml
Normal file
29
Views/Home/_Projects.cshtml
Normal file
@ -0,0 +1,29 @@
|
||||
@model IQueryable<MyDarling.Models.UnderwearBundle>;
|
||||
@using System.Globalization;
|
||||
|
||||
<section class="projects-section bg-light" id="projects">
|
||||
<div class="container px-3 px-lg-4 mt-4">
|
||||
<div class="row gx-4 gx-lg-5 row-cols-2 row-cols-md-3 row-cols-xl-4 justify-content-center">
|
||||
@foreach (var bundle in @Model)
|
||||
{
|
||||
<div class="col mb-5">
|
||||
<div class="card h-100">
|
||||
<a data-src="@bundle.Figures.FirstOrDefault()?.FilePath" data-fancybox="@bundle.Id"
|
||||
data-caption="@bundle.Description"><img class="card-img-top"
|
||||
src="@bundle.Figures.FirstOrDefault()?.FilePath" alt="@bundle.Name" /></a>
|
||||
@for (int i = 1; i < @bundle.Figures.Count(); i++)
|
||||
{
|
||||
<a data-src="@bundle.Figures[i].FilePath" data-fancybox="@bundle.Id"></a>
|
||||
}
|
||||
<div class="card-body p-4">
|
||||
<div class="text-center">
|
||||
<h5 class="fw-bolder">@bundle.Name</h5>
|
||||
@String.Format(new CultureInfo("ru-RU"), "{0:C0}", @bundle.Price)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
51
Views/Home/_SignUp.cshtml
Normal file
51
Views/Home/_SignUp.cshtml
Normal file
@ -0,0 +1,51 @@
|
||||
<section class="signup-section" id="signup">
|
||||
<div class="container px-4 px-lg-5">
|
||||
<div class="row gx-4 gx-lg-5">
|
||||
<div class="col-md-10 col-lg-8 mx-auto text-center">
|
||||
<i class="far fa-paper-plane fa-2x mb-2 text-white"></i>
|
||||
<h2 class="text-white mb-5">Subscribe to receive updates!</h2>
|
||||
<!-- * * * * * * * * * * * * * * *-->
|
||||
<!-- * * SB Forms Contact Form * *-->
|
||||
<!-- * * * * * * * * * * * * * * *-->
|
||||
<!-- This form is pre-integrated with SB Forms.-->
|
||||
<!-- To make this form functional, sign up at-->
|
||||
<!-- https://startbootstrap.com/solution/contact-forms-->
|
||||
<!-- to get an API token!-->
|
||||
<form class="form-signup" id="contactForm" data-sb-form-api-token="API_TOKEN">
|
||||
<!-- Email address input-->
|
||||
<div class="row input-group-newsletter">
|
||||
<div class="col"><input class="form-control" id="emailAddress" type="email"
|
||||
placeholder="Enter email address..." aria-label="Enter email address..."
|
||||
data-sb-validations="required,email" /></div>
|
||||
<div class="col-auto"><button class="btn btn-primary disabled" id="submitButton"
|
||||
type="submit">Notify Me!</button></div>
|
||||
</div>
|
||||
<div class="invalid-feedback mt-2" data-sb-feedback="emailAddress:required">An email is
|
||||
required.</div>
|
||||
<div class="invalid-feedback mt-2" data-sb-feedback="emailAddress:email">Email is not valid.
|
||||
</div>
|
||||
<!-- Submit success message-->
|
||||
<!---->
|
||||
<!-- This is what your users will see when the form-->
|
||||
<!-- has successfully submitted-->
|
||||
<div class="d-none" id="submitSuccessMessage">
|
||||
<div class="text-center mb-3 mt-2 text-white">
|
||||
<div class="fw-bolder">Form submission successful!</div>
|
||||
To activate this form, sign up at
|
||||
<br />
|
||||
<a
|
||||
href="https://startbootstrap.com/solution/contact-forms">https://startbootstrap.com/solution/contact-forms</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Submit error message-->
|
||||
<!---->
|
||||
<!-- This is what your users will see when there is-->
|
||||
<!-- an error submitting the form-->
|
||||
<div class="d-none" id="submitErrorMessage">
|
||||
<div class="text-center text-danger mb-3 mt-2">Error sending message!</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
Loading…
Reference in New Issue
Block a user