2019-02-23 13:29:15 +00:00
|
|
|
{{ define "tpl" }}
|
|
|
|
<div class="ui container">
|
|
|
|
{{ $ := . }}
|
|
|
|
{{ if ne .Beatmapset.ID 0 }}
|
|
|
|
<div class="ui floating icon labeled dropdown button" id="diff-menu">
|
|
|
|
<i class="caret down icon"></i>
|
|
|
|
<span class="text">
|
|
|
|
<i class="attention icon"></i>
|
|
|
|
{{ .Beatmap.DiffName }}
|
|
|
|
(<i class="fitted star icon" style="margin-right:0"></i> {{ printf "%.2f" .Beatmap.DifficultyRating }})
|
|
|
|
</span>
|
|
|
|
<div class="menu">
|
|
|
|
{{ range .Beatmapset.ChildrenBeatmaps }}
|
|
|
|
<a href="/b/{{ .ID }}" class="item {{ if eq .ID $.Beatmap.ID }}active{{ end }}" data-bid="{{ .ID }}">
|
|
|
|
<i class="attention icon"></i>
|
|
|
|
{{ .DiffName }}
|
|
|
|
(<i class="fitted star icon" style="margin-right:0"></i> {{ printf "%.2f" .DifficultyRating }})
|
|
|
|
</a>
|
|
|
|
{{ end }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="ui segments">
|
|
|
|
<div class="ui segment">
|
|
|
|
<div class="ui four column divided stackable grid">
|
|
|
|
<div class="row">
|
|
|
|
<div class="column">
|
|
|
|
<b>{{ $.T "Artist" }}:</b> {{ .Beatmapset.Artist }}<br />
|
|
|
|
<b>{{ $.T "Title" }}:</b> {{ .Beatmapset.Title }}<br />
|
|
|
|
<b>{{ $.T "Creator" }}:</b> {{ .Beatmapset.Creator }}<br />
|
|
|
|
<b>{{ $.T "Source" }}:</b> {{ .Beatmapset.Source }}<br />
|
|
|
|
</div>
|
|
|
|
<div class="column">
|
|
|
|
<b>{{ $.T "Circle Size" }}:</b> <span id="cs"></span><br />
|
|
|
|
<b>{{ $.T "HP Drain" }}:</b> <span id="hp"></span><br />
|
|
|
|
<b>{{ $.T "Overall Difficulty" }}:</b> <span id="od"></span><br />
|
|
|
|
<b>{{ $.T "Passes/Plays" }}:</b> <span id="passcount"></span> / <span id="playcount"></span>
|
|
|
|
</div>
|
|
|
|
<div class="column">
|
|
|
|
<b>{{ $.T "Approach Rate" }}:</b> <span id="ar"></span><br />
|
|
|
|
<b>{{ $.T "Star Difficulty" }}:</b> <span id="stars"></span><br />
|
|
|
|
<b>{{ $.T "Length" }}:</b> <span id="length"></span> (<span id="drainLength"></span> drain)<br />
|
|
|
|
<b>{{ $.T "BPM" }}:</b> <span id="bpm"></span><br />
|
|
|
|
</div>
|
|
|
|
<div class="full-centered column">
|
|
|
|
<div class="ui vertical buttons">
|
|
|
|
<a href="osu://dl/{{ .Beatmapset.ID }}" class="ui pink labeled icon button"><i class="download icon"></i>{{ $.T "osu!direct" }}</a>
|
2019-02-27 16:45:00 +00:00
|
|
|
<a href="https://storage.yozora.pw/d/{{ .Beatmapset.ID }}" class="ui green labeled icon button"><i class="download icon"></i>{{ $.T "download" }}</a>
|
2019-02-23 13:29:15 +00:00
|
|
|
{{ if .Beatmapset.HasVideo }}
|
2019-02-27 16:45:00 +00:00
|
|
|
<a href="https://storage.yozora.pw/d/{{ .Beatmapset.ID }}?novideo" class="ui gray labeled icon button"><i class="download icon"></i>{{ $.T "download (no video)" }}</a>
|
2019-02-23 13:29:15 +00:00
|
|
|
{{ end }}
|
|
|
|
{{ if has $.Context.User.Privileges 256 }}
|
2019-02-27 16:10:01 +00:00
|
|
|
<a href="https://old.yozora.pw/index.php?p=124&bsid={{ .Beatmapset.ID }}" class="ui violet labeled icon button"><i class="thumbs up icon"></i>{{ $.T "Rank in RAP"}}</a>
|
2019-02-23 13:29:15 +00:00
|
|
|
{{ end }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
{{ $p := .Gin.Query "p" }}
|
|
|
|
{{ $favModeRaw := .Get "users/self/favourite_mode" }}
|
|
|
|
|
|
|
|
var beatmapID = {{ .Beatmap.ID }};
|
|
|
|
var setData = JSON.parse({{ .SetJSON }});
|
|
|
|
var page = {{ $p | atoint | atLeastOne }};
|
|
|
|
// defaults to 0
|
|
|
|
var currentMode = {{ atoi (.Gin.Query "mode") }};
|
|
|
|
var currentModeChanged = false;
|
|
|
|
var favMode = parseInt({{ $favModeRaw.favourite_mode }}) || 0;
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<div class="ui four item menu" id="mode-menu">
|
|
|
|
{{ range $k, $v := modes }}
|
|
|
|
<a class="item" id="mode-{{ $k }}" data-mode="{{ $k }}" href="/b/{{ $.Beatmap.ID }}?mode={{ $k }}">{{ $v }}</a>
|
|
|
|
{{ end }}
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<table class="ui sortable fixed table">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
|
|
|
<th class="one wide">{{ .T "Rank" }} </th>
|
|
|
|
<th class="four wide">{{ .T "Player" }} </th>
|
|
|
|
<th class="three wide">{{ .T "Score" }} </th>
|
|
|
|
<th class="two wide">{{ .T "Mods" }} </th>
|
|
|
|
<th class="two wide">{{ .T "Accuracy" }} </th>
|
|
|
|
<th class="two wide">{{ .T "Combo" }} </th>
|
|
|
|
<th class="two wide">{{ .T "PP" }} </th>
|
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
{{ end }}
|
|
|
|
</div>
|
|
|
|
{{ end }}
|