Production-ready overhaul: backend fixes, claim flow polish, SEO, mobile, nginx
Backend: - Fix activity score (followersCount check), NIP-98 URL proto, wallet balance guard - Add payment_hash to confirm response, spentTodaySats to stats - Add idx_claims_ip_hash; security headers, graceful shutdown, periodic nonce cleanup Frontend: - Remove 8 legacy components; polish wizard (rules summary, profile card, confetti, share) - Stats budget bar uses spentTodaySats; ErrorBoundary with reload SEO & production: - Full meta/OG/Twitter, favicon, JSON-LD, robots.txt, sitemap.xml - Mobile CSS fixes; nginx static dist + gzip + cache + security headers - Vite manualChunks; aria-labels, dynamic page titles Made-with: Cursor
This commit is contained in:
@@ -54,7 +54,7 @@ export async function checkEligibility(pubkey: string, ipHash: string): Promise<
|
||||
};
|
||||
}
|
||||
|
||||
if (balanceSats < config.faucetMinSats) {
|
||||
if (balanceSats < config.minWalletBalanceSats) {
|
||||
return {
|
||||
eligible: false,
|
||||
denialCode: "insufficient_balance",
|
||||
|
||||
@@ -101,7 +101,8 @@ export async function fetchAndScorePubkey(pubkey: string, forceRefreshProfile =
|
||||
if (hasMetadata) score += 10;
|
||||
if (notesInLookback >= config.minNotesCount) score += 20;
|
||||
if (followingCount >= config.minFollowingCount) score += 10;
|
||||
if (0 >= config.minFollowersCount) score += 10; // followers not fetched for MVP; treat as 0
|
||||
const followersCount = 0; // followers not fetched for MVP
|
||||
if (followersCount >= config.minFollowersCount) score += 10;
|
||||
|
||||
let lightning_address: string | null = null;
|
||||
let name: string | null = null;
|
||||
|
||||
Reference in New Issue
Block a user