Optimization: make pagination code shorter #9

This commit is contained in:
VnPower 2023-07-05 21:00:13 +07:00
parent c48c25922e
commit da26255411
Signed by: vnpower
GPG key ID: 881DE3DEB966106C
3 changed files with 39 additions and 101 deletions

View file

@ -2,7 +2,7 @@
<h2>{{ Title }}</h2>
<div class="switcher">
{{ url := "/ranking?mode=" + Mode + "&page=1&content=
{{ url := "/ranking?mode=" + Mode + "&page=1&content=" }}
<span class="switch-title">Content</span>
<a href="{{ url }}all" class="switch-button">Overall</a>
<a href="{{ url }}illust" class="switch-button">Illustrations</a>
@ -11,7 +11,7 @@
<br />
<div class="switcher">
{{ url := "/ranking?content=" + Content + "&page=1&mode=
{{ url := "/ranking?content=" + Content + "&page=1&mode=" }}
<span class="switch-title">Modes</span>
<a href="{{ url }}daily" class="switch-button">Daily</a>
<a href="{{ url }}weekly" class="switch-button">Weekly</a>
@ -36,49 +36,29 @@
<a class="artwork-thumbnail-title" href="/artworks/{{ .ID }}">
<h3 class="no-margin">{{ .Title }}</h3>
</a>
<a href="/users/{{ .ArtistID }}" class="artwork-thumbnail-artist flex"
><img
src="{{ .ArtistAvatar }}"
alt="{{ .ArtistName }}"
class="artwork-thumbnail-artist-avatar border-rounded"
/>
{{ .ArtistName }}</a
>
<a href="/users/{{ .ArtistID }}" class="artwork-thumbnail-artist flex"><img src="{{ .ArtistAvatar }}"
alt="{{ .ArtistName }}" class="artwork-thumbnail-artist-avatar border-rounded" />
{{ .ArtistName }}</a>
</div>
{{ end }}
<div class="pagination">
{{ if Page <= 1 }} <a href="#" class="pagination-button disabled">First</a>
<a href="#" class="pagination-button disabled">Previous</a>
{{ else }}
<a
href="/ranking?content={{ Content }}&mode={{ Mode }}&page=1"
class="pagination-button"
>First</a
>
<a
href="/ranking?content={{ Content }}&mode={{ Mode }}&page={{ dec(Page) }}"
class="pagination-button"
>Previous</a
>
{{ end }}
{{ url := "/ranking?content=" + Content + "&mode=" + Mode + "&page=" }} {{
if Page <= 1 }} <a href="#" class="pagination-button disabled">First</a>
<a href="#" class="pagination-button disabled">Previous</a>
{{ else }}
<a href="{{ url }}1" class="pagination-button">First</a>
<a href="{{ url }}{{ Page - 1 }}" class="pagination-button">Previous</a>
{{ end }}
<a href="#" class="pagination-button disabled">{{ Page }}</a>
<a href="#" class="pagination-button disabled">{{ Page }}</a>
{{ if Page == 10 }}
<a href="#" class="pagination-button disabled">Next</a>
<a href="#" class="pagination-button disabled">Last</a>
{{ else }}
<a
href="/ranking?content={{ Content }}&mode={{ Mode }}&page={{ inc(Page) }}"
class="pagination-button"
>Next</a
>
<a
href="/ranking?content={{ Content }}&mode={{ Mode }}&page=10"
class="pagination-button"
>Last</a
>
{{ end }}
{{ if Page == 10 }}
<a href="#" class="pagination-button disabled">Next</a>
<a href="#" class="pagination-button disabled">Last</a>
{{ else }}
<a href="{{ url }}{{ Page + 1 }}" class="pagination-button">Next</a>
<a href="{{ url }}10" class="pagination-button">Last</a>
{{ end }}
</div>
</div>

View file

@ -2,11 +2,7 @@
<div class="tag-header">
{{ if Tag.Metadata.id }}
<a href="/artworks/{{ Tag.Metadata.id }}">
<img
class="tag-thumbnail"
src="{{ Tag.Metadata.image }}"
alt="{{ Tag.Name }}"
/>
<img class="tag-thumbnail" src="{{ Tag.Metadata.image }}" alt="{{ Tag.Name }}" />
</a>
{{ end }}
@ -63,28 +59,18 @@
<div>{{ include "small-tn" Data.Artworks.Artworks }}</div>
<div class="pagination">
{{ if toInt (Queries.Page) == 1 }}
{{ url := "/tags/" + Tag.Name + "?category=" + Queries.Category + "&order="
+ Queries.Order + "&mode=" + Queries.Mode + "&page=" }} {{ if toInt
(Queries.Page) == 1 }}
<a href="#" class="pagination-button disabled">First</a>
<a href="#" class="pagination-button disabled">Previous</a>
{{ else }}
<a
href="/tags/{{ Tag.Name }}?category={{ Queries.Category }}&order={{ Queries.Order }}&mode={{ Queries.Mode }}&page=1"
class="pagination-button"
>First</a
>
<a
href="/tags/{{ Tag.Name }}?category={{ Queries.Category }}&order={{ Queries.Order }}&mode={{ Queries.Mode }}&page={{ dec(toInt(Queries.Page)) }}"
class="pagination-button"
>Previous</a
>
<a href="{{url}}1" class="pagination-button">First</a>
<a href="{{url}}{{ toInt(Queries.Page) - 1 }}" class="pagination-button">Previous</a>
{{ end }}
<a href="#" class="pagination-button disabled">{{ Queries.Page }}</a>
<a
href="/tags/{{ Tag.Name }}?category={{ Queries.Category }}&order={{ Queries.Order }}&mode={{ Queries.Mode }}&page={{ inc(toInt(Queries.Page)) }}"
class="pagination-button"
>Next</a
>
<a href="{{url}}{{ toInt(Queries.Page) + 1 }}" class="pagination-button">Next</a>
</div>
</div>

View file

@ -18,20 +18,10 @@
</div>
<div class="switcher">
<span class="switch-title">Category</span>
<a href="/users/{{ User.ID }}/artworks#checkpoint" class="switch-button"
>All</a
>
<a
href="/users/{{ User.ID }}/illustrations#checkpoint"
class="switch-button"
>Illustrations</a
>
<a href="/users/{{ User.ID }}/manga#checkpoint" class="switch-button"
>Mangas</a
>
<a href="/users/{{ User.ID }}/bookmarks#checkpoint" class="switch-button"
>Bookmarks</a
>
<a href="/users/{{ User.ID }}/artworks#checkpoint" class="switch-button">All</a>
<a href="/users/{{ User.ID }}/illustrations#checkpoint" class="switch-button">Illustrations</a>
<a href="/users/{{ User.ID }}/manga#checkpoint" class="switch-button">Mangas</a>
<a href="/users/{{ User.ID }}/bookmarks#checkpoint" class="switch-button">Bookmarks</a>
</div>
<div>
<h1 id="checkpoint">Illustrations and Mangas</h1>
@ -39,10 +29,7 @@
<div>
{{ range User.FrequentTags }}
<a href="/tags/{{ .Name }}">
<div
class="tag-container"
style="background-color: {{ randomColor() }}"
>
<div class="tag-container" style="background-color: {{ randomColor() }}">
{{ if ! .TranslatedName }}
<div class="main">{{ .Name }}</div>
<div class="sub">#</div>
@ -58,38 +45,23 @@
{{ include "small-tn" User.Artworks }}
</div>
<div class="pagination">
{{ if Page == 1 }}
{{ url := "/users/" + User.ID + "/" + Category + "?page="}} {{ if Page == 1
}}
<a href="#" class="pagination-button disabled">First</a>
<a href="#" class="pagination-button disabled">Previous</a>
{{ else }}
<a
href="/users/{{ User.ID }}/{{ Category }}?page=1#checkpoint"
class="pagination-button"
>First</a
>
<a
href="/users/{{ User.ID }}/{{ Category }}?page={{ dec(Page) }}#checkpoint"
class="pagination-button"
>Previous</a
>
<a href="{{ url }}1#checkpoint" class="pagination-button">First</a>
<a href="{{ url }}{{ Page - 1 }}#checkpoint" class="pagination-button">Previous</a>
{{ end }}
<a href="#" class="pagination-button disabled">{{ Page }}</a>
{{ if Page == dec(PageLimit) }}
{{ if Page == PageLimit - 1 }}
<a href="#" class="pagination-button disabled">Next</a>
<a href="#" class="pagination-button disabled">Last</a>
{{ else }}
<a
href="/users/{{ User.ID }}/{{ Category }}?page={{ inc(Page) }}#checkpoint"
class="pagination-button"
>Next</a
>
<a
href="/users/{{ User.ID }}/{{ Category }}?page={{ dec(PageLimit) }}#checkpoint"
class="pagination-button"
>Last</a
>
<a href="{{ url }}{{ Page + 1 }}#checkpoint" class="pagination-button">Next</a>
<a href="{{ url }}{{ PageLimit - 1 }}#checkpoint" class="pagination-button">Last</a>
{{ end }}
</div>
</div>