Files
thrillwiki_django_no_react/source_docs/PAGES.md

1058 lines
70 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ThrillWiki Pages Documentation
> Complete guide to every page in the application
---
## Table of Contents
1. [Homepage](#homepage)
2. [Parks Pages](#parks-pages)
3. [Rides Pages](#rides-pages)
4. [Company Pages](#company-pages)
5. [Ride Models](#ride-models)
6. [Search](#search)
7. [Authentication](#authentication)
8. [User Profile](#user-profile)
9. [User Settings](#user-settings)
10. [Ride Credits](#ride-credits)
11. [User Lists](#user-lists)
12. [Reviews](#reviews)
13. [Photo System](#photo-system)
14. [Content Submission](#content-submission)
15. [Moderation](#moderation)
16. [Admin Pages](#admin-pages)
17. [Static Pages](#static-pages)
---
## Homepage
**Route:** `/`
The gateway to ThrillWiki, designed for discovery and exploration.
### Layout
```
┌─────────────────────────────────────────────────────────────────┐
│ HEADER │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌───────────────────────┐ │
│ │ 🎢 ThrillWiki │ │
│ │ │ │
│ │ ┌─────────────────┐ │ │
│ │ │ Search parks... │ │ │
│ │ └─────────────────┘ │ │
│ │ │ │
│ └───────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ All │ Parks │ Coasters │ Flat │ Water │ Dark │ Shows │...│ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │
│ │ Card │ │ Card │ │ Card │ │ Card │ │ Card │ │
│ │ 1 │ │ 2 │ │ 3 │ │ 4 │ │ 5 │ │
│ └────────┘ └────────┘ └────────┘ └────────┘ └────────┘ │
│ │
│ ┌──────────────────────────────┐ │
│ │ Recent Changes Feed │ │
│ │ • Cedar Point updated │ │
│ │ • New ride added │ │
│ │ • Photo uploaded │ │
│ └──────────────────────────────┘ │
│ │
├─────────────────────────────────────────────────────────────────┤
│ FOOTER │
└─────────────────────────────────────────────────────────────────┘
```
### Features
| Feature | Description |
|---------|-------------|
| Hero Search | Large search input with autocomplete |
| Discovery Tabs | 11 categories to explore content |
| Content Grid | Cards showing relevant items per tab |
| Recent Changes | Feed of latest community updates |
### Discovery Tabs
1. **All** - Mixed content from all categories
2. **Parks** - Theme and amusement parks
3. **Coasters** - Roller coasters
4. **Flat Rides** - Spinning, swinging rides
5. **Water Rides** - Flumes, rapids, splash attractions
6. **Dark Rides** - Indoor themed experiences
7. **Shows** - Entertainment and performances
8. **Transport** - Trains, monorails, boats
9. **Manufacturers** - Companies that build rides
10. **Designers** - Individuals who design rides
11. **Recent** - Newest additions
---
## Parks Pages
### Parks Listing
**Route:** `/parks`
Browse and filter all theme parks.
```
┌─────────────────────────────────────────────────────────────────┐
│ All Parks [Grid] │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Filters: │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Location │ │ Status │ │ Type │ │ Sort │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ │ │ │ │ │ │ │ │
│ │ Park 1 │ │ Park 2 │ │ Park 3 │ │ Park 4 │ │
│ │ │ │ │ │ │ │ │ │
│ │ Location │ │ Location │ │ Location │ │ Location │ │
│ │ ★★★★☆ │ │ ★★★☆☆ │ │ ★★★★★ │ │ ★★★★☆ │ │
│ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │
│ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ Park 5 │ │ Park 6 │ │ Park 7 │ │ Park 8 │ │
│ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │
│ │
│ [Load More Parks] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
#### Filter Options
| Filter | Options |
|--------|---------|
| Location | Country, State/Province, City |
| Status | Operating, Closed, Under Construction |
| Type | Theme Park, Amusement, Water Park |
| Sort | Name, Rating, Ride Count, Distance |
#### View Modes
- **Grid View** - Card layout with images
- **List View** - Compact rows with key info
---
### Parks Nearby
**Route:** `/parks/nearby`
Location-based park discovery.
```
┌─────────────────────────────────────────────────────────────────┐
│ Parks Nearby [mi ↔ km] │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Interactive Map │ │
│ │ │ │
│ │ 📍 📍 │ │
│ │ 📍 │ │
│ │ 📍 📍 │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ Distance: ●────────────○ 50 miles │
│ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ Park 1 │ │ Park 2 │ │ Park 3 │ │
│ │ 12 mi │ │ 24 mi │ │ 38 mi │ │
│ └────────────┘ └────────────┘ └────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
#### Features
| Feature | Description |
|---------|-------------|
| Location Detection | Auto-detect user location |
| Interactive Map | Leaflet map with park markers |
| Radius Slider | Adjust search distance |
| Unit Toggle | Switch between miles/kilometers |
| Distance Display | Shows distance to each park |
---
### Park Detail Page
**Route:** `/parks/{park-slug}`
Comprehensive park information.
```
┌─────────────────────────────────────────────────────────────────┐
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ HERO BANNER IMAGE │ │
│ │ │ │
│ │ Cedar Point [Edit] [📷] │ │
│ │ Sandusky, Ohio, USA │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Rides │ │ Reviews │ │ Rating │ │ Status │ │ Est. │ │
│ │ 72 │ │ 156 │ │ ★ 4.8 │ │ Open │ │ 1870 │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Overview │ Rides │ Reviews │ Photos │ History │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ TAB CONTENT AREA │ │
│ │ │ │
│ │ Description, ride lists, reviews, photos, or │ │
│ │ version history depending on selected tab │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
#### Content Tabs
| Tab | Content |
|-----|---------|
| Overview | Description, location map, contact info, operator/owner |
| Rides | Filterable list of all rides at the park |
| Reviews | User reviews with ratings |
| Photos | Community photo gallery |
| History | Version history and timeline |
#### Quick Stats
- Ride Count
- Review Count
- Average Rating
- Operating Status
- Established Year
#### Actions
| Action | Who Can Use |
|--------|-------------|
| Edit Park | Registered users |
| Add Photo | Registered users |
| Write Review | Registered users |
| Log Credit | Registered users |
---
## Rides Pages
### Rides Listing
**Route:** `/rides`
Browse and filter all rides.
```
┌─────────────────────────────────────────────────────────────────┐
│ All Rides [Grid] │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Category │ Status │ Park │ Manufacturer │ Specs │ Sort │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ Advanced Filters: │
│ Speed: ○───────────● 0-200 km/h │
│ Height: ○───────────● 0-150 m │
│ Inversions: □ Has inversions │
│ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ │ │ │ │ │ │ │ │
│ │ Ride 1 │ │ Ride 2 │ │ Ride 3 │ │ Ride 4 │ │
│ │ Park │ │ Park │ │ Park │ │ Park │ │
│ │ Category │ │ Category │ │ Category │ │ Category │ │
│ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
#### Filter Categories
| Category | Options |
|----------|---------|
| Category | Coaster, Flat, Water, Dark, Show, Transport |
| Status | Operating, Closed, Under Construction |
| Park | Specific parks |
| Manufacturer | B&M, Intamin, Vekoma, etc. |
| Specifications | Speed, Height, Length, Inversions |
---
### Ride Detail Page
**Route:** `/parks/{park-slug}/rides/{ride-slug}`
Complete ride information.
```
┌─────────────────────────────────────────────────────────────────┐
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ HERO BANNER IMAGE │ │
│ │ │ │
│ │ Steel Vengeance [Edit] [📷] │ │
│ │ Cedar Point │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Speed │ │ Height │ │ Length │ │ Inv. │ │ Rating │ │
│ │ 121km/h │ │ 62.5m │ │ 1,710m │ │ 4 │ │ ★ 4.9 │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Overview │ Specifications │ Reviews │ Photos │ History │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ TAB CONTENT AREA │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
#### Specifications Tab
Displays ride-specific data based on category:
**Roller Coasters:**
- Speed, Height, Length, Drop
- Inversions, G-Force
- Duration, Capacity
- Track Material, Seating Type
**Flat Rides:**
- Height, Rotation Speed
- Swing Angle, Arm Length
- Duration, Capacity
**Water Rides:**
- Speed, Drop Height
- Splash Height, Wetness Level
- Boat Capacity
**Dark Rides:**
- Duration, Scenes Count
- Animatronics, Story Theme
- Projection Type
---
## Company Pages
### Company Types
| Type | Route | Description |
|------|-------|-------------|
| Manufacturers | `/manufacturers` | Companies that build rides |
| Designers | `/designers` | Individuals/firms that design |
| Operators | `/operators` | Companies that run parks |
| Property Owners | `/owners` | Companies that own parks |
### Company Listing
```
┌─────────────────────────────────────────────────────────────────┐
│ Manufacturers [Grid] │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Status │ │ Location │ │ Sort │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ Logo │ │ Logo │ │ Logo │ │ Logo │ │
│ │ B&M │ │ Intamin │ │ Vekoma │ │ Mack │ │
│ │ 245 rides │ │ 312 rides │ │ 180 rides │ │ 156 rides │ │
│ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### Company Detail Page
```
┌─────────────────────────────────────────────────────────────────┐
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ BANNER / LOGO │ │
│ │ │ │
│ │ Bolliger & Mabillard [Edit] │ │
│ │ Monthey, Switzerland │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Rides │ │ Founded │ │ Website │ │
│ │ 245 │ │ 1988 │ │ 🔗 │ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Overview │ Rides │ Models │ History │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ TAB CONTENT │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Ride Models
**Route:** `/ride-models/{model-slug}`
Standard ride designs installed at multiple parks.
```
┌─────────────────────────────────────────────────────────────────┐
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ BANNER │ │
│ │ │ │
│ │ SLC (Suspended Looping Coaster) [Edit] │ │
│ │ by Vekoma │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ Standard Specifications: │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Speed │ │ Height │ │ Length │ │ Inv. │ │
│ │ 88km/h │ │ 32.6m │ │ 765m │ │ 5 │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ Installations (28): │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ Mind Eraser│ │ T3 │ │ Boomerang │ │ Kong │ │
│ │ Six Flags │ │ Kentucky │ │ Knott's │ │ Walibi │ │
│ └────────────┘ └────────────┘ └────────────┘ └────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Search
**Route:** `/search`
Global search across all content.
```
┌─────────────────────────────────────────────────────────────────┐
│ Search │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 🔍 Search parks, rides, companies... │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ All │ Parks │ Rides │ Manufacturers │ Designers │ Models │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ Results for "cedar": │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 🏰 Cedar Point Park │ │
│ │ Sandusky, Ohio, USA │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ 🎢 Cedar Creek Mine Ride Ride │ │
│ │ Cedar Point │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ 🏢 Cedar Fair Operator │ │
│ │ Charlotte, NC, USA │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### Features
| Feature | Description |
|---------|-------------|
| Instant Search | Results as you type |
| Type Tabs | Filter by content type |
| Keyboard Navigation | Arrow keys, Enter to select |
| Recent Searches | Quick access to history |
---
## Authentication
**Route:** `/auth`
Sign in and sign up functionality.
```
┌─────────────────────────────────────────────────────────────────┐
│ │
│ ┌───────────────────────┐ │
│ │ │ │
│ │ Welcome Back │ │
│ │ │ │
│ │ ┌─────────────────┐ │ │
│ │ │ Email │ │ │
│ │ └─────────────────┘ │ │
│ │ ┌─────────────────┐ │ │
│ │ │ Password │ │ │
│ │ └─────────────────┘ │ │
│ │ │ │
│ │ ┌─────────────────┐ │ │
│ │ │ Sign In │ │ │
│ │ └─────────────────┘ │ │
│ │ │ │
│ │ ─── or continue ─── │ │
│ │ │ │
│ │ [Google] [Discord] │ │
│ │ │ │
│ │ No account? Sign up │ │
│ │ │ │
│ └───────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### Authentication Options
| Method | Description |
|--------|-------------|
| Email/Password | Traditional login |
| Magic Link | Passwordless email login |
| Google OAuth | Sign in with Google |
| Discord OAuth | Sign in with Discord |
### Security Features
- CAPTCHA verification
- Email confirmation required
- MFA support (TOTP)
- Session management
- Ban check on login
---
## User Profile
**Route:** `/profile/{username}`
Public user profile page.
```
┌─────────────────────────────────────────────────────────────────┐
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ┌─────┐ CoasterFan123 │ │
│ │ │ │ Member since 2022 │ │
│ │ │ 👤 │ │ │
│ │ │ │ 🎢 156 Credits ⭐ 42 Reviews 📷 89 Photos │ │
│ │ └─────┘ │ │
│ │ │ │
│ │ 🏆 Top 10 Contributor 🎖️ Photo Pro ⚡ Speed Demon │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Activity │ Reviews │ Lists │ Ride Credits │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ TAB CONTENT │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### Profile Tabs
| Tab | Content |
|-----|---------|
| Activity | Recent contributions, reviews, photos |
| Reviews | All reviews written |
| Lists | Public rankings created |
| Ride Credits | Logged ride experiences |
---
## User Settings
**Route:** `/settings`
Account and preference management.
```
┌─────────────────────────────────────────────────────────────────┐
│ Settings │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────┐ ┌────────────────────────────────────┐ │
│ │ │ │ │ │
│ │ Account │ │ Profile │ │
│ │ Security │ │ ──────────────── │ │
│ │ Privacy │ │ │ │
│ │ Notifications │ │ Username: _______________ │ │
│ │ Location │ │ Display Name: ___________ │ │
│ │ Data │ │ Bio: __________________ │ │
│ │ │ │ │ │
│ │ │ │ [Save Changes] │ │
│ │ │ │ │ │
│ └──────────────────┘ └────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### Settings Sections
| Section | Settings |
|---------|----------|
| Account | Email, password, delete account |
| Security | MFA, sessions, login history |
| Privacy | Profile visibility, activity sharing |
| Notifications | Email preferences, in-app alerts |
| Location & Units | Preferred units, home location |
| Data | Export data, submission history |
---
## Ride Credits
**Route:** `/my-credits`
Personal ride experience tracking.
```
┌─────────────────────────────────────────────────────────────────┐
│ My Ride Credits [Add Credit] │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Statistics: │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Credits │ │ Unique │ │ Parks │ │Countries│ │
│ │ 432 │ │ 156 │ │ 28 │ │ 12 │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ Filters: [Category ▾] [Park ▾] [Year ▾] [Sort ▾] │
│ │
│ ┌────────────────────────────────────────────────────────┐ │
│ │ 🎢 Steel Vengeance ×12 [+ ] [Edit] │ │
│ │ Cedar Point Last: Aug 2024 │ │
│ ├────────────────────────────────────────────────────────┤ │
│ │ 🎢 Millennium Force ×8 [+ ] [Edit] │ │
│ │ Cedar Point Last: Aug 2024 │ │
│ ├────────────────────────────────────────────────────────┤ │
│ │ 🎢 Fury 325 ×5 [+ ] [Edit] │ │
│ │ Carowinds Last: Jul 2024 │ │
│ └────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### Features
| Feature | Description |
|---------|-------------|
| Add Credit | Search and log new ride |
| Quick Increment | +1 button for repeat rides |
| Edit Count | Modify count or date |
| Delete | Remove credit |
| Reorder | Drag to prioritize |
| Filter | By category, park, date |
| Statistics | Totals and insights |
---
## User Lists
**Route:** `/my-lists`
Personal rankings and collections.
```
┌─────────────────────────────────────────────────────────────────┐
│ My Lists [Create List] │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌────────────────────────────────────────────────────────┐ │
│ │ 📋 Top 10 Coasters 🔒 Private │ │
│ │ 10 items · Last updated 2 days ago │ │
│ ├────────────────────────────────────────────────────────┤ │
│ │ 📋 Bucket List Parks 🌐 Public │ │
│ │ 25 items · Last updated 1 week ago │ │
│ ├────────────────────────────────────────────────────────┤ │
│ │ 📋 Best Dark Rides 🌐 Public │ │
│ │ 15 items · Last updated 3 weeks ago │ │
│ └────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### List Types
| Type | Description |
|------|-------------|
| Rankings | Ordered lists (Top 10, Best of, etc.) |
| Collections | Unordered groups (Bucket list, Visited) |
| Private | Only visible to owner |
| Public | Visible on profile, shareable |
---
## Reviews
### Writing a Review
```
┌─────────────────────────────────────────────────────────────────┐
│ Write a Review │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Rating: ☆ ☆ ☆ ☆ ☆ │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Share your experience... │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ □ I experienced this recently (within last year) │
│ │
│ [Cancel] [Submit Review] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### Review Display
```
┌─────────────────────────────────────────────────────────────────┐
│ ┌─────┐ CoasterFan123 ★★★★★ │
│ │ 👤 │ Reviewed 2 days ago │
│ └─────┘ │
│ │
│ "Absolutely incredible ride! The first drop is insane and │
│ the airtime never stops. Best coaster I've ever ridden." │
│ │
│ 👍 24 👎 2 [Reply] [Report] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Photo System
### Upload Interface
```
┌─────────────────────────────────────────────────────────────────┐
│ Upload Photos │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ┌─────────┐ │ │
│ │ │ │ │ │
│ │ │ 📷 │ Drag & drop photos here │ │
│ │ │ │ or click to browse │ │
│ │ └─────────┘ │ │
│ │ │ │
│ │ Max 10 photos, 10MB each │ │
│ │ Formats: JPG, PNG, WebP │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ Queued Photos: │
│ ┌────────┐ ┌────────┐ ┌────────┐ │
│ │ │ │ │ │ │ │
│ │ ✓ │ │ ⏳ │ │ ✓ │ │
│ │ │ │ │ │ │ │
│ └────────┘ └────────┘ └────────┘ │
│ │
│ [Cancel] [Upload All] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### Photo Gallery
```
┌─────────────────────────────────────────────────────────────────┐
│ Photos (156) [Upload] [Grid/List] │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ └────────┘ └────────┘ └────────┘ └────────┘ └────────┘ │
│ │
│ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │
│ └────────┘ └────────┘ └────────┘ └────────┘ └────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Content Submission
### Submission Forms
**Routes:** `/submit/park`, `/submit/ride`, `/submit/company`, etc.
```
┌─────────────────────────────────────────────────────────────────┐
│ Submit New Park │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Progress: ●───○───○───○ Step 1 of 4 │
│ │
│ Basic Information │
│ ───────────────── │
│ │
│ Park Name * │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ Park Type * │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Select type... ▾ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ Operating Status * │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Select status... ▾ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ [Save Draft] [Back] [Next Step →] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### Form Features
| Feature | Description |
|---------|-------------|
| Multi-Step | Complex forms broken into steps |
| Auto-Save | Draft saved as you type |
| Validation | Real-time field validation |
| Help Text | Explanations for each field |
| Terminology | Hover for definitions |
| Unit Toggle | Switch between metric/imperial |
| JSON Import | Paste structured data |
| Sample Data | Load example for reference |
---
## Moderation
### Moderation Queue
**Route:** `/moderation`
```
┌─────────────────────────────────────────────────────────────────┐
│ Moderation Queue [Refresh] │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Filters: [Type ▾] [Status ▾] [Priority ▾] [Assigned ▾] │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 🆕 New Park Submission ⏱️ 2h ago │ │
│ │ "Wonder World" by user123 │ │
│ │ Status: Pending [Claim] [Preview]│ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ ✏️ Edit Ride ⏱️ 4h ago │ │
│ │ "Steel Vengeance" by coasterFan │ │
│ │ Status: Claimed by mod1 [Review] │ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ 📷 Photo Upload ⏱️ 1d ago │ │
│ │ "Cedar Point - 5 photos" by visitor │ │
│ │ Status: Pending [Claim] [Preview]│ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### Review Interface
**Route:** `/moderation/{submission-id}`
```
┌─────────────────────────────────────────────────────────────────┐
│ Review Submission [← Back to Queue│
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌────────────────────────┬────────────────────────┐ │
│ │ CURRENT VERSION │ PROPOSED CHANGES │ │
│ ├────────────────────────┼────────────────────────┤ │
│ │ │ │ │
│ │ Name: Cedar Point │ Name: Cedar Point │ │
│ │ Status: Open │ Status: Open │ │
│ │ Rides: 72 │ Rides: 73 ← CHANGED │ │
│ │ Description: ... │ Description: ... ← + │ │
│ │ │ │ │
│ └────────────────────────┴────────────────────────┘ │
│ │
│ Reviewer Notes: │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ [Reject] [Request Changes] [Approve Selected] │
│ [Approve All] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Admin Pages
### Admin Dashboard
**Route:** `/admin`
```
┌─────────────────────────────────────────────────────────────────┐
│ Admin Dashboard │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Pending │ │ Users │ │ Errors │ │ Alerts │ │
│ │ 23 │ │ 1,234 │ │ 5 │ │ 2 │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
│ │
│ Quick Links: │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ Users │ │ Monitoring │ │ Errors │ │
│ └────────────┘ └────────────┘ └────────────┘ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ Database │ │ SEO │ │ Blog │ │
│ └────────────┘ └────────────┘ └────────────┘ │
│ │
│ Recent Activity: │
│ • User banned: spammer123 │
│ • Error spike detected │
│ • New moderator added │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### User Management
**Route:** `/admin/users`
```
┌─────────────────────────────────────────────────────────────────┐
│ User Management │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Search: [___________________________] [Role ▾] [Status ▾] │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 👤 user123 Role: User Active │ │
│ │ user@email.com Joined: Jan 2024 │ │
│ │ [View] [Edit Role] [Ban] [Delete]│ │
│ ├─────────────────────────────────────────────────────────┤ │
│ │ 👤 moderator1 Role: Moderator Active │ │
│ │ mod@email.com Joined: Mar 2023 │ │
│ │ [View] [Edit Role] [Ban] [Delete]│ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Static Pages
### Terms of Service
**Route:** `/terms`
Legal terms and conditions for using ThrillWiki.
### Privacy Policy
**Route:** `/privacy`
How user data is collected, used, and protected.
### Community Guidelines
**Route:** `/guidelines`
Rules for contributing content and participating.
### Contact
**Route:** `/contact`
```
┌─────────────────────────────────────────────────────────────────┐
│ Contact Us │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Category * │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Select category... ▾ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ Subject * │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ Message * │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────┘ │
│ │
│ [CAPTCHA] │
│ │
│ [Send Message] │
│ │
└─────────────────────────────────────────────────────────────────┘
```
### Blog
**Route:** `/blog`
News, updates, and articles about ThrillWiki and the industry.
---
## Related Documentation
- [Site Overview](./SITE_OVERVIEW.md)
- [Design System](./DESIGN_SYSTEM.md)
- [Components](./COMPONENTS.md)
- [User Flows](./USER_FLOWS.md)