AI: markdown-to-C# converter for StarSystem and SystemMastery
This commit is contained in:
@@ -0,0 +1,111 @@
|
|||||||
|
@page "/StarSystem/{Id}"
|
||||||
|
|
||||||
|
<PageTitle>@(system?.Name ?? "Star System")</PageTitle>
|
||||||
|
|
||||||
|
@if (system is null)
|
||||||
|
{
|
||||||
|
<div class="alert alert-warning" role="alert">
|
||||||
|
Unknown star system. <a href="/StarSystem">Back to all star systems</a>.
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<div class="section-header d-flex align-items-center mb-4">
|
||||||
|
<h1 class="mb-0">@system.Name</h1>
|
||||||
|
<span class="badge bg-primary ms-3">@system.Kind</span>
|
||||||
|
<div class="ms-3 flex-grow-1 border-bottom opacity-25"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<dl class="row">
|
||||||
|
<dt class="col-sm-3">Occupation buff</dt>
|
||||||
|
<dd class="col-sm-9">@(system.OccupationBuff ?? "—")</dd>
|
||||||
|
|
||||||
|
<dt class="col-sm-3">System mastery</dt>
|
||||||
|
<dd class="col-sm-9">
|
||||||
|
@if (system.SystemMastery is null)
|
||||||
|
{
|
||||||
|
@:—
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var masteryUrl = ZeroSpaceLinks.UrlFor(system.SystemMastery);
|
||||||
|
if (masteryUrl is null)
|
||||||
|
{
|
||||||
|
@system.SystemMastery
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<a href="@masteryUrl">@system.SystemMastery</a>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt class="col-sm-3">Yields</dt>
|
||||||
|
<dd class="col-sm-9">@YieldText(system)</dd>
|
||||||
|
|
||||||
|
<dt class="col-sm-3">Connected systems</dt>
|
||||||
|
<dd class="col-sm-9">
|
||||||
|
@for (var i = 0; i < system.ConnectedSystems.Count; i++)
|
||||||
|
{
|
||||||
|
var name = system.ConnectedSystems[i];
|
||||||
|
var url = ZeroSpaceLinks.UrlFor(name);
|
||||||
|
if (url is null)
|
||||||
|
{
|
||||||
|
<span>@name</span>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<a href="@url">@name</a>
|
||||||
|
}
|
||||||
|
@if (i < system.ConnectedSystems.Count - 1)
|
||||||
|
{
|
||||||
|
@:,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
@if (!string.IsNullOrWhiteSpace(system.Body))
|
||||||
|
{
|
||||||
|
<h2>Notes</h2>
|
||||||
|
<MarkdownView Markdown="@system.Body" />
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@code {
|
||||||
|
[Parameter]
|
||||||
|
public string Id { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
private StarSystemData? system;
|
||||||
|
|
||||||
|
protected override void OnParametersSet()
|
||||||
|
{
|
||||||
|
system = StarSystems.All.FirstOrDefault(s => s.Id.Equals(Id, StringComparison.OrdinalIgnoreCase));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static string YieldText(StarSystemData s)
|
||||||
|
{
|
||||||
|
var yields = new List<string>();
|
||||||
|
if (s.HigherInfluenceYield)
|
||||||
|
{
|
||||||
|
yields.Add("Influence");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (s.HigherCreditYield)
|
||||||
|
{
|
||||||
|
yields.Add("Credits");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (s.HigherEnergyYield)
|
||||||
|
{
|
||||||
|
yields.Add("Energy");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (s.HigherChanceForItems)
|
||||||
|
{
|
||||||
|
yields.Add("Items");
|
||||||
|
}
|
||||||
|
|
||||||
|
return yields.Count == 0 ? "Standard" : "Higher " + string.Join(", ", yields);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user