56 lines
1.8 KiB
Text
56 lines
1.8 KiB
Text
|
|
@page "/"
|
||
|
|
@attribute [Authorize]
|
||
|
|
@inject GhostConfigService ConfigService
|
||
|
|
|
||
|
|
<PageTitle>Startseite</PageTitle>
|
||
|
|
|
||
|
|
<div class="jumbotron bg-light p-5 rounded">
|
||
|
|
<h1 class="display-4">Ghost Image Manager</h1>
|
||
|
|
<p class="lead">
|
||
|
|
Verwalte Bilder deiner Ghost-Instanzen direkt vom Server aus.
|
||
|
|
</p>
|
||
|
|
<hr class="my-4" />
|
||
|
|
<p>
|
||
|
|
Funktionen: Bilder auflisten, nach Posts suchen, verwaiste Bilder finden und Bilder austauschen.
|
||
|
|
</p>
|
||
|
|
<a class="btn btn-primary btn-lg" href="images" role="button">Zu den Bildern</a>
|
||
|
|
<a class="btn btn-outline-secondary btn-lg" href="settings" role="button">Einstellungen</a>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
@if (_config.Instances.Count == 0)
|
||
|
|
{
|
||
|
|
<div class="alert alert-warning mt-4">
|
||
|
|
<strong>Hinweis:</strong> Es ist noch keine Ghost-Instanz konfiguriert.
|
||
|
|
Bitte hinterlege unter <a href="settings">Einstellungen</a> deine Ghost-URL, den Admin API Key und den lokalen Image-Ordner.
|
||
|
|
</div>
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
<div class="row mt-4">
|
||
|
|
@foreach (var instance in _config.Instances)
|
||
|
|
{
|
||
|
|
<div class="col-md-4">
|
||
|
|
<div class="card">
|
||
|
|
<div class="card-body">
|
||
|
|
<h5 class="card-title">@instance.Name</h5>
|
||
|
|
<p class="card-text">
|
||
|
|
<strong>URL:</strong> @instance.Url<br />
|
||
|
|
<strong>Image-Ordner:</strong> <span class="text-truncate d-block" title="@instance.ImageFolderPath">@instance.ImageFolderPath</span>
|
||
|
|
</p>
|
||
|
|
<a href="images" class="btn btn-primary">Bilder anzeigen</a>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
}
|
||
|
|
</div>
|
||
|
|
}
|
||
|
|
|
||
|
|
@code {
|
||
|
|
private GhostConfig _config = new();
|
||
|
|
|
||
|
|
protected override void OnInitialized()
|
||
|
|
{
|
||
|
|
_config = ConfigService.Load();
|
||
|
|
}
|
||
|
|
}
|