Actions

Template

JourneyDetails: Difference between revisions

From Dune Awakening DB

mNo edit summary
mNo edit summary
 
(26 intermediate revisions by the same user not shown)
Line 1: Line 1:
<includeonly><!-- Template:JourneyDetails (Minimal Count Fix) -->
<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|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}}}}}}}
{{#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}}|
<div class="journey-details-header">
{{#vardefine:reward_data|{{#var:j_reward}}}}
  <div class="journey-tier-badge"><span class="tier-number">{{#var:j_tier}}</span></div>
{{#ifeq:{{#pos:{{#var:reward_data}}|"xp":}}|||{{#vardefine:xp_amount|100}}|{{#vardefine:xp_amount|{{#explode:{{#explode:{{#var:reward_data}}|"xp":|1}}|}|0}}}}}}}}
  <h2 class="journey-title">{{uc:{{#var:j_name}}}}</h2>
<div class="journey-details-header"><div class="journey-tier-badge"><span class="tier-number">{{#var:j_tier}}</span></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 class="journey-objectives">
      </div><!-- /.objective-item -->
    <div class="objectives-header">OBJECTIVES</div>
    }}
    <div class="objectives-list">
  </div><!-- /.objectives-list -->
        <!-- Get objectives -->
</div><!-- /.journey-objectives -->
        {{#get_external_data:source=externaldb
 
        |from=data_journey_objectives
<div class="journey-actions"><span class="action-button view-items">[[#|<span class="button-icon"></span>&nbsp;View&nbsp;Item&nbsp;Prep&nbsp;List]]</span>
        |data=ObjID=id,Title=title,Seq=seq
<span class="action-button view-guide">[[#|<span class="button-icon"></span>&nbsp;View&nbsp;Guide]]</span></div>
        |cache=yes
</includeonly><noinclude>{{Documentation}}</noinclude>
        |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">
                        <!-- Fixed: Only output one count value -->
                        {{#get_external_data:source=externaldb
                        |from=data_journey_tasks
                        |data=Count=COUNT(*)
                        |cache=yes
                        |where=objective_id={{{ObjID}}}
                        |limit=1
                        }}{{#for_external_table:|{{#vardefine:task_count|{{{Count}}}}}}}0/{{#var:task_count|0}}
                    </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">
    <button class="action-button view-items">
        <span class="button-icon">📋</span>
        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