JourneyPage: Difference between revisions
From Dune Awakening DB
mNo edit summary |
mNo edit summary |
||
| Line 8: | Line 8: | ||
<!-- Journey Categories (Left Column - 60%) --> | <!-- Journey Categories (Left Column - 60%) --> | ||
<div class="journey-categories"> | <div class="journey-categories"> | ||
<!-- A New Beginning | <!-- A New Beginning --> | ||
{{#get_external_data:source=externaldb | <div class="journey-section" data-section="A New Beginning"> | ||
<div class="journey-section-header"> | |||
<span class="section-icon">🌅</span> | |||
<h3 class="section-title">A New Beginning</h3> | |||
</div> | |||
<div class="journey-grid"> | |||
}} | {{#get_external_data: source=externaldb | ||
{{#if:{{{ | |from=data_journeys | ||
<div class="journey-section" data- | |data=ID=id,Slug=slug,Name=name,Description=description,Tier=tier,Category=journey_category,Location=location,Icon=journey_icon,Reward=reward_json | ||
|cache=yes | |||
|where=journey_group='A New Beginning' AND id IS NOT NULL AND name IS NOT NULL AND name != '' | |||
|order by=tier, id | |||
}} | |||
{{#for_external_table:|<div class="journey-card" data-journey-id="{{{ID}}}" data-name="{{{Name}}}" data-slug="{{{Slug}}}" data-description="{{{Description}}}" data-tier="{{{Tier}}}" data-category="{{{Category}}}" data-location="{{{Location}}}" data-group="A New Beginning" data-reward="{{{Reward}}}" data-icon="{{{Icon|}}}"> | |||
<div class="journey-card-inner"> | |||
<div class="journey-icon">🌅</div> | |||
<div class="journey-name">{{{Name}}}</div> | |||
<div class="journey-tier">TIER {{{Tier}}}</div> | |||
</div> | |||
{{#if:{{{Icon|}}}|<div class="journey-bg-source">[[File:{{{Icon}}}|link=]]</div>|}} | |||
</div> | |||
}} | |||
</div> | |||
</div> | |||
<!-- Vermillius Gap --> | |||
<div class="journey-section" data-section="Vermillius Gap"> | |||
<div class="journey-section-header"> | |||
<span class="section-icon">🏜️</span> | |||
<h3 class="section-title">Vermillius Gap</h3> | |||
</div> | |||
<div class="journey-grid"> | |||
{{#get_external_data: source=externaldb | |||
|from=data_journeys | |||
|data=ID=id,Slug=slug,Name=name,Description=description,Tier=tier,Category=journey_category,Location=location,Icon=journey_icon,Reward=reward_json | |||
|cache=yes | |||
|where=journey_group='Vermillius Gap' AND id IS NOT NULL AND name IS NOT NULL AND name != '' | |||
|order by=tier, id | |||
}} | |||
{{#for_external_table:|<div class="journey-card" data-journey-id="{{{ID}}}" data-name="{{{Name}}}" data-slug="{{{Slug}}}" data-description="{{{Description}}}" data-tier="{{{Tier}}}" data-category="{{{Category}}}" data-location="{{{Location}}}" data-group="Vermillius Gap" data-reward="{{{Reward}}}" data-icon="{{{Icon|}}}"> | |||
<div class="journey-card-inner"> | |||
<div class="journey-icon">🏜️</div> | |||
<div class="journey-name">{{{Name}}}</div> | |||
<div class="journey-tier">TIER {{{Tier}}}</div> | |||
</div> | |||
{{#if:{{{Icon|}}}|<div class="journey-bg-source">[[File:{{{Icon}}}|link=]]</div>|}} | |||
</div> | |||
}} | |||
</div> | |||
</div> | |||
<!-- Jabal Eifrit & Hagga Rift --> | |||
<div class="journey-section" data-section="Jabal Eifrit & Hagga Rift"> | |||
<div class="journey-section-header"> | |||
<span class="section-icon">⛰️</span> | |||
<h3 class="section-title">Jabal Eifrit & Hagga Rift</h3> | |||
</div> | |||
<div class="journey-grid"> | |||
{{#get_external_data: source=externaldb | |||
|from=data_journeys | |||
|data=ID=id,Slug=slug,Name=name,Description=description,Tier=tier,Category=journey_category,Location=location,Icon=journey_icon,Reward=reward_json | |||
|cache=yes | |||
|where=journey_group='Jabal Eifrit & Hagga Rift' AND id IS NOT NULL AND name IS NOT NULL AND name != '' | |||
|order by=tier, id | |||
}} | |||
{{#for_external_table:|<div class="journey-card" data-journey-id="{{{ID}}}" data-name="{{{Name}}}" data-slug="{{{Slug}}}" data-description="{{{Description}}}" data-tier="{{{Tier}}}" data-category="{{{Category}}}" data-location="{{{Location}}}" data-group="Jabal Eifrit & Hagga Rift" data-reward="{{{Reward}}}" data-icon="{{{Icon|}}}"> | |||
<div class="journey-card-inner"> | |||
<div class="journey-icon">⛰️</div> | |||
<div class="journey-name">{{{Name}}}</div> | |||
<div class="journey-tier">TIER {{{Tier}}}</div> | |||
</div> | |||
{{#if:{{{Icon|}}}|<div class="journey-bg-source">[[File:{{{Icon}}}|link=]]</div>|}} | |||
</div> | |||
}} | |||
</div> | |||
</div> | |||
<!-- Find The Fremen --> | |||
<div class="journey-section" data-section="Find The Fremen"> | |||
<div class="journey-section-header"> | |||
<span class="section-icon">🏃</span> | |||
<h3 class="section-title">Find The Fremen</h3> | |||
</div> | |||
<div class="journey-grid"> | |||
{{#get_external_data: source=externaldb | |||
|from=data_journeys | |||
|data=ID=id,Slug=slug,Name=name,Description=description,Tier=tier,Category=journey_category,Location=location,Icon=journey_icon,Reward=reward_json | |||
|cache=yes | |||
|where=journey_group='Find The Fremen' AND id IS NOT NULL AND name IS NOT NULL AND name != '' | |||
|order by=tier, id | |||
}} | |||
{{#for_external_table:|<div class="journey-card" data-journey-id="{{{ID}}}" data-name="{{{Name}}}" data-slug="{{{Slug}}}" data-description="{{{Description}}}" data-tier="{{{Tier}}}" data-category="{{{Category}}}" data-location="{{{Location}}}" data-group="Find The Fremen" data-reward="{{{Reward}}}" data-icon="{{{Icon|}}}"> | |||
<div class="journey-card-inner"> | |||
<div class="journey-icon">🏃</div> | |||
<div class="journey-name">{{{Name}}}</div> | |||
<div class="journey-tier">TIER {{{Tier}}}</div> | |||
</div> | </div> | ||
{{#if:{{{Icon|}}}|<div class="journey-bg-source">[[File:{{{Icon}}}|link=]]</div>|}} | |||
</div> | |||
}} | |||
</div> | |||
{{#if:{{{ | |||
</div> | </div> | ||
<!-- Miscellaneous --> | |||
< | <div class="journey-section" data-section="Miscellaneous"> | ||
<div class="journey-section-header"> | |||
<span class="section-icon">📋</span> | |||
<h3 class="section-title">Miscellaneous</h3> | |||
</div> | |||
<div class="journey-grid"> | |||
{{#get_external_data: source=externaldb | |||
|from=data_journeys | |||
|data=ID=id,Slug=slug,Name=name,Description=description,Tier=tier,Category=journey_category,Location=location,Icon=journey_icon,Reward=reward_json | |||
|cache=yes | |||
|where=journey_group='Miscellaneous' AND id IS NOT NULL AND name IS NOT NULL AND name != '' | |||
|order by=tier, id | |||
}} | |||
{{#for_external_table:|<div class="journey-card" data-journey-id="{{{ID}}}" data-name="{{{Name}}}" data-slug="{{{Slug}}}" data-description="{{{Description}}}" data-tier="{{{Tier}}}" data-category="{{{Category}}}" data-location="{{{Location}}}" data-group="Miscellaneous" data-reward="{{{Reward}}}" data-icon="{{{Icon|}}}"> | |||
<div class="journey-card-inner"> | |||
<div class="journey-icon">📋</div> | |||
<div class="journey-name">{{{Name}}}</div> | |||
<div class="journey-tier">TIER {{{Tier}}}</div> | |||
</div> | </div> | ||
{{#if:{{{Icon|}}}|<div class="journey-bg-source">[[File:{{{Icon}}}|link=]]</div>|}} | |||
</div> | |||
}} | |||
</div> | |||
{{#if:{{{ | |||
</div> | </div> | ||
<!-- Factions --> | |||
< | <div class="journey-section" data-section="Factions"> | ||
<div class="journey-section-header"> | |||
<span class="section-icon">🏛️</span> | |||
<h3 class="section-title">Factions</h3> | |||
</div> | |||
<div class="journey-grid"> | |||
{{#get_external_data: source=externaldb | |||
|from=data_journeys | |||
|data=ID=id,Slug=slug,Name=name,Description=description,Tier=tier,Category=journey_category,Location=location,Icon=journey_icon,Reward=reward_json | |||
|cache=yes | |||
|where=journey_group='Factions' AND id IS NOT NULL AND name IS NOT NULL AND name != '' | |||
|order by=tier, id | |||
}} | |||
{{#for_external_table:|<div class="journey-card" data-journey-id="{{{ID}}}" data-name="{{{Name}}}" data-slug="{{{Slug}}}" data-description="{{{Description}}}" data-tier="{{{Tier}}}" data-category="{{{Category}}}" data-location="{{{Location}}}" data-group="Factions" data-reward="{{{Reward}}}" data-icon="{{{Icon|}}}"> | |||
<div class="journey-card-inner"> | |||
<div class="journey-icon">🏛️</div> | |||
<div class="journey-name">{{{Name}}}</div> | |||
<div class="journey-tier">TIER {{{Tier}}}</div> | |||
</div> | </div> | ||
{{#if:{{{Icon|}}}|<div class="journey-bg-source">[[File:{{{Icon}}}|link=]]</div>|}} | |||
</div> | |||
}} | |||
</div> | |||
{{#if:{{{ | |||
</div> | </div> | ||
</div> | </div> | ||
| Line 173: | Line 209: | ||
</div> | </div> | ||
<script> | <script> | ||
// Build journey data from HTML data attributes | // Build journey data from HTML data attributes | ||
| Line 210: | Line 245: | ||
})(); | })(); | ||
</script> | </script> | ||
<!-- Popup container will be added by JavaScript --> | |||
</includeonly><noinclude> | </includeonly><noinclude> | ||
{{Documentation}} | {{Documentation}} | ||
== Journey Page Template == | |||
This template displays the journey tracking system for Dune Awakening. | |||
=== Usage === | |||
Simply add <code><nowiki>{{JourneyPage}}</nowiki></code> to any page where you want the journey tracker to appear. | |||
=== Features === | |||
* Displays all journeys grouped by category | |||
* Interactive journey cards that show details when clicked | |||
* Progress tracking with checkboxes | |||
* Material prep list for each journey | |||
* Video guide links (when available) | |||
* Responsive design for different screen sizes | |||
=== Dependencies === | |||
* Template:JourneyPage/styles.css - Styling | |||
* MediaWiki:Common.js - JavaScript functionality | |||
=== Database Tables === | |||
This template pulls data from: | |||
* data_journeys - Main journey information | |||
* data_journey_objectives - Objectives for each journey | |||
* data_journey_tasks - Tasks within objectives | |||
* data_journey_task_components - Materials needed for tasks | |||
[[Category:Dune Templates]] | |||
[[Category:Interactive Templates]] | |||
</noinclude> | </noinclude> | ||
Revision as of 01:36, 26 May 2025
Journey Page Template
This template displays the journey tracking system for Dune Awakening.
Usage
Simply add {{JourneyPage}} to any page where you want the journey tracker to appear.
Features
- Displays all journeys grouped by category
- Interactive journey cards that show details when clicked
- Progress tracking with checkboxes
- Material prep list for each journey
- Video guide links (when available)
- Responsive design for different screen sizes
Dependencies
- Template:JourneyPage/styles.css - Styling
- MediaWiki:Common.js - JavaScript functionality
Database Tables
This template pulls data from:
- data_journeys - Main journey information
- data_journey_objectives - Objectives for each journey
- data_journey_tasks - Tasks within objectives
- data_journey_task_components - Materials needed for tasks
