{% extends "layouts/youtube.njk" %} {% block youtube %} {# Flash messages via notificationBanner (error/success/notice come from controller) #} {% if error %} {# Error state: no OAuth configured or DB unavailable #} {{ notificationBanner({ type: "error", text: error }) }} {% else %} {# ── Connection status ── #} {% call section({ title: __("youtube.likes.status") }) %} {% if isConnected %}
{{ __("youtube.likes.description") }}
{{ button({ href: mountPath + "/likes/connect", text: __("youtube.likes.connect") }) }} {% endif %} {% endcall %} {% if isConnected %} {# ── Overview stats ── #} {% call section({ title: __("youtube.likes.overview") }) %} {{ summary({ rows: [ { key: { text: __("youtube.likes.seenVideos") }, value: { text: seenCount | string } }, { key: { text: __("youtube.likes.likePosts") }, value: { text: totalLikePosts | string } }, { key: { text: __("youtube.likes.baselineComplete") if baseline else __("youtube.likes.baselinePending") | truncate(40) }, value: { text: baseline.completedAt if baseline else "—" } }, { key: { text: __("youtube.likes.lastSync") }, value: { text: lastSync.lastSyncAt if lastSync else "—" } } ] | selectattr("key.text") | list }) }} {% if lastSync %}{{ lastSync.synced }} {{ __("youtube.likes.newLikes") }}, {{ lastSync.skipped }} {{ __("youtube.likes.skippedLikes") }}, {{ lastSync.total }} {{ __("youtube.likes.totalLikes") }}
{% endif %} {% endcall %} {# ── Sync controls ── #} {% call section({ title: __("youtube.likes.sync") }) %} {% endcall %} {# ── Reset (destructive, hidden in details) ── #} {% call section({ title: __("youtube.likes.reset") }) %} {% call details({ summary: __("youtube.likes.resetDescription") }) %} {% endcall %} {% endcall %} {# ── Recent likes ── #} {% call section({ title: __("youtube.likes.recentLikes") }) %} {% if recentLikes and recentLikes.length > 0 %} {% if totalLikePosts > 10 %}{{ button({ href: mountPath + "/api/likes?limit=100", text: __("youtube.viewAll") + " (" + totalLikePosts + ")" }) }}
{% endif %} {% else %} {{ prose({ text: __("youtube.likes.noLikesYet") }) }} {% endif %} {% endcall %} {% endif %} {% endif %} {% endblock %}