Mahjong Club / Admin

🀄

Mahjong Club / Admin Dashboard

Total Signups
Revenue
Orders
Messages

➕ Add New Class Session

All Sessions 0 sessions
Loading…
Define Class & League Offerings 0 items

Changes take effect immediately on the website.

➕ Add League Member

League Members 0 members
Loading…

🏆 Add Points

Points History

Select a member to view their points history.

Check-ins

Select a date and click Load, or click All.

➕ Create Event

Events 0
Loading…
Event Photos (Carousel) 0

🀄 Table Assignments

Unassigned Players

💞 Seating Preferences

BFF = seat together when possible. Conflict = keep apart. Preferences are used by Randomize.

➕ Create New League Season

All League Seasons 0 seasons
Loading…
Season Roster

Select a season to see who's enrolled.

Class Signups 0
Loading…
League Signups 0
Event Signups 0
Class Waitlist 0 records
Loading…
Orders 0 records
Loading…
Failed Signups 0 records
Loading…
Contact Messages 0 records
Loading…
Announcements & Site Content 0 records
Add New Announcement

➕ Add New Add-on

All Add-ons 0 add-ons
Loading…

⚙️ Gift Card Settings

Gift Cards 0 cards
Loading…

➕ Add New Tile Set

All Tile Sets 0 sets
Loading…

➕ Add Rental / Block Dates

Tile Rentals 0 rentals
Loading…

➕ Create Discount Code

All Discount Codes 0 codes
Loading…
Usage History 0 uses
Loading…

➕ Add New Affiliate

All Affiliates 0

➕ Add New Testimonial

All Testimonials 0
Club Members 0 members

Members are auto-added when someone signs up for a class, league, or event. Duplicates are prevented by email.

Loading…
Reminder Log 0 sent
Loading…

🔑 Change Admin Password

Change your admin login password. This only affects this club's admin access.

📑 Site Sections

Choose which sections appear on your public site.

🔌 Integrations

Configure payment processing and email services for your club.

Payment Provider
PayPal

Get these from developer.paypal.com → Apps & Credentials

Email (Resend)

Get this from resend.com → API Keys. Required for confirmation emails and reminders.

Contact Email

Displayed in the footer, used for contact form notifications and email sender address.

🎨 Site Colors & Fonts

Click a section to expand. Changes take effect on the public site after saving.

📐 Sizes use rem units. Quick ref: 0.75rem = 12px  |  1rem = 16px  |  1.5rem = 24px  |  2rem = 32px

Header (Title & Nav)

Click any element below to edit its style. Changes preview live.
Mahjong Club
home league events tile rental contact Book Class
League Link Text

Hero Section

Click any element below to edit its style. Changes preview live.
Hero Title Goes Here...
Hero sub-title goes here...
Book a Class
Join the League

Testimonials Section

Click any element below to edit its style. Changes preview live.
Say What?
Honest takes, straight from the table.
So much fun! I look forward to it every week.
— Jane D.
Great community and the lessons are top notch!
— Mary S.

League Section

Click any element below to edit its style. Changes preview live.
League
Compete, connect, and have fun in our weekly mahjong league. All skill levels welcome.
Sign Up
Season Pass
$75
/ season
Full season access with weekly competitive play and league points.
Sign Up
Game Day
Check-in Widget
Leaderboard
Leaderboard Widget

Class Section

Click any element below to edit its style. Changes preview live.
Book a Class
We bring everything you need — tiles, mats, cards, and a patient teacher.
Mahjong 101
Learn to play!
$35 / person
2-hour guided class with all materials included.
Enroll Now
Mahjong 102
Level up your game
$75 / session
Personalized instruction at your pace.
Book Session
Class Series
4-week series
$120 / series
Complete beginner curriculum over 4 weekly sessions.
Enroll Now

Events Section

Click any element below to edit its style. Changes preview live.
Events
Join us for fun mahjong events open to everyone!
Mahjong Night Out
June 15
✓ Light refreshments
✓ All skill levels welcome
$15/person
Reserve a Seat
📍 Community Center

Affiliate Section

Background
Background Color
Section Title
Title Text
Font
Color
Size
Weight
Subtitle
Subtitle Text
Font
Color
Size
Weight
Discount Text
Color
Size

Tile Rental Section

