webmusic/Pages/Index.cshtml
Leah 0000568e2b
new key-combo: ESC for goto parent folder (#4)
Merge branch 'master' of destiny.zotan.network:ctucx/webmusic

click on back element instead of window.location override

add id to back button, use list elements

Merge branch 'master' into master

new key-combo: ESC for goto parent folder

Co-authored-by: Leah (ctucx) <leah@ctu.cx>
Co-authored-by: Laura Hausmann <laura@hausmann.dev>
Reviewed-on: https://git.zotan.services/zotan/webmusic/pulls/4
Co-Authored-By: Leah <leah@antifa.jetzt>
Co-Committed-By: Leah <leah@antifa.jetzt>
2021-03-06 14:47:36 +01:00

51 lines
1.5 KiB
Plaintext

@page
@using System.IO
@model IndexModel
@{
ViewData["Title"] = $"webmusic on .NET {Environment.Version}";
}
@if (Model.Path.Contains("/..")) {
return;
}
@if (Model.Path.EndsWith(".lrc")) {
<h3>@Model.Path</h3>
<p>@Html.Raw((await System.IO.File.ReadAllTextAsync("music" + Model.Path)).Replace("\n", "<br/>"))</p>
}
else {
<h2>
@Model.Displaypath <span id="state"></span> <span id="flags"></span>
</h2>
<a class="action-muted">[..]</a>
<a href="?@Model.PathOneup" id="back" class="entry-muted cfont"> Go back</a>
<br/>
<a class="action-muted">[--]</a>
<a href="/playlist/@(Request.QueryString).m3u" class="entry-muted cfont"> Download playlist</a>
<br/>
<br/>
@foreach (var dir in Model.Dirs) {
<li>
<a class="action" href="#">[--]</a>
<a href="?@Model.Path/@dir"> @dir</a>
</li>
}
@foreach (var file in Model.Files) {
var jspath = IndexModel.Encode(Model.Fullpath);
var jsfile = jspath + "/" + IndexModel.Encode(file);
var basename = System.IO.Path.GetFileNameWithoutExtension(file);
var lrcfile = basename + ".lrc";
var lrcpath = System.IO.Path.Combine(Model.Fullpath, lrcfile);
<li>
<script>queue.push('@Html.Raw(jsfile)')</script>
<a class="action" href="@Html.Raw(IndexModel.Encode(Model.Fullpath + "/" + file))" download>[DL]</a>
@if (System.IO.File.Exists(lrcpath)) {
<a class="action" href="?@Model.Path/@lrcfile" target="_blank">[LRC]</a>
}
else if(Directory.GetFiles(@Model.Fullpath, "*.lrc").Length != 0) {
<a class="action">[---]</a>
}
<a href="#" onclick="playSong('@Html.Raw(jsfile)')"> @file</a>
</li>
}
}