Actions

Template

JourneyDetails: Difference between revisions

From Dune Awakening DB

mNo edit summary
mNo edit summary
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
<includeonly><!-- Template:JourneyDetails (cleaned) -->
<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:
{{#for_external_table:|{{#vardefine:j_name |{{{Name}}}}}{{#vardefine:j_desc |{{{Description}}}}}{{#vardefine:j_tier |{{{Tier}}}}}}}
  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|}}}}}
}}
 
{{#vardefine:xp_amount|100}}
{{#vardefine:xp_amount|100}}
{{#if:{{#var:j_reward}}|
  {{#vardefine:reward_data|{{#var:j_reward}}}}
  {{#ifeq:{{#pos:{{#var:reward_data}}|"xp":}}||
    |                              <!-- nothing found – keep default 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"><span class="tier-number">{{#var:j_tier}}</span></div>
   <div class="journey-tier-badge"><span class="tier-number">{{#var:j_tier}}</span></div>
Line 28: Line 7:
   <span class="completion-status">0% COMPLETE</span>
   <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"><span class="xp-icon">XP</span><span class="xp-amount">{{#var:xp_amount}}</span></div>
   <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">
</div>
     {{#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>
 
<div class="journey-objectives">
  <div class="objectives-header">OBJECTIVES</div>
  <div class="objectives-list">
     {{#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|}}">
        <!-- objective header -->
        <div class="objective-header" data-objective-id="{{{ObjID}}}">
          <div class="objective-icon">{{{Seq}}}</div>
          <div class="objective-title">{{{Title}}}</div>
          <div class="objective-progress" data-objective-id="{{{ObjID}}}">0/0</div>
        </div>
 
        <!-- tasks -->
        <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={{{ObjID}}}
            |order by = seq
          }}
          {{#for_external_table:|
            {{#if:{{{Description|}}}|       <!-- guard against blanks -->
              <div class="task-item" data-task-id="{{{TaskID}}}" data-objective-id="{{{ObjID}}}">
                <div class="task-checkbox"></div>
                <div class="task-description">{{#invoke:DataTableParserV2|iconize|{{{Description}}}}}</div>
                {{#if:{{{Qty|}}}|<div class="task-qty">{{{Qty}}} pcs</div>|}}
              </div>
             }}
             }}
           }}
           }}
Line 83: Line 20:
</div><!-- /.journey-objectives -->
</div><!-- /.journey-objectives -->


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

Latest revision as of 16:51, 2 June 2025