Files
Otchislator/src/Otchinslator/Components/Pages/Home.razor
Sergey Karmanov fe7bc86a85
All checks were successful
Build and deploy / Publish image (push) Successful in 1m5s
Фикс багов
2025-01-02 17:39:43 +03:00

83 lines
5.0 KiB
Plaintext

@using Microsoft.AspNetCore.Components.Authorization
@inject AuthenticationStateProvider AuthenticationStateProvider
@page "/"
<PageTitle>Отчислятор 3000</PageTitle>
@code {
private MarkupString GetLinkIfAuth(string link) => new MarkupString(AuthenticationStateProvider.GetAuthenticationStateAsync().Result.User.Identity?.IsAuthenticated == true ? link : "MicrosoftIdentity/Account/SignIn");
}
<div class="relative">
@* TODO: Дописать модальное окно *@
<dialog id="info_modal" class="modal modal-bottom sm:modal-middle">
<div class="modal-box">
<h3 class="text-lg font-bold">Сервис отчислений</h3>
<p class="py-4">Привет, это сервис отчислений!<br>Автор: <a target="_blank" href="https://t.me/serega404">@@serega404</a></p>
<div class="modal-action">
<form method="dialog">
<button class="btn">Закрыть</button>
</form>
</div>
</div>
</dialog>
@* TODO: Исправить расположение названия *@
<div class="text-center font-bold text-4xl md:text-5xl w-max absolute left-1/2 -top-1/3 transform -translate-x-1/2 italic"><br>Отчислятор 3000<br><p class="text-2xl text-red-500">pre-alpha</p></div>
<div class="flex flex-col space-y-4 w-96">
<div class="card rounded-badge bg-base-200 p-4">
<h2 class="card-title text-center text-3xl justify-center my-4">Мне нужно...</h2>
<div class="flex flex-col space-y-4 mt-1">
<a href="@GetLinkIfAuth("otchislenie")" class="btn h-16 btn-primary rounded-full text-2xl relative">
Отчислиться
<div class="absolute bg-base-200 rounded-full right-1 w-14 h-14">
@{
if (new Random().Next(0, 100) < 10)
{
<img class="p-2" src="img/soldier.svg" alt=""/>
}
else
{
<img class="p-3" src="img/wheelchair.svg" alt=""/>
}
}
</div>
</a>
<button class="btn h-16 btn-primary rounded-full text-2xl relative">
Понизить курс
<div class="absolute bg-base-200 rounded-full right-1 w-14 h-14">
<svg class="p-2" fill="none" viewBox="0 0 24 24" id="down-trend-round" xmlns="http://www.w3.org/2000/svg">
<path id="primary" d="M3,7l5.79,5.79a1,1,0,0,0,1.42,0l2.58-2.58a1,1,0,0,1,1.42,0L21,17" style="fill: none; stroke: rgb(0, 0, 0); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5;"></path><polyline id="primary-2" data-name="primary" points="17 17 21 17 21 13" style="fill: none; stroke: rgb(0, 0, 0); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5;"></polyline>
</svg>
</div>
<i class="absolute text-sm bottom-0 text-base-200 font-medium">временно не доступно</i>
</button>
<button class="btn h-16 btn-primary p-0 rounded-full text-2xl relative">
Уйти в академ
<div class="absolute bg-base-200 rounded-full right-1 w-14 h-14">
<img class="p-2" src="img/akadem.svg" alt=""/>
</div>
<i class="absolute text-sm bottom-0 text-base-200 font-medium">временно не доступно</i>
</button>
<div class="divider"></div>
<CascadingAuthenticationState>
<AuthorizeView>
<Authorized>
<a href="MicrosoftIdentity/Account/SignOut" class="btn btn-lg btn-primary rounded-full text-2xl relative">
@context.User.Identity?.Name!.Split("@")[0]
<div class="absolute bg-base-200 rounded-full right-1 w-14 h-14">
<img class="p-3" src="img/exit.svg" alt=""/>
</div>
</a>
</Authorized>
<NotAuthorized>
<a class="btn btn-lg bg-green-300 rounded-full text-2xl" href="MicrosoftIdentity/Account/SignIn">Начать</a>
</NotAuthorized>
</AuthorizeView>
</CascadingAuthenticationState>
</div>
</div>
<div class="text-center">
<button onclick="info_modal.showModal()" class="btn btn-sm btn-primary bg-base-200 rounded-full text-1xl">?</button>
</div>
</div>
</div>