Click any element below to edit its style. Changes preview live.
Tile Rental
Rent a complete mahjong set for your home game or event. Deposit refunded upon return.
Sunset Tile Set
$50
/rental
+ $100.00 refundable deposit
160 tiles, mat, racks and pushers
Rent Now
Rental Agreement
Agreement Text (shown to customer before renting)

Shop Link

Add a "Shop" link to the navigation bar. Leave the URL blank to hide it. External URLs (starting with http) open in a new tab.

Link Text
URL

Scramble Link

Add a "Join the Scramble" pill button to the hero section. Leave the URL blank to hide it. External URLs open in a new tab.

Button Text
URL
Background
Text / Border Color
Font

Gift Cards Section

Section Title
Title Text
Subtitle Text
Subtitle
Background
Background Color
Titles
Font
Color
Size
Weight
Text
Font
Color
Size
Weight

Footer

Background
Footer Background Color
Social Links
Instagram URL
Facebook URL

About Text

About / Description

This text appears in the footer and on the contact page. Describe your club, location, and what makes it special.

🖼️ Site Logo

Upload an image to use as the site logo in the header and footer. Recommended: PNG with transparent background, at least 200px tall.

Current logo No logo uploaded

Current logo

📐 Logo Sizes

Adjust the size of the logo in each place it appears. Larger values = bigger logo. Use px for pixels (e.g., 120px) or rem for relative sizing.

Header (top of page)
Default: 80px
Hero (homepage big logo)
Default: 140px
Footer
Default: 180px

🔖 Site Favicon

Upload a small icon for the browser tab. Recommended: square PNG or ICO, 32×32 or 64×64 pixels.

Current favicon No favicon uploaded

Current favicon

🖼️ Footer Image (optional)

Optional photo or graphic shown in the middle of the footer in place of the logo (e.g., a personal photo, charity logo, group photo). If no footer image is uploaded, the site logo is used instead. Recommended: square or vertical orientation, at least 360px tall, with a transparent or matching background.

Current footer image No footer image — logo will be shown

Current footer image

💾 Backup & Restore

Download a snapshot of this club's database, or restore from a previously downloaded backup file. Restore replaces ALL current data for this club — other clubs are unaffected.

Before restoring, the current database is automatically saved as a safety snapshot on the server.

Topics

🚀 Getting Started

Welcome to your club admin. This is where you set up everything members see on your website — classes, leagues, events, branding, and more. Use the menu on the left to navigate between sections.

A few things to do first:

  1. Go to Site Settings and change your admin password.
  2. Upload your club logo and favicon (also in Site Settings).
  3. Add your contact email and set your business hours.
  4. Set up payment processing under Site Settings → Integrations (PayPal or Stripe keys).
Tip: After making changes in any section, click the ↻ Refresh Data button at the bottom of the left menu to see them reflected.

📅 Adding a Class

Classes are already defined for you (Mahjong 101, etc.) — the class names are part of the platform and don't need to be created. You just schedule sessions for them: specific dates and times your members can sign up for.

Schedule a class session

  1. Click 📅 Class Sessions in the left menu.
  2. Click Add Session.
  3. Pick the class from the dropdown.
  4. Set the date, start and end times, capacity (max signups), and any notes about the location or what to bring.
  5. Save. The session appears on your public site and members can sign up.
Need to repeat a class weekly? Add one session for each date. There's no auto-repeat — but each session is quick to create once the class is set up.
Custom classes: If your plan allows it, you can create your own class names under 📋 Define Class/League. Most clubs don't need this — the standard class list covers the common offerings.

🏆 Adding a League

Leagues are already defined for you — the league names are part of the platform. To run a league, you create a season: a date range during which the league meets.

Create a season

  1. Click 🏆 League Seasons in the left menu.
  2. Click Add Season.
  3. Enter the League Name (this groups seasons of the same league together — e.g., "Bam Bird Day League") and a Season Name (e.g., "May 2026").
  4. Set the day of week, start and end times, start date, end date, and capacity.
  5. Save. The season opens for signups on your public site.
Scheduling rules:
  • Two seasons can't share the same day of week + overlapping times + overlapping dates, regardless of league. The same day at different times is fine (e.g., a Day League at 1–4 PM and Night League at 6–9 PM both on Tuesday).
  • A person can't sign up for two seasons whose dates overlap. They can switch leagues between seasons that don't overlap in dates.
Custom leagues: If your plan allows it, you can create your own league names under 📋 Define Class/League. Most clubs don't need this.

