diff --git a/package/secubox/secubox-app-gk2hub/files/usr/sbin/hub-generator b/package/secubox/secubox-app-gk2hub/files/usr/sbin/hub-generator index 5ffe1a03..9e5ab4f6 100755 --- a/package/secubox/secubox-app-gk2hub/files/usr/sbin/hub-generator +++ b/package/secubox/secubox-app-gk2hub/files/usr/sbin/hub-generator @@ -125,6 +125,13 @@ body{background:var(--bg);color:var(--text);font-family:'Segoe UI',system-ui,san .card-cat.meta{background:linear-gradient(135deg,var(--accent),var(--accent2))} .card-cat.streamlit{background:linear-gradient(135deg,var(--accent3),#059669)} .card-cat.video{background:linear-gradient(135deg,var(--accent4),#ea580c)} +.lock-badge{position:absolute;top:8px;right:8px;background:rgba(0,0,0,0.7);padding:4px 8px;border-radius:4px;font-size:0.8rem} +.site-card[data-protected]{display:none} +.site-card[data-protected].unlocked{display:flex} +.login-banner{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 20px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px} +.login-banner.hidden{display:none} +.login-banner a{color:var(--accent);text-decoration:none;padding:6px 16px;border:1px solid var(--accent);border-radius:6px} +.login-banner a:hover{background:var(--accent);color:#000} .footer{margin-top:40px;padding:20px 0;border-top:1px solid var(--border);text-align:center;color:var(--muted);font-size:0.8rem} .footer a{color:var(--accent);text-decoration:none} @media(max-width:768px){.header{flex-direction:column;align-items:flex-start}.view-list .site-card{flex-direction:column}.view-list .card-preview{width:100%}} @@ -153,6 +160,10 @@ cat >> "$TEMP" << EOF +
EOF # Collect all sites @@ -168,12 +179,16 @@ uci show metablogizer 2>/dev/null | grep "=site$" | sed "s/metablogizer\.\(.*\)= name=$(uci -q get "metablogizer.$site.name") domain=$(uci -q get "metablogizer.$site.domain") enabled=$(uci -q get "metablogizer.$site.enabled") + auth_required=$(uci -q get "metablogizer.$site.auth_required") [ "$enabled" != "1" ] && continue [ -z "$domain" ] && continue cat=$(categorize_site "$name") emoji=$(get_emoji "$cat") echo "$cat" >> "$CAT_FILE" - printf '%s\t%s\t%s\t%s\tmeta\t\t\n' "$domain" "$name" "$cat" "$emoji" >> "$SITES_FILE" + # 7th field: protected (1 if auth_required) + protected="" + [ "$auth_required" = "1" ] && protected="protected" + printf '%s\t%s\t%s\t%s\tmeta\t\t%s\n' "$domain" "$name" "$cat" "$emoji" "$protected" >> "$SITES_FILE" done # Streamlit instances @@ -290,9 +305,23 @@ echo '' >> "$TEMP" # Sites grid echo '