diff options
| author | Syndamia <kamen.d.mladenov@protonmail.com> | 2021-05-15 22:20:53 +0300 |
|---|---|---|
| committer | Syndamia <kamen.d.mladenov@protonmail.com> | 2021-05-15 22:20:53 +0300 |
| commit | f35a7aecd313547a6f6478a056fb2d5593f1c07b (patch) | |
| tree | 4473c30a5b51591d79f627b7518f8c9e15787cbf /ExamTemplate/Web/ExamTemplate.Web/Views | |
| parent | 2ac139d0854c0f6d1b4cebc1487dd41128f00c60 (diff) | |
| download | it-kariera-exam-template-f35a7aecd313547a6f6478a056fb2d5593f1c07b.tar it-kariera-exam-template-f35a7aecd313547a6f6478a056fb2d5593f1c07b.tar.gz it-kariera-exam-template-f35a7aecd313547a6f6478a056fb2d5593f1c07b.zip | |
Big daddy refactor
Diffstat (limited to 'ExamTemplate/Web/ExamTemplate.Web/Views')
12 files changed, 218 insertions, 0 deletions
diff --git a/ExamTemplate/Web/ExamTemplate.Web/Views/Account/Edit.cshtml b/ExamTemplate/Web/ExamTemplate.Web/Views/Account/Edit.cshtml new file mode 100644 index 0000000..a088742 --- /dev/null +++ b/ExamTemplate/Web/ExamTemplate.Web/Views/Account/Edit.cshtml @@ -0,0 +1,20 @@ +@model EditUserWebModel +@{ + ViewData["Title"] = "Edit Profile"; +} + +<form asp-controller="Account" asp-action="Edit" method="post"> + <label asp-for="Username">Username:</label> + <input type="text" asp-for="Username" placeholder="@Model.Username"> + <span asp-validation-for="Username" class="form-error"></span> + + <label asp-for="FirstName">First Name:</label> + <input type="text" asp-for="FirstName" placeholder="@Model.FirstName"> + <span asp-validation-for="FirstName" class="form-error"></span> + + <label asp-for="LastName">Last Name:</label> + <input type="text" asp-for="LastName" placeholder="@Model.LastName"> + <span asp-validation-for="LastName" class="form-error"></span> + + <input type="submit" value="Update Profile"> +</form> diff --git a/ExamTemplate/Web/ExamTemplate.Web/Views/Account/Login.cshtml b/ExamTemplate/Web/ExamTemplate.Web/Views/Account/Login.cshtml new file mode 100644 index 0000000..daa3f3e --- /dev/null +++ b/ExamTemplate/Web/ExamTemplate.Web/Views/Account/Login.cshtml @@ -0,0 +1,23 @@ +@model LoginUserWebModel +@{ + ViewData["Title"] = "Login"; +} + +<form asp-controller="Account" asp-action="Login" method="post"> + <input type="text" asp-for="Username" placeholder="Username"> + <span asp-validation-for="Username" class="form-error"></span> + + <input type="password" asp-for="Password" placeholder="Password"> + <span asp-validation-for="Password" class="form-error"></span> + + <input type="submit"> + + @if (Model != null) + { + <p class="form-error"> + Invalid credentials or account doesn't exist! + </p> + } +</form> + + diff --git a/ExamTemplate/Web/ExamTemplate.Web/Views/Account/Profile.cshtml b/ExamTemplate/Web/ExamTemplate.Web/Views/Account/Profile.cshtml new file mode 100644 index 0000000..33fc882 --- /dev/null +++ b/ExamTemplate/Web/ExamTemplate.Web/Views/Account/Profile.cshtml @@ -0,0 +1,33 @@ +@using Microsoft.AspNetCore.Identity + +@inject SignInManager<User> SignInManager +@inject UserManager<User> UserManager + +@model UserWebModel +@{ + ViewData["Title"] = Model.Username + "'s Profile"; +} + +<p> + <h2> + @Model.FirstName @Model.LastName + </h2> + <div> + @Model.Username + </div> + @if (SignInManager.IsSignedIn(User)) + { + @if(UserManager.GetUserName(User) == Model.Username) + { + <br> + + <form asp-controller="Account" asp-action="Edit" method="get"> + <input type="submit" value="Edit Profile"> + </form> + + <form asp-controller="Account" asp-action="Delete" method="post"> + <input type="submit" value="Delete Profile"> + </form> + } + } +</p> diff --git a/ExamTemplate/Web/ExamTemplate.Web/Views/Account/Register.cshtml b/ExamTemplate/Web/ExamTemplate.Web/Views/Account/Register.cshtml new file mode 100644 index 0000000..e436d72 --- /dev/null +++ b/ExamTemplate/Web/ExamTemplate.Web/Views/Account/Register.cshtml @@ -0,0 +1,27 @@ +@model RegisterUserWebModel +@{ + ViewData["Title"] = "Register"; +} + +<form asp-controller="Account" asp-action="Register" method="post"> + <input type="text" asp-for="FirstName" placeholder="FirstName"> + <span asp-validation-for="FirstName" class="form-error"></span> + + <input type="text" asp-for="LastName" placeholder="LastName"> + <span asp-validation-for="LastName" class="form-error"></span> + + <input type="text" asp-for="Username" placeholder="Username"> + <span asp-validation-for="Username" class="form-error"></span> + + <input type="password" asp-for="Password" placeholder="Password"> + <span asp-validation-for="Password" class="form-error"></span> + + <input type="submit"> + + @if (Model != null) + { + <p class="form-error"> + Couldn't register account! + </p> + } +</form> diff --git a/ExamTemplate/Web/ExamTemplate.Web/Views/Home/Index.cshtml b/ExamTemplate/Web/ExamTemplate.Web/Views/Home/Index.cshtml new file mode 100644 index 0000000..56ea950 --- /dev/null +++ b/ExamTemplate/Web/ExamTemplate.Web/Views/Home/Index.cshtml @@ -0,0 +1,8 @@ +@{
+ ViewData["Title"] = "Home";
+}
+
+<div class="text-center">
+ <h1 class="display-4">Welcome</h1>
+ <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
+</div>
diff --git a/ExamTemplate/Web/ExamTemplate.Web/Views/Shared/Error.cshtml b/ExamTemplate/Web/ExamTemplate.Web/Views/Shared/Error.cshtml new file mode 100644 index 0000000..5a7ce95 --- /dev/null +++ b/ExamTemplate/Web/ExamTemplate.Web/Views/Shared/Error.cshtml @@ -0,0 +1,25 @@ +@model ErrorViewModel
+@{
+ ViewData["Title"] = "Error";
+}
+
+<h1 class="text-danger">Error.</h1>
+<h2 class="text-danger">An error occurred while processing your request.</h2>
+
+@if (Model.ShowRequestId)
+{
+ <p>
+ <strong>Request ID:</strong> <code>@Model.RequestId</code>
+ </p>
+}
+
+<h3>Development Mode</h3>
+<p>
+ Swapping to <strong>Development</strong> environment will display more detailed information about the error that occurred.
+</p>
+<p>
+ <strong>The Development environment shouldn't be enabled for deployed applications.</strong>
+ It can result in displaying sensitive information from exceptions to end users.
+ For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
+ and restarting the app.
+</p>
diff --git a/ExamTemplate/Web/ExamTemplate.Web/Views/Shared/ErrorNotFound.cshtml b/ExamTemplate/Web/ExamTemplate.Web/Views/Shared/ErrorNotFound.cshtml new file mode 100644 index 0000000..39fc5ca --- /dev/null +++ b/ExamTemplate/Web/ExamTemplate.Web/Views/Shared/ErrorNotFound.cshtml @@ -0,0 +1,10 @@ +@{ + ViewData["Title"] = "404: Not found!"; +} + +<h2> + 404: Not found! +</h2> +<p> + The page you're looking for couldn't be found! +</p> diff --git a/ExamTemplate/Web/ExamTemplate.Web/Views/Shared/_FooterContent.cshtml b/ExamTemplate/Web/ExamTemplate.Web/Views/Shared/_FooterContent.cshtml new file mode 100644 index 0000000..60a21aa --- /dev/null +++ b/ExamTemplate/Web/ExamTemplate.Web/Views/Shared/_FooterContent.cshtml @@ -0,0 +1,8 @@ +<div class="border-top box-shadow"> + <div class="footer-content middle-content-container"> + <section> + IT-kariera ExamTemplate - 2021 + </section> + <div class="flex-spacer"></div> + </div> +</div> diff --git a/ExamTemplate/Web/ExamTemplate.Web/Views/Shared/_Layout.cshtml b/ExamTemplate/Web/ExamTemplate.Web/Views/Shared/_Layout.cshtml new file mode 100644 index 0000000..dd7bf82 --- /dev/null +++ b/ExamTemplate/Web/ExamTemplate.Web/Views/Shared/_Layout.cshtml @@ -0,0 +1,25 @@ +<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>@ViewData["Title"]</title>
+ <link rel="stylesheet" href="~/css/site.css" />
+ <link rel="stylesheet" href="~/css/styles.css" />
+</head>
+<body>
+ <header>
+ <partial name="_Navbar.cshtml" />
+ </header>
+
+ <main class="main">
+ <div class="middle-content-container">
+ @RenderBody()
+ </div>
+ </main>
+
+ <footer class="border-top box-shadow">
+ <partial name="_FooterContent.cshtml" />
+ </footer>
+</body>
+</html>
diff --git a/ExamTemplate/Web/ExamTemplate.Web/Views/Shared/_Navbar.cshtml b/ExamTemplate/Web/ExamTemplate.Web/Views/Shared/_Navbar.cshtml new file mode 100644 index 0000000..0ec5c4d --- /dev/null +++ b/ExamTemplate/Web/ExamTemplate.Web/Views/Shared/_Navbar.cshtml @@ -0,0 +1,31 @@ +@using Microsoft.AspNetCore.Identity + +@inject SignInManager<User> SignInManager +@inject UserManager<User> UserManager + +<nav class="navbar border-bottom box-shadow"> + <div class="middle-content-container navbar-contents"> + <section> + <b>ExamTemplate</b> + <a asp-controller="Home" asp-action="Index">Home</a> + </section> + <div class="flex-spacer"></div> + <section> + @if (SignInManager.IsSignedIn(User)) + { + <a asp-controller="Account" asp-action="Profile" asp-route-username="@UserManager.GetUserName(User)"> + @UserManager.GetUserName(User) + </a> + + <form asp-controller="Account" asp-action="Logout" method="post"> + <input type="submit" value="Logout"> + </form> + } + else + { + <a asp-controller="Account" asp-action="Login">Login</a> + <a asp-controller="Account" asp-action="Register">Register</a> + } + </section> + </div> +</nav> diff --git a/ExamTemplate/Web/ExamTemplate.Web/Views/_ViewImports.cshtml b/ExamTemplate/Web/ExamTemplate.Web/Views/_ViewImports.cshtml new file mode 100644 index 0000000..18502e4 --- /dev/null +++ b/ExamTemplate/Web/ExamTemplate.Web/Views/_ViewImports.cshtml @@ -0,0 +1,5 @@ +@using ExamTemplate.Web
+@using ExamTemplate.Web.Models
+@using ExamTemplate.Web.Models.User
+@using ExamTemplate.Data.Models
+@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
diff --git a/ExamTemplate/Web/ExamTemplate.Web/Views/_ViewStart.cshtml b/ExamTemplate/Web/ExamTemplate.Web/Views/_ViewStart.cshtml new file mode 100644 index 0000000..3a04d05 --- /dev/null +++ b/ExamTemplate/Web/ExamTemplate.Web/Views/_ViewStart.cshtml @@ -0,0 +1,3 @@ +@{
+ Layout = "_Layout";
+}
|
