Залил изменения за долгое время

This commit is contained in:
2024-12-12 04:05:09 +03:00
parent 27d4b7fbeb
commit 619a158d13
30 changed files with 1549 additions and 1399 deletions

View File

@@ -1,5 +1,5 @@
@inherits LayoutComponentBase
<body class="flex items-center accent-error justify-center min-h-screen font-roboto text-primary-content">
@Body
@inherits LayoutComponentBase
<body class="flex items-center accent-error justify-center min-h-screen font-roboto text-primary-content">
@Body
</body>

View File

@@ -1,36 +1,36 @@
@using Microsoft.AspNetCore.Components.Authorization
@inherits LayoutComponentBase
<div class="page">
<div class="sidebar">
@* <NavMenu/> *@
</div>
<main>
<div class="top-row px-4">
<a href="https://learn.microsoft.com/aspnet/core/" target="_blank">About</a>
<!-- Add @using Microsoft.AspNetCore.Components.Authorization at the top-->
<CascadingAuthenticationState>
<AuthorizeView>
<Authorized>
<a asp-controller="Home" asp-action="Index">Welcome @context.User.Identity?.Name!</a>
<a href="MicrosoftIdentity/Account/SignOut">Logout</a>
</Authorized>
<NotAuthorized>
<a href="MicrosoftIdentity/Account/SignIn">Login</a>
</NotAuthorized>
</AuthorizeView>
</CascadingAuthenticationState>
</div>
<article class="content px-4">
@Body
</article>
</main>
</div>
<div id="blazor-error-ui">
An unhandled error has occurred.
<a href="" class="reload">Reload</a>
<a class="dismiss">🗙</a>
@using Microsoft.AspNetCore.Components.Authorization
@inherits LayoutComponentBase
<div class="page">
<div class="sidebar">
@* <NavMenu/> *@
</div>
<main>
<div class="top-row px-4">
<a href="https://learn.microsoft.com/aspnet/core/" target="_blank">About</a>
<!-- Add @using Microsoft.AspNetCore.Components.Authorization at the top-->
<CascadingAuthenticationState>
<AuthorizeView>
<Authorized>
<a asp-controller="Home" asp-action="Index">Welcome @context.User.Identity?.Name!</a>
<a href="MicrosoftIdentity/Account/SignOut">Logout</a>
</Authorized>
<NotAuthorized>
<a href="MicrosoftIdentity/Account/SignIn">Login</a>
</NotAuthorized>
</AuthorizeView>
</CascadingAuthenticationState>
</div>
<article class="content px-4">
@Body
</article>
</main>
</div>
<div id="blazor-error-ui">
An unhandled error has occurred.
<a href="" class="reload">Reload</a>
<a class="dismiss">🗙</a>
</div>

View File

@@ -1,96 +1,96 @@
.page {
position: relative;
display: flex;
flex-direction: column;
}
main {
flex: 1;
}
.sidebar {
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}
.top-row {
background-color: #f7f7f7;
border-bottom: 1px solid #d6d5d5;
justify-content: flex-end;
height: 3.5rem;
display: flex;
align-items: center;
}
.top-row ::deep a, .top-row ::deep .btn-link {
white-space: nowrap;
margin-left: 1.5rem;
text-decoration: none;
}
.top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
text-decoration: underline;
}
.top-row ::deep a:first-child {
overflow: hidden;
text-overflow: ellipsis;
}
@media (max-width: 640.98px) {
.top-row {
justify-content: space-between;
}
.top-row ::deep a, .top-row ::deep .btn-link {
margin-left: 0;
}
}
@media (min-width: 641px) {
.page {
flex-direction: row;
}
.sidebar {
width: 250px;
height: 100vh;
position: sticky;
top: 0;
}
.top-row {
position: sticky;
top: 0;
z-index: 1;
}
.top-row.auth ::deep a:first-child {
flex: 1;
text-align: right;
width: 0;
}
.top-row, article {
padding-left: 2rem !important;
padding-right: 1.5rem !important;
}
}
#blazor-error-ui {
background: lightyellow;
bottom: 0;
box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
display: none;
left: 0;
padding: 0.6rem 1.25rem 0.7rem 1.25rem;
position: fixed;
width: 100%;
z-index: 1000;
}
#blazor-error-ui .dismiss {
cursor: pointer;
position: absolute;
right: 0.75rem;
top: 0.5rem;
}
.page {
position: relative;
display: flex;
flex-direction: column;
}
main {
flex: 1;
}
.sidebar {
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}
.top-row {
background-color: #f7f7f7;
border-bottom: 1px solid #d6d5d5;
justify-content: flex-end;
height: 3.5rem;
display: flex;
align-items: center;
}
.top-row ::deep a, .top-row ::deep .btn-link {
white-space: nowrap;
margin-left: 1.5rem;
text-decoration: none;
}
.top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
text-decoration: underline;
}
.top-row ::deep a:first-child {
overflow: hidden;
text-overflow: ellipsis;
}
@media (max-width: 640.98px) {
.top-row {
justify-content: space-between;
}
.top-row ::deep a, .top-row ::deep .btn-link {
margin-left: 0;
}
}
@media (min-width: 641px) {
.page {
flex-direction: row;
}
.sidebar {
width: 250px;
height: 100vh;
position: sticky;
top: 0;
}
.top-row {
position: sticky;
top: 0;
z-index: 1;
}
.top-row.auth ::deep a:first-child {
flex: 1;
text-align: right;
width: 0;
}
.top-row, article {
padding-left: 2rem !important;
padding-right: 1.5rem !important;
}
}
#blazor-error-ui {
background: lightyellow;
bottom: 0;
box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
display: none;
left: 0;
padding: 0.6rem 1.25rem 0.7rem 1.25rem;
position: fixed;
width: 100%;
z-index: 1000;
}
#blazor-error-ui .dismiss {
cursor: pointer;
position: absolute;
right: 0.75rem;
top: 0.5rem;
}

