49 lines
2.2 KiB
Plaintext
49 lines
2.2 KiB
Plaintext
@using Moonlight.App.Helpers.Files
|
|
@using Logging.Net
|
|
|
|
<div class="badge badge-lg badge-light-primary">
|
|
<div class="d-flex align-items-center flex-wrap">
|
|
@{
|
|
var vx = "/";
|
|
}
|
|
<a @onclick:preventDefault @onclick="() => SetPath(vx)" href="#">/</a>
|
|
<span class="svg-icon svg-icon-2x svg-icon-primary mx-1">
|
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<path d="M12.6343 12.5657L8.45001 16.75C8.0358 17.1642 8.0358 17.8358 8.45001 18.25C8.86423 18.6642 9.5358 18.6642 9.95001 18.25L15.4929 12.7071C15.8834 12.3166 15.8834 11.6834 15.4929 11.2929L9.95001 5.75C9.5358 5.33579 8.86423 5.33579 8.45001 5.75C8.0358 6.16421 8.0358 6.83579 8.45001 7.25L12.6343 11.4343C12.9467 11.7467 12.9467 12.2533 12.6343 12.5657Z" fill="currentColor"></path>
|
|
</svg>
|
|
</span>
|
|
@{
|
|
var cp = "/";
|
|
var lp = "/";
|
|
var pathParts = Access.CurrentPath.Replace("\\", "/").Split('/', StringSplitOptions.RemoveEmptyEntries);
|
|
foreach (var path in pathParts)
|
|
{
|
|
lp = cp;
|
|
<a @onclick:preventDefault @onclick="() => SetPath(lp)" href="#">@(path)</a>
|
|
<span class="svg-icon svg-icon-2x svg-icon-primary mx-1">
|
|
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<path d="M12.6343 12.5657L8.45001 16.75C8.0358 17.1642 8.0358 17.8358 8.45001 18.25C8.86423 18.6642 9.5358 18.6642 9.95001 18.25L15.4929 12.7071C15.8834 12.3166 15.8834 11.6834 15.4929 11.2929L9.95001 5.75C9.5358 5.33579 8.86423 5.33579 8.45001 5.75C8.0358 6.16421 8.0358 6.83579 8.45001 7.25L12.6343 11.4343C12.9467 11.7467 12.9467 12.2533 12.6343 12.5657Z" fill="currentColor"></path>
|
|
</svg>
|
|
</span>
|
|
|
|
cp += path + "/";
|
|
}
|
|
}
|
|
</div>
|
|
</div>
|
|
|
|
@code
|
|
{
|
|
[Parameter]
|
|
public FileAccess Access { get; set; }
|
|
|
|
[Parameter]
|
|
public Func<Task>? OnPathChanged { get; set; }
|
|
|
|
public async Task SetPath(string path)
|
|
{
|
|
await Access.SetDir(path);
|
|
OnPathChanged?.Invoke();
|
|
}
|
|
}
|