Skip to content

feat: FAQ portal, earnings analytics, sponsor checkout & admin moderation#936

Open
AugistineCreates wants to merge 813 commits into
bakeronchain:mainfrom
AugistineCreates:feat/dashboard-features-update
Open

feat: FAQ portal, earnings analytics, sponsor checkout & admin moderation#936
AugistineCreates wants to merge 813 commits into
bakeronchain:mainfrom
AugistineCreates:feat/dashboard-features-update

Conversation

@AugistineCreates
Copy link
Copy Markdown
Contributor

This pr closes #144
This pr closes #148
This pr closes #146
This pr closes #147

Summary

This PR resolves four separate frontend issues by introducing new interactive dashboard tools, analytics, checkout flows, and moderation panels. Each feature follows the platform's premium design system with custom glass-morphism, fluid animations, and comprehensive responsive support.


🛠️ Resolved Issues & Deliverables

1️⃣ [frontend] Design Advanced FAQ and Help Center Portal

  • Feature: A dedicated /faq portal with advanced search, interactive components, and feedback capturing.
  • Key Implementation Details:
    • Interactive Accordions: Clean accordion blocks with smooth rotate animations and ARIA accessibility.
    • Instant Live Search: Instantaneous client-side filter that matches keywords on titles and answers.
    • Helpful Feedback: Interactive thumbs-up/down buttons with visual confirmation states.
  • Added Files: FAQSection.tsx, FAQSection.test.tsx, FAQPage.tsx

2️⃣ [frontend] Design Interactive Earnings & Payout Analytics Charts

  • Feature: A rich analytics suite on the /donor page for volume, gas costs, and net royalties.
  • Key Implementation Details:
    • Recharts Visualizations: Modern area and line charts styled with custom color gradients.
    • Timeframe Selectors: Live buttons to toggle data between 7 Days, 30 Days, and Year-to-Date (YTD).
    • Interactive Tooltips: Premium overlay tooltips displaying full gas/royalties breakdown on hover.
  • Added Files: useEarningsAnalytics.ts, EarningsAnalytics.tsx, EarningsAnalytics.test.tsx

3️⃣ [frontend] Implement "Sponsor a Student" Scholarship Checkout

  • Feature: A bulk licensing and funding checkout interface at /sponsor/checkout.
  • Key Implementation Details:
    • Bulk Input & Upload: Textarea for multiple wallet addresses supporting drag-and-drop CSV/TXT file imports.
    • Stellar Address Validator: Live syntax parser checking length, prefix (G-prefix), and base32 alphabet with instant status badges.
    • Cost & Gas Estimator: Real-time fee calculations ($25 USDC/student + 0.05 XLM gas buffer).
    • Invoice Receipt Panel: Interactive receipt showing recipient counts, transaction hash links, and one-click copy.
  • Added Files: SponsorCheckout.tsx, SponsorCheckout.test.tsx, SponsorCheckoutPage.tsx

4️⃣ Create Admin Dashboard for Content Moderation

  • Feature: A private admin control panel at /admin/moderation.
  • Key Implementation Details:
    • Security Gate: Route guarded via local authentication token validation (getAuthToken()).
    • Moderation Feed: Modern structured data table showing flagged materials, reporting reasons, and dates.
    • Action Controls: Instant moderation controls (Approve, Deny, Suspend User) wired to state changes and API-ready triggers.
  • Added Files: ModerationSection.tsx, AdminModeration.tsx

🔗 Routes Registered (src/App.tsx)

  • /faq — Help Center
  • /sponsor/checkout — Sponsor Checkout
  • /admin/moderation — Content Moderation Control

🧪 Quality & Testing

  • Unit tests written under Vitest + React Testing Library verifying component-level state changes, input syntax validations, and rendering correctness.

Litezy and others added 30 commits March 28, 2026 11:44
…n-authorization

fix: restrict comment pinning to proposal authors
feat(scholar-nft): add transfer_admin function for admin key rotation
- Strip all CREATE TABLE IF NOT EXISTS blocks from db/index.ts;
  initDb() now only verifies connectivity with SELECT 1
- Rename 005_scholar_nfts.sql -> 006 to fix duplicate-005 conflict
- Add 007_votes_enrollments_platform_events.sql for tables that
  existed in db/index.ts but had no migration file
- Add .undo.sql rollback files for all 7 migrations
- Fix backend-tests.yml to use npm run migrate instead of raw psql -f calls

Closes #db-migrations
…sts-and-ci-regressions

fix: resolve contract test regressions
…-governance-allowance-expiry-and-escrow-tests

feat: 415 and 436 governance allowance expiry and escrow tests
…ations

feat: replace inline DDL with numbered SQL migrations
…w-auth

fix: restrict reclaim and release auth to escrow record admin
…rses-from-api

feat: fetch frontend courses from backend API
…-learn-token-event-and-comments-security

fix: 418 and 428 learn token event and comments security
Regenerate root and server lock files to include missing packages
(@noble/hashes, sanitize-html and dependencies) that were added in
recent PRs but not committed, causing npm ci failures in CI.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Previous lock file was generated with npm 11 (Node 24) but CI uses
npm 10 (Node 22), causing @noble/hashes@2.0.1 and other packages to
appear missing during npm ci. Regenerated with the matching version.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tones

feat: Implement CourseMilestone complete_milestone with LRN reward config
…-wiring

fix: wire Credential.tsx to scholar_nft contract and IPFS
Anuoluwapo25 and others added 27 commits April 24, 2026 14:29
…e-error-messages

ux(bakeronchain#730): improve error messages to be actionable
…legation

feat(bakeronchain#585): implement on-chain vote delegation for governance token
…ilestones

feat: implement resubmit functionality for rejected milestones
…erize-backend-docker

feat: containerize backend with Docker (bakeronchain#707)
fix: consolidate recharts to v3 and remove legacy typings
add input sanitization for all user-supplied text fields
security: add SQL injection protection audit (parameterized queries) bakeronchain#719
…ning

ci: implement automated dependency security scanning bakeronchain#703
…funding

feat: implement multi-donor co-funding and contribution tracking bakeronchain#587
…dress-display

feat(ui): add wallet address display with truncation, copy, and modal
…community-forum

feat: implement community forum (Issue bakeronchain#747)
@benfoster-dev
Copy link
Copy Markdown
Contributor

Kindly fix conflicts @AugistineCreates

@benfoster-dev
Copy link
Copy Markdown
Contributor

@AugistineCreates am closing this pr

@benfoster-dev
Copy link
Copy Markdown
Contributor

raise a new one

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Design ScholarNFT credential artwork (SVG template) Implement ScholarNFT initialize and admin storage