View File

@@ -1,64 +1,64 @@
@inject NavigationManager Navigation
@code {
private int _lvl = 0;
private Dictionary<string, string> _links = new()
{
{ "Анкета", "/otchislenie/questionnaire" },
{ "Заявление", "/otchislenie/statement" },
{ "Отправка", "/otchislenie/result" },
{ "Свобода", "/otchislenie/congratulation" }
};
// TODO: Упростить это
protected override void OnInitialized()
{
base.OnInitialized();
switch (Navigation.ToBaseRelativePath(Navigation.Uri))
{
case "otchislenie/questionnaire":
case "otchislenie":
_lvl = 1;
break;
case "otchislenie/statement":
_lvl = 2;
break;
case "otchislenie/result":
_lvl = 3;
break;
case "otchislenie/congratulation":
_lvl = 4;
break;
}
}
}
<footer class="card fixed bottom-0 w-96 h-20 bg-base-200 rounded-badge p-4 mb-3">
<div class="flex justify-center items-center">
<ul class="steps justify-center center">
<a href="/" class="step step-primary text-gray-500">Выбор</a>
@foreach (int i in Enumerable.Range(1, 4))
{
if (_lvl == 4 && i == 4)
{
<a href="/otchislenie/congratulation" class="step step-primary select-none " data-content="♿">Свобода</a>
continue;
}
if (_lvl == i)
{
<i class="step select-none step-primary">@_links.ElementAt(i - 1).Key</i>
}
else if (_lvl > i)
{
<a href="@_links.ElementAt(i - 1).Value" class="step step-primary select-none text-gray-500">@_links.ElementAt(i - 1).Key</a>
}
else
{
<i class="step select-none"> @_links.ElementAt(i - 1).Key</i>
}
}
</ul>
</div>
@inject NavigationManager Navigation
@code {
private int _lvl = 0;
private Dictionary<string, string> _links = new()
{
{ "Анкета", "/otchislenie/questionnaire" },
{ "Заявление", "/otchislenie/statement" },
{ "Отправка", "/otchislenie/result" },
{ "Свобода", "/otchislenie/congratulation" }
};
// TODO: Упростить это
protected override void OnInitialized()
{
base.OnInitialized();
switch (Navigation.ToBaseRelativePath(Navigation.Uri))
{
case "otchislenie/questionnaire":
case "otchislenie":
_lvl = 1;
break;
case "otchislenie/statement":
_lvl = 2;
break;
case "otchislenie/result":
_lvl = 3;
break;
case "otchislenie/congratulation":
_lvl = 4;
break;
}
}
}
<footer class="card fixed bottom-0 w-96 h-20 bg-base-200 rounded-badge p-4 mb-3">
<div class="flex justify-center items-center">
<ul class="steps justify-center center">
<a href="/" class="step step-primary text-gray-500">Выбор</a>
@foreach (int i in Enumerable.Range(1, 4))
{
if (_lvl == 4 && i == 4)
{
<a href="/otchislenie/congratulation" class="step step-primary select-none " data-content="♿">Свобода</a>
continue;
}
if (_lvl == i)
{
<i class="step select-none step-primary">@_links.ElementAt(i - 1).Key</i>
}
else if (_lvl > i)
{
<a href="@_links.ElementAt(i - 1).Value" class="step step-primary select-none text-gray-500">@_links.ElementAt(i - 1).Key</a>
}
else
{
<i class="step select-none"> @_links.ElementAt(i - 1).Key</i>
}
}
</ul>
</div>
</footer>

View File

@@ -1,11 +1,11 @@
@using Microsoft.AspNetCore.Authorization
@inherits LayoutComponentBase
@attribute [Authorize]
<div class="flex items-center accent-error justify-center min-h-screen font-roboto text-primary-content">
@Body
<NavMenu/>
@using Microsoft.AspNetCore.Authorization
@inherits LayoutComponentBase
@attribute [Authorize]
<div class="flex items-center accent-error justify-center min-h-screen font-roboto text-primary-content">
@Body
<NavMenu/>
</div>