aboutsummaryrefslogtreecommitdiff
path: root/ExamTemplate/Web/ExamTemplate.Web/Views
diff options
context:
space:
mode:
Diffstat (limited to 'ExamTemplate/Web/ExamTemplate.Web/Views')
-rw-r--r--ExamTemplate/Web/ExamTemplate.Web/Views/Account/Edit.cshtml20
-rw-r--r--ExamTemplate/Web/ExamTemplate.Web/Views/Account/Login.cshtml23
-rw-r--r--ExamTemplate/Web/ExamTemplate.Web/Views/Account/Profile.cshtml33
-rw-r--r--ExamTemplate/Web/ExamTemplate.Web/Views/Account/Register.cshtml27
-rw-r--r--ExamTemplate/Web/ExamTemplate.Web/Views/Home/Index.cshtml8
-rw-r--r--ExamTemplate/Web/ExamTemplate.Web/Views/Shared/Error.cshtml25
-rw-r--r--ExamTemplate/Web/ExamTemplate.Web/Views/Shared/ErrorNotFound.cshtml10
-rw-r--r--ExamTemplate/Web/ExamTemplate.Web/Views/Shared/_FooterContent.cshtml8
-rw-r--r--ExamTemplate/Web/ExamTemplate.Web/Views/Shared/_Layout.cshtml25
-rw-r--r--ExamTemplate/Web/ExamTemplate.Web/Views/Shared/_Navbar.cshtml31
-rw-r--r--ExamTemplate/Web/ExamTemplate.Web/Views/_ViewImports.cshtml5
-rw-r--r--ExamTemplate/Web/ExamTemplate.Web/Views/_ViewStart.cshtml3
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";
+}