Files
storyteller/docs/reference/UI_ELEMENTS_REFERENCE.md
Aodhan Collins 41975ecfe2 Phase 2 complete
2025-10-12 02:18:56 +01:00

402 lines
9.7 KiB
Markdown

# UI Elements Reference - Storyteller RPG
**Purpose:** Complete catalog of UI elements for design system templates
**Date:** October 12, 2025
---
## 🎨 Design System Overview
### Color Palette
- **Primary:** Purple gradient (#667eea to #764ba2)
- **Background:** Dark theme (#1a1a2e, #16213e)
- **Success:** Green (#10b981, #86efac)
- **Text:** White (#fff), Light gray (#aaa, #ccc)
- **Borders:** Subtle white rgba (0.1 opacity)
### Typography
- **Headings:** 24-32px, bold
- **Body:** 14-16px, normal
- **Small:** 12-13px, secondary info
---
## 📄 Page 1: Session Setup / Landing Page
### Purpose
Entry point for creating/joining sessions and characters
### Key Sections
#### 1. Header Area
- **App Title:** "🎭 Storyteller RPG"
- **Subtitle:** Brief tagline
- **Logo placeholder** (future)
#### 2. Demo Session Quick Access
- **Section Title:** "🎲 Demo Session - 'The Cursed Tavern'"
- **Description text:** Brief explanation
- **Three action buttons:**
- Join as Storyteller (gold gradient)
- Play as Bargin (character 1)
- Play as Willow (character 2)
- **Button styling:** Large, prominent, with icons
#### 3. Session Creation Section
- **Section Title:** "Create New Session"
- **Description:** "Start a new game as the storyteller"
- **Input field:** Session name (text)
- **Primary button:** "Create Session"
#### 4. Session Join Section
- **Section Title:** "Join Existing Session"
- **Description:** "Play as a character in an ongoing game"
- **Form elements:**
- Session ID input (text)
- Character name input (text, required)
- Description textarea (3 rows)
- Personality textarea (2 rows, optional)
- Model selector (dropdown with optgroups)
- Model hint text (small, gray)
- **Character creation options:**
- Primary button: "✨ Create Character (Wizard)"
- Divider: "or"
- Toggle button: "Quick Create" (shows simple form)
- **Submit button:** "Join Session (Simple)" (conditional)
#### 5. Dividers
- Horizontal rule with centered text ("OR")
- Visual separation between sections
---
## 📄 Page 2: Character View (Player Perspective)
### Purpose
Player's interface for interacting with storyteller
### Layout Structure
Three-column layout: Info | Messages | Public Feed
### Key Sections
#### 1. Character Header
- **Character name** (h2, white, bold)
- **Description text** (gray, italic)
- **Personality traits** (with emoji prefix)
- **Profile badges** (if profile exists):
- Race badge
- Class badge
- Personality type badge
- **Action buttons:**
- Export button (📥)
- Connection status indicator (● Connected / ○ Disconnected)
#### 2. Current Scene Panel (if active)
- **Section title:** "📜 Current Scene"
- **Scene text** (large, prominent)
- **Background:** Highlighted panel
#### 3. Public Messages Section
- **Section title:** "📢 Public Actions (All Players See)"
- **Message list:**
- Message sender label
- Timestamp
- Message content
- Visual distinction from private messages
#### 4. Private Conversation Area
- **Section title:** "💬 Private Conversation with Storyteller"
- **Message thread:**
- Character messages (right-aligned, colored)
- Storyteller messages (left-aligned, different color)
- Timestamps
- Message bubbles
- **Auto-scroll to latest**
#### 5. Message Composer
- **Message visibility selector** (dropdown):
- Private
- Public
- Mixed
- **Input area (varies by type):**
- Private/Public: Single text input
- Mixed: Two textareas (public + private)
- **Send button** (primary, disabled when disconnected)
#### 6. AI Generation Section (future)
- Generate suggestion button
- Prompt customization
- Regenerate option
---
## 📄 Page 3: Storyteller View (GM Perspective)
### Purpose
Game master interface to manage all players and narrate story
### Layout Structure
Two-column: Character list sidebar | Main content area
### Key Sections
#### 1. Session Header
- **Session name** (h2)
- **Session ID display** with copy button
- **Quick copy feedback** (tooltip/toast)
#### 2. Character List Sidebar
- **Section title:** "Active Characters"
- **Character cards:**
- Character name
- "💬 View" button (per character)
- Highlight active selection
- Pending response indicator (red dot)
- **Scrollable list**
#### 3. Scene Narration Panel
- **Section title:** "📜 Scene Narration"
- **Textarea:** Large input for scene description
- **Buttons:**
- "Broadcast Scene" (primary)
- "✨ AI Suggest" (secondary, generates scene)
#### 4. Public Actions Feed
- **Section title:** "📢 Recent Public Actions"
- **Message list:**
- Character name
- Action content
- Timestamp
- **Latest 5 messages shown**
#### 5. Character Conversation View
- **Header:** Selected character name
- **Conversation thread:**
- Character messages
- Your responses
- Timestamps
- **Response composer:**
- Large textarea
- Button group:
- "✨ AI Suggest"
- "Send Private Response"
#### 6. Multi-Character Response (future)
- Select multiple characters
- Generate context-aware response
- Broadcast to selected players
---
## 📄 Page 4: Character Creation Wizard
### Purpose
6-step guided character creation with profiles
### Layout Structure
Modal overlay with centered card
### Key Sections
#### 1. Wizard Header
- **Title:** "Create Your Character"
- **Progress indicator:**
- 6 steps shown
- Active step highlighted
- Step labels visible
#### 2. Step Navigation
- **Footer buttons:**
- Cancel (left)
- Back (if not step 1)
- Next (steps 1-5)
- Create Character (step 6)
### Step-by-Step UI Elements
#### Step 1: Basic Info
- **Form elements:**
- Name input (required)
- Gender selector (dropdown)
- **Import section:**
- Hint text
- Import from JSON button (file picker)
#### Step 2: Description
- **Form elements:**
- Description textarea (4 rows, required)
- Background textarea (3 rows, optional)
#### Step 3: Race & Class
- **Selection grids:** (2x3 or responsive)
- Race cards (clickable)
- Class cards (clickable)
- **Card elements:**
- Name (bold)
- Description (gray)
- Selected state (highlighted border, gradient background)
- Hover effects
#### Step 4: Personality
- **Selection grid:** 2x2
- Personality type cards
- Same card styling as Step 3
- **Additional traits textarea** (optional)
#### Step 5: AI Model
- **Model selector:** Large dropdown
- Optgroups (OpenAI, OpenRouter)
- Model names with providers
- **Hint text:** Model personality differences
#### Step 6: Review
- **Preview panels:**
- Basic Information
- Description
- Background (if provided)
- Additional Traits (if provided)
- AI Model
- **Summary card:**
- Character identity statement
- Highlighted/special styling
---
## 📄 Future Pages (Phase 3+)
### Gamemaster Dashboard
- **Game creation wizard**
- **Player slot assignment**
- **Role management grid**
- **Game state overview**
- **AI control panel**
### Admin Panel
- **System overview**
- **User management**
- **LLM configuration**
- **Cost tracking dashboard**
- **Analytics charts**
### Character Sheet (Enhanced)
- **Stats display**
- **Inventory grid**
- **Skills list**
- **Equipment slots**
- **Character progression**
---
## 🎨 Common UI Components
### Buttons
1. **Primary button:** Purple gradient, white text
2. **Secondary button:** Transparent, border, hover effect
3. **Wizard button:** Extra gradient styling
4. **Export/Action buttons:** Subtle rgba background
5. **Icon buttons:** Small, inline
### Form Elements
1. **Text inputs:** Dark background, subtle border, focus glow
2. **Textareas:** Resizable, same styling as inputs
3. **Dropdowns:** Custom styling, optgroups
4. **File pickers:** Hidden, triggered by styled button
### Cards
1. **Selection cards:** Clickable, hover lift, selected state
2. **Character cards:** Compact, button included
3. **Message cards:** Bubbles, aligned left/right
4. **Preview panels:** Bordered sections with headers
### Indicators
1. **Status dots:** Colored circles (● ○)
2. **Badges:** Rounded rectangles, colored background
3. **Progress bars:** Step indicators
4. **Loading states:** Spinners, skeleton screens
### Feedback
1. **Toasts/Alerts:** Success/error messages
2. **Tooltips:** Hover information
3. **Validation messages:** Inline form errors
4. **Empty states:** No data placeholders
---
## 📐 Layout Patterns
### Responsive Breakpoints
- **Desktop:** > 768px (multi-column)
- **Mobile:** ≤ 768px (single column, stacked)
### Grid Systems
- **2-column:** Sidebar + main content
- **3-column:** Info + center + sidebar
- **Selection grids:** Auto-fit, min 200px
### Spacing
- **Sections:** 2-3rem padding
- **Elements:** 1-1.5rem gaps
- **Inline:** 0.5-1rem margins
---
## 🎯 Design Prompt Template
**For UI Design LLM:**
```
Create a modern, dark-themed UI design for [PAGE NAME] with these elements:
**Color Scheme:**
- Primary: Purple gradient (#667eea to #764ba2)
- Background: Dark navy (#1a1a2e, #16213e)
- Accents: White with 10% opacity borders
- Text: White and light gray
**Layout:**
[Describe specific layout]
**Components Needed:**
[List specific elements for that page]
**Style:**
- Modern, clean, RPG-themed
- Smooth gradients and shadows
- Glassmorphism effects
- Smooth hover animations
- Mobile responsive
**Inspiration:**
Discord's UI, modern game interfaces, fantasy themes
```
---
## 📊 Component Priority
### Essential (Implement First)
1. Session setup forms
2. Message display/composer
3. Character header/info
4. Navigation/buttons
### Important (Phase 2-3)
1. Character creation wizard
2. Storyteller dashboard
3. Profile displays
4. Export/import UI
### Nice-to-Have (Phase 4+)
1. Character sheets with stats
2. Inventory management
3. Dice roller UI
4. Image generation panels
5. Analytics dashboards
---
**Total UI Elements Cataloged:** 100+
**Pages Documented:** 4 (+ 3 future)
**Ready for design system creation**