diff --git a/links/templates/links/_link_row.html b/links/templates/links/_link_row.html new file mode 100644 index 0000000..bf090b3 --- /dev/null +++ b/links/templates/links/_link_row.html @@ -0,0 +1,44 @@ +{% load i18n %} + + + + + + {{ link.alias }} + + + {% if '{' in link.original_url and '}' in link.original_url %} + {% trans "Template" %} + {% elif link.link_type == 'LINK' %} + {% trans "Link" %} + {% else %} + {% trans "Custom" %} + {% endif %} + + +
+ {{ link.original_url }} +
+ + {{ link.click_count }} + +
+ + + + + + + + + +
+ + diff --git a/links/templates/links/link_list.html b/links/templates/links/link_list.html index bab816c..293dacc 100644 --- a/links/templates/links/link_list.html +++ b/links/templates/links/link_list.html @@ -101,6 +101,10 @@ /* ---------- Hero search (frosted glass pill) ---------- */ .hero-search { position: relative; max-width: 40rem; margin: 2.6rem auto 0; text-align: left; } + /* Must stack above .hero-stats (which shares the same z-index: 1 from the + ">*:not(.hero-glow)" rule above) so the search results dropdown never + renders underneath the stats row. */ + .apple-hero > .hero-search { z-index: 20; } .hero-search .search-icon { position: absolute; left: 1.4rem; top: 50%; transform: translateY(-50%); width: 1.25rem; height: 1.25rem; color: var(--apple-gray); pointer-events: none; @@ -264,6 +268,14 @@ } .selection-hint { font-size: 0.85rem; color: var(--apple-gray); margin: 0; } + .library-load-more { display: flex; justify-content: center; padding: 0.4rem 1.8rem 1.2rem; } + .apple-btn-secondary { + background: var(--apple-bg); color: var(--apple-text); + border: 1px solid rgba(0, 0, 0, 0.10); + } + .apple-btn-secondary:hover { background: #ececef; } + .apple-btn-secondary[disabled] { opacity: 0.55; cursor: default; pointer-events: none; } + /* ---------- Posts ---------- */ .posts-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.1rem; list-style: none; margin: 0; padding: 0; } .post-card { @@ -428,7 +440,7 @@
- {{ links|length }} + {{ total_links_count }} {% trans "Links" %}
@@ -444,6 +456,9 @@
+

+ {% blocktrans count counter=total_links_count %}{{ counter }} link{% plural %}{{ counter }} links{% endblocktrans %} +

@@ -516,49 +531,7 @@ {% for link in links %} - - - - - - {{ link.alias }} - - - {% if '{' in link.original_url and '}' in link.original_url %} - {% trans "Template" %} - {% elif link.link_type == 'LINK' %} - {% trans "Link" %} - {% else %} - {% trans "Custom" %} - {% endif %} - - - - - {{ link.click_count }} - - - - + {% include 'links/_link_row.html' %} {% empty %} {% trans "No links available" %} @@ -567,6 +540,20 @@
+ {% if has_more_links %} +
+ +
+ {% endif %}