Actions

Template

JourneyDetails: Difference between revisions

From Dune Awakening DB

Created page with "<includeonly><!-- Template:JourneyDetails (Optimized) --> {{#get_external_data:source=externaldb |from=data_journeys |data=ID=id,Name=name,Description=description,Tier=tier,Reward=reward_json |cache=yes |where=id={{{id|{{{1|}}}}}} |limit=1 }} {{#for_external_table:| {{#vardefine:j_name|{{{Name}}}}} {{#vardefine:j_desc|{{{Description}}}}} {{#vardefine:j_tier|{{{Tier}}}}} {{#vardefine:j_reward|{{{Reward|}}}}} }} <!-- Parse XP reward --> {{#vardefine:xp_amount|100}} {..."
 
mNo edit summary
 
(28 intermediate revisions by the same user not shown)
Line 1: Line 1:
<includeonly><!-- Template:JourneyDetails (Optimized) -->
<includeonly><!-- JourneyDetails -->{{#get_external_data:source = externaldb|from = data_journeys|data = ID=id,Name=name,Description=description,Tier=tier|cache = yes|where = id={{{id|{{{1|}}}}}}|limit = 1}}
{{#get_external_data:source=externaldb
{{#for_external_table:|{{#vardefine:j_name |{{{Name}}}}}{{#vardefine:j_desc |{{{Description}}}}}{{#vardefine:j_tier |{{{Tier}}}}}}}
|from=data_journeys
|data=ID=id,Name=name,Description=description,Tier=tier,Reward=reward_json
|cache=yes
|where=id={{{id|{{{1|}}}}}}
|limit=1
}}
{{#for_external_table:|
{{#vardefine:j_name|{{{Name}}}}}
{{#vardefine:j_desc|{{{Description}}}}}
{{#vardefine:j_tier|{{{Tier}}}}}
{{#vardefine:j_reward|{{{Reward|}}}}}
}}
 
<!-- Parse XP reward -->
{{#vardefine:xp_amount|100}}
{{#vardefine:xp_amount|100}}
{{#if:{{#var:j_reward}}|
  {{#vardefine:reward_data|{{#var:j_reward}}}}
  <!-- Extract XP value if exists -->
  {{#ifeq:{{#pos:{{#var:reward_data}}|"xp":}}||
    |{{#vardefine:xp_amount|100}}
    |{{#vardefine:xp_amount|{{#explode:{{#explode:{{#var:reward_data}}|"xp":|1}}|}|0}}}}
  }}
}}
<div class="journey-details-header">
<div class="journey-details-header">
    <div class="journey-tier-badge">
  <div class="journey-tier-badge"><span class="tier-number">{{#var:j_tier}}</span></div>
        <span class="tier-number">{{#var:j_tier}}</span>
  <h2 class="journey-title">{{uc:{{#var:j_name}}}}</h2>
    </div>
  <span class="completion-status">0% COMPLETE</span>
    <h2 class="journey-title">{{uc:{{#var:j_name}}}}</h2>
    <span class="completion-status">0% COMPLETE</span>
</div>
</div>
<div class="journey-description">{{#var:j_desc}}</div>
<div class="journey-description">{{#var:j_desc}}</div>
<div class="journey-rewards">
<div class="journey-rewards">
    <div class="rewards-header">REWARD</div>
  <div class="rewards-header">REWARD</div>
    <div class="rewards-content">
  <div class="rewards-content"><span class="xp-icon">XP</span><span class="xp-amount">{{#var:xp_amount}}</span></div></div><div class="journey-objectives"><div class="objectives-header">OBJECTIVES</div><div class="objectives-list">
        <span class="xp-icon">XP</span>
    {{#get_external_data:source = externaldb|from = data_journey_objectives|data = ObjID=id,Title=title,Seq=seq|cache = yes|where = journey_id={{{id|{{{1|}}}}}}|order by = seq}}{{#vardefine:obj_count|0}}{{#for_external_table:|{{#vardefine:obj_count|{{#expr:{{#var:obj_count}}+1}}}}{{#vardefine:current_obj_id|{{{ObjID}}}}}{{#vardefine:current_obj_title|{{{Title}}}}}{{#vardefine:current_obj_seq|{{{Seq}}}}}<div class="objective-item{{#ifexpr:{{#var:obj_count}}>1| collapsed|}}"><div class="objective-header" data-objective-id="{{#var:current_obj_id}}"><div class="objective-icon">{{#var:current_obj_seq}}</div><div class="objective-title">{{#var:current_obj_title}}</div><div class="objective-progress" data-objective-id="{{#var:current_obj_id}}">0/0</div></div><div class="objective-tasks">{{#get_external_data:source = externaldb|from = data_journey_tasks|data = TaskID=id,Description=description,Qty=qty_needed|cache = yes|where = objective_id={{#var:current_obj_id}}|order by = seq}}{{#for_external_table:|{{#if:{{{Description|}}}|<div class="task-item" data-task-id="{{{TaskID}}}" data-objective-id="{{#var:current_obj_id}}"><div class="task-checkbox"></div><div class="task-description">{{#invoke:DataTableParserV2|iconize|{{{Description}}}}}</div>{{#if:{{{Qty|}}}|<div class="task-qty">{{{Qty}}} pcs</div>|}}</div>
        <span class="xp-amount">{{#var:xp_amount}}</span>
            }}
    </div>
          }}
</div>
        </div><!-- /.objective-tasks -->
 
      </div><!-- /.objective-item -->
<div class="journey-objectives">
    }}
    <div class="objectives-header">OBJECTIVES</div>
  </div><!-- /.objectives-list -->
    <div class="objectives-list">
</div><!-- /.journey-objectives -->
        <!-- Get objectives -->
        {{#get_external_data:source=externaldb
        |from=data_journey_objectives
        |data=ObjID=id,Title=title,Seq=seq
        |cache=yes
        |where=journey_id={{{id|{{{1|}}}}}}
        |order by=seq
        }}
        {{#vardefine:obj_count|0}}
        {{#for_external_table:|
            {{#vardefine:obj_count|{{#expr:{{#var:obj_count}}+1}}}}
            <div class="objective-item{{#ifexpr:{{#var:obj_count}}>1| collapsed|}}">
                <div class="objective-header" data-objective-id="{{{ObjID}}}">
                    <div class="objective-icon">{{{Seq}}}</div>
                    <div class="objective-title">{{{Title}}}</div>
                    <div class="objective-progress">
                        <!-- Count tasks for this objective -->
                        {{#get_external_data:source=externaldb
                        |from=data_journey_tasks
                        |data=Count=COUNT(*)
                        |cache=yes
                        |where=objective_id={{{ObjID}}}
                        }}{{#for_external_table:|0/{{{Count}}}}}
                    </div>
                </div>
                <div class="objective-tasks">
                    <!-- Get tasks -->
                    {{#get_external_data:source=externaldb
                    |from=data_journey_tasks
                    |data=TaskID=id,Description=description,Qty=qty_needed
                    |cache=yes
                    |where=objective_id={{{ObjID}}}
                    |order by=seq
                    }}
                    {{#for_external_table:|
                        <div class="task-item" data-task-id="{{{TaskID}}}">
                            <div class="task-checkbox"></div>
                            <div class="task-description">{{#invoke:DataTableParserV2|iconize|{{{Description}}}}}</div>
                            {{#if:{{{Qty|}}}|<div class="task-qty">{{{Qty}}} pcs</div>|}}
                        </div>
                    }}
                </div>
            </div>
        }}
    </div>
</div>


<div class="journey-actions">
<div class="journey-actions"><span class="action-button view-items">[[#|<span class="button-icon"></span>&nbsp;View&nbsp;Item&nbsp;Prep&nbsp;List]]</span>
    <button class="action-button view-items">
<span class="action-button view-guide">[[#|<span class="button-icon"></span>&nbsp;View&nbsp;Guide]]</span></div>
        <span class="button-icon">📋</span>
</includeonly><noinclude>{{Documentation}}</noinclude>
        View Item Prep List
    </button>
    <button class="action-button view-guide">
        <span class="button-icon">▶️</span>
        View Guide
    </button>
</div>
</includeonly><noinclude>
{{Documentation}}
</noinclude>

Latest revision as of 16:51, 2 June 2025