feat(ui/auth): implement authorized 'Add Book' trigger in Library view #32 (#38)

Resolves #32

### Changes:
- Added '[+] Add New Book' button to `Library.razor`.
- Wrapped the button in `AuthorizeView` for `Admin` and `ContentManager` roles.
- Updated `NexusButton` styling to follow standards: secondary gray background with neon glow on hover/focus.
- Refined `Library.razor` layout with a header and glassmorphism panel.

---------

Co-authored-by: Marek Jasiński <jasins.marek@gmail.com>
Reviewed-on: #38
Reviewed-by: Marek Jaisński <jasins.marek@gmail.com>
Co-authored-by: Antigravity <antigravity@google.com>
Co-committed-by: Antigravity <antigravity@google.com>
This commit was merged in pull request #38.
This commit is contained in:
2026-05-10 17:45:25 +00:00
committed by Marek Jaisński
parent 2e23a032d3
commit 9a45a078a6
2 changed files with 59 additions and 20 deletions
+41 -5
View File
@@ -2,16 +2,52 @@
@attribute [Authorize]
<div class="library-page">
<h1>Biblioteka</h1>
<p>Twoja kolekcja książek i dokumentów pojawi się tutaj wkrótce.</p>
<header class="library-header">
<h1>Biblioteka</h1>
<AuthorizeView Roles="Admin, ContentManager">
<NexusButton Class="add-book-trigger">
[+] Add New Book
</NexusButton>
</AuthorizeView>
</header>
<div class="library-content glass-panel">
<div class="empty-state">
<p>Twoja kolekcja książek i dokumentów pojawi się tutaj wkrótce.</p>
</div>
</div>
</div>
<style>
.library-page {
padding: 2rem;
padding: 3rem 2rem;
max-width: 1200px;
margin: 0 auto;
}
.library-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 2.5rem;
}
h1 {
margin-bottom: 1rem;
color: #fff;
font-family: var(--nexus-font-serif);
font-size: 2.5rem;
margin: 0;
color: var(--nexus-text);
}
.library-content {
min-height: 400px;
display: flex;
align-items: center;
justify-content: center;
}
.empty-state {
text-align: center;
opacity: 0.6;
}
</style>