diff options
Diffstat (limited to 'src/Pages/Shared')
| -rw-r--r-- | src/Pages/Shared/_Layout.cshtml | 59 | ||||
| -rw-r--r-- | src/Pages/Shared/_Scripts.cshtml | 23 | ||||
| -rw-r--r-- | src/Pages/Shared/_Sidebar.cshtml | 32 | ||||
| -rw-r--r-- | src/Pages/Shared/_Stylesheets.cshtml | 15 | ||||
| -rw-r--r-- | src/Pages/Shared/_Templates.cshtml | 210 | ||||
| -rw-r--r-- | src/Pages/Shared/_TopNavbar.cshtml | 30 |
6 files changed, 369 insertions, 0 deletions
diff --git a/src/Pages/Shared/_Layout.cshtml b/src/Pages/Shared/_Layout.cshtml new file mode 100644 index 0000000..e59dedd --- /dev/null +++ b/src/Pages/Shared/_Layout.cshtml @@ -0,0 +1,59 @@ +<!DOCTYPE html> +<html lang="no"> +<head> + <meta charset="utf-8" /> + <meta content="width=device-width, initial-scale=1.0" + name="viewport" /> + <partial name="_Stylesheets" /> + @RenderSection("Head", required: false) + <title>@ViewData["Title"] - Reservasjonstjeneste</title> +</head> +<body class="pusher pusable"> +<partial name="_Sidebar" /> +<partial name="_TopNavbar" /> +<main class="pusher main-content"> + @RenderBody() +</main> +<aside class="ui small modal" + id="profile-settings-modal"> + <div class="content"> + <form class="ui form" + id="edit-profile-form" + onsubmit="return false"> + <div class="field"> + <label for="password">Nytt passord</label> + <div class="ui left icon input"> + <i class="lock icon"></i> + <input autocomplete="new-password" + id="password" + minlength="6" + name="password" + placeholder="Passord" + required + type="password"> + </div> + </div> + <div class="field"> + <label for="password-again">Gjenta passord</label> + <div class="ui left icon input"> + <i class="lock icon"></i> + <input autocomplete="new-password" + id="password-again" + minlength="6" + name="password-again" + placeholder="Gjenta passord" + required + type="password"> + </div> + </div> + <div class="field"> + <button class="ui positive button">Lagre</button> + </div> + </form> + </div> +</aside> +<partial name="_Templates" /> +<partial name="_Scripts" /> +@RenderSection("Scripts", required: false) +</body> +</html> diff --git a/src/Pages/Shared/_Scripts.cshtml b/src/Pages/Shared/_Scripts.cshtml new file mode 100644 index 0000000..121f9db --- /dev/null +++ b/src/Pages/Shared/_Scripts.cshtml @@ -0,0 +1,23 @@ +<script asp-append-version="true" + asp-fallback-src="//code.jquery.com/jquery-3.4.1.min.js" + src="~/libraries/jquery/dist/jquery.min.js"></script> +<script asp-append-version="true" + src="~/libraries/kendo/kendo.all.min.js"></script> +<script asp-append-version="true" + src="~/libraries/fomantic/dist/semantic.min.js"></script> +<script asp-append-version="true" + src="~/libraries/kendo/kendo.messages.nb-NO.min.js"></script> +<script asp-append-version="true" + src="~/libraries/kendo/kendo.culture.no.min.js"></script> +<script asp-append-version="true" + src="~/libraries/jquery-pjax/jquery.pjax.js"></script> +<script asp-append-version="true" + src="~/libraries/jquery-steps/jquery.steps.min.js"></script> +<script asp-append-version="true" + src="~/scripts/base.js"></script> +<script asp-append-version="true" + src="~/scripts/prototypes.js"></script> +<script asp-append-version="true" + src="~/scripts/utils.js"></script> +<script asp-append-version="true" + src="~/scripts/index.js"></script> diff --git a/src/Pages/Shared/_Sidebar.cshtml b/src/Pages/Shared/_Sidebar.cshtml new file mode 100644 index 0000000..b708daa --- /dev/null +++ b/src/Pages/Shared/_Sidebar.cshtml @@ -0,0 +1,32 @@ +<!-- Sidebar --> +<nav class="ui sidebar vertical labeled icon menu" + id="sidebar"> + <a class="item" + href="/app"> + <i class="icon far fa-home"></i> + Hjem + </a> + <a class="item" + href="/app/info"> + <i class="icon far fa-info-circle"></i> + Informasjon + </a> + @if (User.IsInRole("Administrator")) + { + <a class="item" + href="/app/users"> + <i class="icon far fa-users"></i> + Brukere + </a> + <a class="item" + href="/app/reservations"> + <i class="icon far fa-clipboard-list"></i> + Reservasjoner + </a> + <a class="item" + href="/app/cabins"> + <i class="icon far fa-hotel"></i> + Hytter + </a> + } +</nav> diff --git a/src/Pages/Shared/_Stylesheets.cshtml b/src/Pages/Shared/_Stylesheets.cshtml new file mode 100644 index 0000000..0b506c3 --- /dev/null +++ b/src/Pages/Shared/_Stylesheets.cshtml @@ -0,0 +1,15 @@ +<link asp-append-version="true" + href="~/libraries/fomantic/dist/semantic.min.css" + rel="stylesheet"> +<link asp-append-version="true" + href="~/libraries/kendo/kendo.material-v2.min.css" + rel="stylesheet"> +<link asp-append-version="true" + href="~/libraries/fontawesome/css/fontawesome.min.css" + rel="stylesheet"> +<link asp-append-version="true" + href="~/libraries/fontawesome/css/regular.min.css" + rel="stylesheet"> +<link asp-append-version="true" + href="~/styles/index.css" + rel="stylesheet"> diff --git a/src/Pages/Shared/_Templates.cshtml b/src/Pages/Shared/_Templates.cshtml new file mode 100644 index 0000000..b153a1e --- /dev/null +++ b/src/Pages/Shared/_Templates.cshtml @@ -0,0 +1,210 @@ +@using IOL.Fagprove.Data +<div style="display: none"> + <script id="editCabinInfoModalTemplate" + type="text/x-kendo-template"> +<i class="close icon"></i> +<div class="header"> + Rediger #= data.name # +</div> +<div class="content"> + <form class="ui form" + id="editCabinForm" + onsubmit="return false"> + <input type="hidden" name="id" id="id" value="#= data.id #"> + <div class="two fields"> + <div class="field required"> + <label for="name">Navn</label> + <input id="name" + name="name" + required + value="#= data.name #" + type="text"> + </div> + <div class="field"> + <label for="categoryId">Hyttefelt</label> + <select class="ui selection dropdown" + id="categoryId" + name="categoryId"> + @foreach (var field in StaticData.CabinFields) + { + <option value="@field.Id">@field.Name</option> + } + </select> + </div> + </div> + <div class="two fields"> + <div class="field"> + <label for="price">Pris pr. natt</label> + <input id="price" + name="price" + value="#= data.price #" + type="text"> + </div> + <div class="field"> + <label for="capacity">Sengeplasser</label> + <input id="capacity" + name="capacity" + value="#= data.capacity #" + type="number"> + </div> + </div> + <div class="field"> + <label for="description">Beskrivelse</label> + <textarea id="description" + name="description" + type="text">#= data.description #</textarea> + </div> + </form> +</div> +<div class="actions"> + <div class="ui black deny button"> + Avbryt + </div> + <div class="ui green right labeled icon button" + id="submitEditCabinForm"> + Oppdater + <i class="checkmark icon"></i> + </div> +</div> + </script> + + <script id="newCabinInfoModalTemplate" + type="text/x-kendo-template"> +<i class="close icon"></i> +<div class="header"> + Ny hytte +</div> +<div class="content"> + <form class="ui form" + id="newCabinForm" + onsubmit="return false"> + <div class="two fields"> + <div class="field required"> + <label for="name">Navn</label> + <input id="name" + name="name" + required + type="text"> + </div> + <div class="field"> + <label for="categoryId">Hyttefelt</label> + <select class="ui selection dropdown" + id="categoryId" + name="categoryId"> + @foreach (var field in StaticData.CabinFields) + { + <option value="@field.Id">@field.Name</option> + } + </select> + </div> + </div> + <div class="two fields"> + <div class="field"> + <label for="price">Pris pr. natt</label> + <input id="price" + name="price" + type="text"> + </div> + <div class="field"> + <label for="capacity">Sengeplasser</label> + <input id="capacity" + name="capacity" + type="number"> + </div> + </div> + <div class="field"> + <label for="description">Beskrivelse</label> + <textarea id="description" + name="description" + type="text"></textarea> + </div> + </form> +</div> +<div class="actions"> + <div class="ui black deny button"> + Avbryt + </div> + <div class="ui green right labeled icon button" + id="submitNewCabinForm"> + Lagre + <i class="checkmark icon"></i> + </div> +</div> +</script> + + <script id="cabinRowCommandButtons" + type="text/x-kendo-template"> + <div class="ui compact buttons"> + <button class='ui compact button primary' onclick="openEditCabinModal(this)">Rediger</button> + <button class='ui compact button red' onclick="deleteCabin(this)">Slett</button> + </div> + </script>reservationsRowCommandButtons + <script id="reservationsRowCommandButtons" + type="text/x-kendo-template"> + <div class="ui compact buttons"> + <button class="ui compact button primary" onclick="inspectReservation(this)">Detaljer</button> + # if(data.status !== 3 && data.status !== 1) { # + <button class='ui compact button green' onclick="grantReservation(this)">Godkjenn</button> + # } # + # if(data.status !== 3 && data.status !== 2) { # + <button class='ui compact button red' onclick="rejectReservation(this)">Avvis</button> + # } # + </div> + </script> + <script id="reservationStatusTextTemplate" + type="text/x-kendo-template"> + # switch (data.status) { + case 0: # + <span class='ui teal label'>VENTENDE</span> + # break; # + # case 1: # + <span class='ui green label'>GODKJENT</span> + # break; # + # case 2: # + <span class='ui red label'>AVVIST</span> + # break; # + # case 3: # + <span class='ui grey label'>INAKTIV</span> + # break; # + # }# + </script> + + <script id="reservationInfoTemplate" type="text/x-kendo-template"> + <i class="close icon"></i> + <div class="header"> + Reservasjon - #= data.name # + </div> + <div class="content"> + <div class="description"> + <div class="ui header">#= data.name #</div> + <p>Fra: #= data.from #</p> + <p>Til: #= data.to #</p> + <p>Hytte: #= data.cabin #</p> + <p>Status: #= data.status #</p> + # switch (data.status) { + case 0: # + <p>Status: <span class='ui teal label'>VENTENDE</span></p> + # break; # + # case 1: # + <p>Status: <span class='ui green label'>GODKJENT</span></p> + # break; # + # case 2: # + <p>Status: <span class='ui red label'>AVVIST</span></p> + # break; # + # case 3: # + <p>Status: <span class='ui grey label'>INAKTIV</span></p> + # break; # + # }# + # if(data.description) { # + <span class="ui large text">Kommentar</span> + <p>#= data.description #</p> + # } # + </div> + </div> + <div class="actions"> + <div class="ui deny button"> + Lukk + </div> + </div> + </script> +</div> diff --git a/src/Pages/Shared/_TopNavbar.cshtml b/src/Pages/Shared/_TopNavbar.cshtml new file mode 100644 index 0000000..6d71cd3 --- /dev/null +++ b/src/Pages/Shared/_TopNavbar.cshtml @@ -0,0 +1,30 @@ +<!-- Top navbar --> +<nav class="ui top fixed icon menu" id="navbar"> + <div class="left menu"> + <a class="item" + data-target="#sidebar" + href="#" + id="sidebar-menu-toggler"> + <i class="sidebar icon"></i> + </a> + <div class="item"><span class="ui large text">@ViewData["Title"]</span></div> + </div> + <div class="right menu basic"> + <div class="ui dropdown item"> + <i class="user circle outline large icon"></i> + @User.Identity.Name + <div class="menu large"> + <div class="item" + id="profile-options-button"> + <i class="user cog icon"></i> + Innstillinger + </div> + <div class="item" + id="log-out-button"> + <i class="sign out alternate icon"></i> + Logg ut + </div> + </div> + </div> + </div> +</nav> |
