AcaMate_Web/Program/Layout/MainLayout.razor
SEAN-59 3e31f9f46b [] am/Intro 화면 동작 구현
1. 로그인 연동
2. 화면 변환 연동
2.1. 아직 Academy 테이블 연동은 안되어있는 상황
2025-06-17 16:00:56 +09:00

62 lines
1.7 KiB
Plaintext

@inherits LayoutComponentBase
@implements IDisposable
<div class="min-h-screen flex flex-col bg-gray-50 text-gray-900">
<!-- Top 영역 -->
@* <TopBanner /> *@
@if(isAcademy)
{
<div class="flex flex-1 flex-col md:flex-row">
@if (!isIntro && UserStateService.isLogin)
{
<div class="hidden md:block w-64 bg-white shadow-lg border-r border-gray-200 fixed top-0 bottom-0">
<LeftSideAcademy/>
</div>
<div class="flex flex-1 flex-col md:ml-64">
<div class="fixed top-0 right-0 left-64 z-10">
<TopNavAcademy/>
</div>
<div class="flex-1 mt-16">
@Body
</div>
</div>
}
else
{
<main class="flex-1 w-full w-max-960 mx-auto">
@Body
</main>
}
</div>
}
else
{
@if (!isHidePrjTop)
{
<TopProjectNav />
}
<!-- 본문 컨텐츠 -->
<main class="flex-1 w-full w-max-960 mx-auto">
@Body
</main>
}
<!-- 플로팅 버튼 -->
<FloatingButton />
<!-- 하단 메뉴 -->
<BottomNav />
<Footer />
@if (LoadingService.IsLoading)
{
<div class="fixed inset-0 bg-black/80 flex items-center justify-center z-50">
<div class="bg-gray-200/60 px-6 py-4 rounded-lg">
<div class="animate-spin h-8 w-8 border-4 border-gray-600 border-t-transparent rounded-full"></div>
</div>
</div>
}
</div>