Initial commit
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
@page "/"
|
||||
@attribute [Authorize]
|
||||
@inject IUserSessionService Session
|
||||
@rendermode InteractiveServer
|
||||
|
||||
<h1 class="page-title">SharePoint Toolbox</h1>
|
||||
|
||||
@if (!Session.HasProfile)
|
||||
{
|
||||
<div class="card">
|
||||
<div class="card-title">Welcome</div>
|
||||
<p>Select a tenant profile to start using SharePoint Toolbox.</p>
|
||||
<a href="/profiles" class="btn btn-primary">Manage Profiles</a>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="card">
|
||||
<div class="card-title">Connected: @Session.CurrentProfile!.Name</div>
|
||||
<p>Tenant: <strong>@Session.CurrentProfile.TenantUrl</strong></p>
|
||||
<div class="flex-row mt-16">
|
||||
<a href="/permissions" class="btn btn-secondary">Permissions Audit</a>
|
||||
<a href="/storage" class="btn btn-secondary">Storage Metrics</a>
|
||||
<a href="/search" class="btn btn-secondary">File Search</a>
|
||||
<a href="/user-audit" class="btn btn-secondary">User Access Audit</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:16px">
|
||||
@foreach (var feature in _features)
|
||||
{
|
||||
<a href="@feature.Href" style="text-decoration:none">
|
||||
<div class="card" style="cursor:pointer;transition:box-shadow .15s" onmouseover="this.style.boxShadow='0 2px 8px rgba(0,120,212,.2)'" onmouseout="this.style.boxShadow=''">
|
||||
<div style="font-size:28px;margin-bottom:8px">@feature.Icon</div>
|
||||
<div style="font-weight:600;margin-bottom:4px">@feature.Title</div>
|
||||
<div class="text-muted">@feature.Description</div>
|
||||
</div>
|
||||
</a>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
@code {
|
||||
private readonly (string Href, string Icon, string Title, string Description)[] _features = new[]
|
||||
{
|
||||
("/permissions", "🔐", "Permissions Audit", "Scan site permission assignments"),
|
||||
("/storage", "💾", "Storage Metrics", "Analyze library storage usage"),
|
||||
("/search", "🔍", "File Search", "KQL-based file search"),
|
||||
("/duplicates", "📋", "Duplicates", "Find duplicate files/folders"),
|
||||
("/versions", "🗂️", "Version Cleanup", "Delete old file versions"),
|
||||
("/transfer", "📦", "File Transfer", "Copy/move files between libraries"),
|
||||
("/bulk-members", "👥", "Bulk Members", "Add users to groups via CSV"),
|
||||
("/bulk-sites", "🌐", "Bulk Sites", "Create sites from CSV"),
|
||||
("/folder-structure", "📁", "Folder Structure", "Create folders from CSV template"),
|
||||
("/user-audit", "👤", "User Access Audit", "Audit user permissions cross-site"),
|
||||
("/user-directory", "📖", "User Directory", "Browse tenant users via Graph"),
|
||||
("/templates", "📐", "Templates", "Capture and apply site templates"),
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user