Files
DotNetSolutionTools/DotNetSolutionTools.Photino/Pages/Home.razor
2025-05-18 13:48:54 +10:00

43 lines
1009 B
Plaintext

@page "/"
@using Ardalis.GuardClauses
@using DotNetSolutionTools.Core
@using DotNetSolutionTools.Core.Models
@inject AppState AppState
<MudStack>
<MudInput T="string" Label="Solution File Path" @bind-Value="_solutionFilePath" @bind-Value:after="SetToAppState" />
<MudButton OnClick="@Populate">Populate project dependencies</MudButton>
</MudStack>
@if (_projects.Count > 0)
{
<BuildOrderDiagram Projects="_projects"/>
}
@foreach(var project in _projects)
{
<MudText>@project.Name</MudText>
}
@code {
private string? _solutionFilePath;
private List<Project> _projects = [];
protected override void OnInitialized()
{
_solutionFilePath = AppState.SolutionFilePath;
}
private void Populate()
{
Guard.Against.Null(_solutionFilePath);
var result = SolutionBuildOrder.GetBuildOrder(_solutionFilePath);
_projects = result;
}
private void SetToAppState()
{
AppState.SolutionFilePath = _solutionFilePath;
}
}