Changeset 37edecd in Klonkt for src/config


Ignore:
Timestamp:
06/19/2026 03:46:42 AM (3 months ago)
Author:
roboburr <roboburr@…>
Branches:
main
Children:
1794fac
Parents:
91094a4
Message:

Link-in-bio + click stats (premium feature #6)

Linktree-style page from the existing sites.profile_links (JSON [{platform,url}])
+ PLATFORMS icons. Clicks counted per url.

  • DB: link_clicks (site_id, url, clicks), PK (site_id,url).
  • routes/linkbio.js (premium-gated): GET /links (page with profile_links as buttons), GET /links/go/:i (counts click per url + 302 redirect). Open-redirect safe: only redirects to a url in the site's own profile_links; http(s)/mailto only.
  • view pages/linkbio.ejs (photo/name/bio + brand-coloured buttons with SVG icons).
  • admin-stats: link-clicks section (top 50, per url) for the current site.
  • admin dashboard: 🔗 Link-in-bio link (premium, non-hub).

node --check passed.

Co-Authored-By: Claude <noreply@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/config/database.js

    r91094a4 r37edecd  
    219219    );
    220220  `);
     221
     222  // Link-in-bio klikstatistiek (premium #6). Per (site, url) een teller; de
     223  // link-in-bio-pagina linkt via /links/go/:i dat de klik telt en doorstuurt.
     224  db.exec(`
     225    CREATE TABLE IF NOT EXISTS link_clicks (
     226      site_id TEXT NOT NULL,
     227      url TEXT NOT NULL,
     228      clicks INTEGER DEFAULT 0,
     229      updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,
     230      PRIMARY KEY (site_id, url)
     231    );
     232  `);
    221233}
    222234
Note: See TracChangeset for help on using the changeset viewer.