{{ t.message }}

DM Hub

Active Campaign: {{ activeCampaign.name }}
AI Console
Map & Combat
Search
Notes
AI Suggestions
{{ token.name[0] }}
{{ token.name }}
🗺️
No Map Active
Push a 'map' type image from the queue or select one below.
{{ overlay.text }}
Story Maps
{{ m.filename }}
{{ activeCampaign && activeCampaign.adventure_name ? 'No maps found for current chapter' : 'Link an adventure to see context maps' }}
Text Overlay
{{ overlay.text }}

Combat Mode

Round
{{ displayState.combat_data.round_number || 1 }}
Current Turn
{{ currentTurnName }}
{{ p.initiative }}
{{ p.name }} ▶ Active
{{ p.hp }}/{{ p.max_hp }} • AC {{ p.ac }}
{{ cond }} ×
Apply Condition

Combat is not currently active.

No campaign selected

Choose or create a campaign to continue.

Filter by Source
Empty selection = all sources searched
Searching...
🔍
Unified Search
Type to search all D&D content at once.
Try: "Fireball", "Red Dragon", "Grappling", "Tavern"
Monsters ({{ unifiedSearchResults.monsters.length }})
🐜
{{ c.name }}
CR {{ c.challenge_rating }} • {{ c.type }}
Spells ({{ unifiedSearchResults.spells.length }})
{{ s.title || 'Spell' }}
{{ (s.content || '').substring(0, 60) }}
Magic Items ({{ unifiedSearchResults.items.length }})
🛡
{{ it.title || 'Item' }}
{{ it.item_type || '' }} • {{ it.rarity }}
Rules ({{ unifiedSearchResults.rules.length }})
📚
{{ r.title || 'Rule' }}
{{ (r.content || '').substring(0, 60) }}
Images ({{ unifiedSearchResults.images.length }})

No results for "{{ unifiedSearchQuery }}"

Generating...
{{ lastSuggestion.type }} Suggestion

{{ lastSuggestion.text }}

Pending Image Approvals
{{ item.name || 'AI Suggestion' }}
AI Suggestions
Generate encounters, NPCs, loot tables, or DC suggestions for your campaign.

Your Campaigns

Campaign Name Adventure Players Created Actions
{{ c.name }} Active
{{ c.adventure_name || 'Homebrew' }} {{ c.players ? c.players.length : 0 }} {{ c.created ? new Date(c.created).toLocaleDateString() : 'Unknown' }}

No campaigns found. Create your first one!

Sources & Documents

Adventure Modules
Sourcebooks
RAG Library
{{ task.status }} {{ task.progress }}%
Error: {{ task.error }}
{{ adv.name }}
Level Range: {{ adv.level_range || 'N/A' }}
Chapters: {{ adv.chapters_count || 0 }} | Images: {{ adv.images_count || 0 }}

No adventure modules found. Import your first one!

Title Last Processed Actions
{{ sb.title }}
{{ sb.last_processed || 'N/A' }}

No sourcebooks found. Import your first one!

Filename Parent Category Size Status Actions
{{ pdf.filename }} {{ pdf.parent || '-' }} {{ pdf.source_type || '-' }} {{ pdf.size_mb }} MB Indexed Not Indexed

No PDFs found in the RAG source directory.

Character Library

Name Class & Level Stats Actions
{{ char.character_name }}
{{ char.class || char.class_name }} {{ char.level }} HP: {{ char.hp }}/{{ char.max_hp }} | AC: {{ char.ac }}

No characters found in library.