🎉 Adding an Event

Events are one-time gatherings members can RSVP to — tournaments, parties, fundraisers, etc.

  1. Click 🎉 Events in the left menu.
  2. Click Add Event.
  3. Enter the event name, date, location, description, and price (use 0 for free events).
  4. Optionally upload photos.
  5. Save. The event will appear on your public events page.

Managing event signups

Go to the 🎉 Events tab to see who has signed up. You can delete individual signups using the ✕ button on each row.

Private events: Use the "Make Private" button on an event to hide it from the public calendar — useful for member-only or invitation gatherings.

🎨 Customizing Your Site

Most visual customization happens in ⚙️ Site Settings.

Logo and favicon

  1. Go to Site Settings and scroll to the Logo section.
  2. Click Upload Logo and pick your logo file (PNG works best, with a transparent background).
  3. Do the same for the favicon — that's the small icon shown in the browser tab.

Colors

Scroll to the Site Colors & Fonts section. You can customize the primary color (used for headers/buttons), accent color, and text colors. Use the color picker, or paste a hex code like #12214A.

Content

  • About text: Edit the description shown on your homepage.
  • Contact email: Where contact form messages go.
  • Business hours: Displayed in the footer.
  • Shop link: Optional link to your online shop, if you have one.
After saving: Open your public site in a new tab and reload to see your changes. If something doesn't update immediately, do a hard refresh (Ctrl+Shift+R on Windows, Cmd+Shift+R on Mac).

💾 Backup & Restore

Your club's data is automatically backed up by the server, but you can also take your own snapshots — and restore them if needed. This is found at the top of ⚙️ Site Settings.

Downloading a backup

  1. Go to Site Settings.
  2. At the top, click ⬇ Download Backup.
  3. A file like yourclub-backup-2026-05-29-14-30-00.db will download to your computer.
  4. Keep this file safe — store it somewhere you'll be able to find it later (Google Drive, Dropbox, etc.).

Take a backup before any major change you might want to undo: deleting members, switching settings, big edits, etc.

Restoring from a backup

⚠ Warning: Restoring replaces all data for your club with the contents of the backup file. Anything added or changed since that backup will be lost.
  1. Go to Site Settings.
  2. Click ⚠ Restore from Backup….
  3. Select the .db file you previously downloaded.
  4. You'll be asked to type the word RESTORE (in capital letters) to confirm. This prevents accidental restores.
  5. The server automatically saves a snapshot of your current data before applying the restore, so even mistakes can be recovered.

After the restore completes, the page reloads with your restored data.

Other clubs are safe: Backups and restores only affect your club. Other clubs on the platform aren't touched.

🔧 Common Troubleshooting

Members aren't getting confirmation emails

  • Go to Site Settings → Integrations and check that your Resend API Key is filled in.
  • The "from" email must use a domain you've verified in Resend. If you use a custom domain like noreply@yourclub.com, that domain must be added and verified in your Resend dashboard.
  • Check the member's spam folder — confirmation emails sometimes land there.

Payments aren't working

  • Go to Site Settings → Integrations and confirm your PayPal or Stripe keys are filled in.
  • For PayPal, the mode (live or sandbox) must match your keys. Live keys with sandbox mode (or vice versa) will fail.
  • Test with a $1 sandbox/test transaction first before going live.

I changed something but the public site looks the same

  • Click ↻ Refresh Data at the bottom of the left menu in the admin.
  • On your public site, do a hard refresh (Ctrl+Shift+R on Windows, Cmd+Shift+R on Mac).
  • If you cleared your admin login by accident, just log in again — your data is preserved.

Someone signed up but can't pay

  • Their signup may be in the ⚠️ Failed Signups tab — check there to see what went wrong.
  • Common causes: card declined, expired session, payment provider keys missing.
  • You can manually contact them or create a free signup from the admin if needed.

I forgot my admin password

Contact your platform administrator — they can reset it for you. The reset will revert your password to the initial value, which you should then change again immediately.

League signup is being rejected as "overlapping"

The system prevents one person from being enrolled in two leagues whose dates overlap. If a member wants to switch leagues, they need to wait until their current season ends, then sign up for the new one.

Something else not covered here?

Contact your platform administrator with a description of what you're trying to do and what's happening instead.

Are you sure you want to delete this session?
This cannot be undone.