⚙ Admin Dashboard
Khalid "The Sword" Shakur · Site Manager
View Site ↗ ← Back
🔒 Admin page — do not share this URL publicly

Dashboard

Overview of all site content

0
Upcoming Fights
0
Approved Reviews
0
Pending Reviews
0
Videos Linked
Quick Actions
Site Status

Hero & Record Stats

Updates the top section and win/loss/KO numbers instantly

Fighter Identity
Record Stats (Hero Banner)

Bio & Facts

Controls the About / Story section

Bio Text
Fighter Facts

Videos

Add or edit YouTube video tabs. Paste any YouTube URL — watch, share, or short links all work.

Add New Video Tab
Accepts youtube.com/watch?v=, youtu.be/, or youtube.com/embed/ links
YouTube preview will appear here after you paste a URL
VIDEO TABS

Fight Record Table

The professional record shown in the Fights section. Add each past bout here.

Add Bout
BOUTS ON RECORD

Upcoming Fights

Manage the fight schedule shown publicly on the site

Add New Fight
SCHEDULED

Achievements & Rankings

Controls the belt/title cards and the tagline

Tagline
Add Achievement Card
ACHIEVEMENT CARDS

Training & Packages

Manage the coaching section content and pricing

Section Content
Add Training Package
PACKAGES

Client Reviews

Only approved reviews show publicly. The homepage shows the 3 most recent approved reviews.

Add New Review
ALL REVIEWS

Contact Info

Updates the contact section on the homepage

Social Links

Updates the footer social link URLs

Google Sheets — Contact Form

Connect the contact form so enquiries go to a Google Sheet

The contact form submits to a Google Apps Script Web App which writes each submission as a row. Free, no server needed, works on GitHub Pages.

1

Create a Google Sheet
Go to sheets.google.com → New → name it "Khalid — Enquiries"
Add headers in Row 1: Timestamp | Name | Email | Enquiry Type | Message

2

Open Apps Script
Extensions → Apps Script → delete all code → paste:

function doPost(e) { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var data = JSON.parse(e.postData.contents); sheet.appendRow([new Date().toLocaleString('en-SG'),data.name||'',data.email||'',data.type||'',data.message||'']); return ContentService.createTextOutput(JSON.stringify({result:'success'})).setMimeType(ContentService.MimeType.JSON); }
3

Deploy → New Deployment
Type: Web App · Execute as: Me · Access: Anyone → Deploy → Copy URL

4

Paste URL into index.html
Find the line const SHEETS_URL = 'YOUR_GOOGLE_APPS_SCRIPT_URL_HERE'; and replace the placeholder.

Backup & Restore

Export all your site data to a JSON file, or restore from a previous backup

Export All Data

Downloads a JSON file with all your videos, fights, reviews, gallery photos, bio text, and settings. Keep this as a backup — if you clear your browser data, this lets you restore everything.

Restore from Backup

⚠ This will overwrite all current site data. Make sure you have a recent export first.

Reset to Defaults

Clears all admin-managed content and resets to the original defaults. Cannot be undone.