ResourcePage: Difference between revisions
From Dune Awakening DB
mNo edit summary |
mNo edit summary |
||
| Line 1: | Line 1: | ||
<div class="dune-breadcrumb-nav"> | <div class="dune-breadcrumb-nav"> | ||
<templatestyles src="Template:ResourcePage/styles.css" /> | <templatestyles src="Template:ResourcePage/styles.css" /> | ||
{{#get_external_data: | {{#get_external_data: | ||
source=externaldb | |||
|from=data_items | |||
|data=ItemID=item_id,InternalName=internal_name,ItemClass=item_class,ItemSubclass=item_subclass,Tier=tier,Rarity=rarity,Faction=faction,Name=name,Description=description,HowToObtain=how_to_obtain,Notes=notes,AdditionalNotes=additional_notes,Weight=weight,MaxStacks=max_stacks,XPPerHarvest=xp_per_harvest,BaseVendorPrice=base_vendor_price,GuideLink=guide_link,IconLink=icon_link,ImageLink=image_link,Category1=category_1,Category2=category_2,Category3=category_3 | |||
|cache=yes | |||
|where=name='{{PAGENAME}}' | |||
|limit=1 | |||
}} | }} | ||
{{#for_external_table:|{{#vardefine:ItemID|{{{ItemID}}}}}{{#vardefine:InternalName|{{{InternalName}}}}}{{#vardefine: | {{#for_external_table:| | ||
{{#vardefine:ItemID|{{{ItemID}}}}}{{#vardefine:InternalName|{{{InternalName}}}}}{{#vardefine:ItemClass|{{{ItemClass}}}}}{{#vardefine:ItemSubclass|{{{ItemSubclass}}}}}{{#vardefine:Tier|{{{Tier}}}}}{{#vardefine:Rarity|{{{Rarity}}}}}{{#vardefine:Faction|{{{Faction}}}}}{{#vardefine:Name|{{{Name}}}}}{{#vardefine:Description|{{{Description}}}}}{{#vardefine:HowToObtain|{{{HowToObtain}}}}}{{#vardefine:Notes|{{{Notes}}}}}{{#vardefine:AdditionalNotes|{{{AdditionalNotes}}}}}{{#vardefine:Weight|{{{Weight}}}}}{{#vardefine:MaxStacks|{{{MaxStacks}}}}}{{#vardefine:XPPerHarvest|{{{XPPerHarvest}}}}}{{#vardefine:BaseVendorPrice|{{{BaseVendorPrice}}}}}{{#vardefine:GuideLink|{{{GuideLink}}}}}{{#vardefine:IconLink|{{{IconLink}}}}}{{#vardefine:ImageLink|{{{ImageLink}}}}}{{#vardefine:Category1|{{{Category1}}}}}{{#vardefine:Category2|{{{Category2}}}}}{{#vardefine:Category3|{{{Category3}}}}} | |||
}} | |||
<span id="menuRadialTrigger" class="menu-button-wrapper" style="cursor:pointer;">[[File:MenuButton.png|100px|link=|alt=Menu]]</span><span class="dune-breadcrumb-separator">/</span>[[{{#var:Category1}}|{{#var:Category1}}]]<span class="dune-breadcrumb-separator">/</span>[[{{#var:Category2}}|{{#var:Category2}}]]<span class="dune-breadcrumb-separator">/</span>[[{{#var:Category3}}|{{#var:Category3}}]]<span class="dune-breadcrumb-separator">/</span><span>{{PAGENAME}}</span> | |||
}} | |||
<span id="menuRadialTrigger" class="menu-button-wrapper" style="cursor:pointer;">[[File:MenuButton.png|100px|link=|alt=Menu]]</span><span class="dune-breadcrumb-separator">/</span>[[{{#var:Category1}}|{{#var:Category1}}]]<span class="dune-breadcrumb-separator">/</span>[[{{#var:Category2}}|{{#var:Category2}}]]<span class="dune-breadcrumb-separator">/</span>[[{{#var:Category3}}|{{#var:Category3}}]]<span class="dune-breadcrumb-separator">/</span><span>{{PAGENAME}}</span> | |||
</div> | </div> | ||
<div class="responsive-container"> | <div class="responsive-container"> | ||
<div class="responsive-col col1"> | <div class="responsive-col col1"> | ||
<div class="skin-pivot"> | <div class="skin-pivot"> | ||
| Line 25: | Line 20: | ||
<div class="dune-card-decoration"></div> | <div class="dune-card-decoration"></div> | ||
<div class="dune-card-inner"> | <div class="dune-card-inner"> | ||
<div class="dune-card-label">{{#var: | <div class="dune-card-label">{{#var:ItemClass}} - {{#var:ItemSubclass}}</div> | ||
<div class="dune-card-title"><span class="icon">◆</span> Resource Information</div> | <div class="dune-card-title"><span class="icon">◆</span> Resource Information</div> | ||
<div style="padding:3px;"></div> | <div style="padding:3px;"></div> | ||
<div class="dune-card-image" style="text-align:center;"><div class="has-border">{{#if:{{#var:ImageLink}}|[[File:{{#var:ImageLink}}|200px|alt={{#var:Name}}]]|[[File:Placeholder.png|200px|alt=No image available]]}}</div></div> | |||
<div class="dune-card-image" style="text-align: center;"> | |||
<div style="padding:3px;"></div> | <div style="padding:3px;"></div> | ||
<div class="dune-card-description">{{#invoke:DataTableParserV2|iconize|{{#var:Description}}}}</div> | <div class="dune-card-description">{{#invoke:DataTableParserV2|iconize|{{#var:Description}}}}</div> | ||
{{#if:{{#var:HowToObtain}}|<div class="dune-card-locked"><div class="dune-card-locked-label"><span class="dune-card-locked-icon">📍</span>How to Obtain</div><div class="dune-card-locked-value">{{#var:HowToObtain}}</div></div>}} | |||
{{#if:{{#var:HowToObtain}}| | |||
<div class="dune-table-wrapper"> | <div class="dune-table-wrapper"> | ||
<table class="infobox-dune-two-column"> | <table class="infobox-dune-two-column"> | ||
| Line 55: | Line 38: | ||
</table> | </table> | ||
</div> | </div> | ||
{{#get_external_data: | |||
source=externaldb | |||
|from=data_item_locations | |||
|data=LocationName=location_name,Note=note | |||
|cache=yes | |||
|where=internal_name='{{PAGENAME}}' | |||
}} | |||
{{#if:{{{LocationName|}}}|<div style="clear:both; padding:10px;"></div><div class="dune-card-title"><span class="icon">🗺</span> Harvest Locations</div><div style="padding:3px;"></div><div class="dune-card-description"><ul class="location-list">{{#for_external_table:|<li>'''{{{LocationName}}}'''{{#if:{{{Note|}}}|: {{{Note}}}}}</li>}}</ul></div>}} | |||
</div> | </div> | ||
</div> | </div> | ||
</div> | </div> | ||
</div> | </div> | ||
<div class="responsive-col col2"> | <div class="responsive-col col2"> | ||
<div class="skin-pivot"> | <div class="skin-pivot"> | ||
| Line 69: | Line 58: | ||
<div class="dune-card-title"><span class="icon">⚒</span> Crafting Recipes</div> | <div class="dune-card-title"><span class="icon">⚒</span> Crafting Recipes</div> | ||
<div style="padding:3px;"></div> | <div style="padding:3px;"></div> | ||
<div class="crafting-section"> | <div class="crafting-section"> | ||
<h3 class="dune-section-header">Crafted With | <h3 class="dune-section-header">Crafted With</h3> | ||
<div class="dune-card-description">Items that require {{#var:Name}} as an ingredient</div> | <div class="dune-card-description">Items that require {{#var:Name}} as an ingredient</div> | ||
<div class="recipe-search-container"><input type="text" id="craftedWithSearch" class="recipe-search-input" placeholder="Search recipes..."></div> | |||
<div class="recipe-search-container"> | |||
<div id="craftedWithPreview" class="recipe-table-preview"> | <div id="craftedWithPreview" class="recipe-table-preview"> | ||
{{#get_external_data: | {{#get_external_data: | ||
| Line 90: | Line 74: | ||
<div class="dune-table-wrapper"> | <div class="dune-table-wrapper"> | ||
<table class="infobox-dune-standard-table recipe-table" id="craftedWithTable"> | <table class="infobox-dune-standard-table recipe-table" id="craftedWithTable"> | ||
<thead> | <thead><tr class="tr-dark"><th style="width:35%;">Item Created</th><th style="width:40%;">Resources Needed</th><th style="width:25%;">Stations</th></tr></thead> | ||
<tbody>{{#for_external_table:|<tr class="recipe-row"><td>{{#invoke:DataTableParserV2|iconize|{{{OutputItem}}}}}</td><td>{{#invoke:DataTableParserV2|formatRecipeList|{{{Resources}}}}}</td><td>{{{Stations}}}</td></tr>}}</tbody> | |||
<tbody> | |||
</table> | </table> | ||
</div> | </div> | ||
</div> | </div> | ||
<div class="recipe-actions"><button class="dune-action-button view-all-crafted-with" data-resource="{{PAGENAME}}"><span class="icon">📋</span> View All Recipes</button></div> | |||
<div class="recipe-actions"> | |||
</div> | </div> | ||
<div style="clear:both; padding:10px;"></div> | <div style="clear:both; padding:10px;"></div> | ||
<div class="crafting-section"> | <div class="crafting-section"> | ||
<h3 class="dune-section-header">Crafted From</h3> | <h3 class="dune-section-header">Crafted From</h3> | ||
<div class="dune-card-description">Recipes that produce {{#var:Name}}</div> | <div class="dune-card-description">Recipes that produce {{#var:Name}}</div> | ||
<div class="recipe-search-container"><input type="text" id="craftedFromSearch" class="recipe-search-input" placeholder="Search recipes..."></div> | |||
<div class="recipe-search-container"> | |||
<div id="craftedFromPreview" class="recipe-table-preview"> | <div id="craftedFromPreview" class="recipe-table-preview"> | ||
{{#get_external_data: | {{#get_external_data: | ||
| Line 138: | Line 98: | ||
<div class="dune-table-wrapper"> | <div class="dune-table-wrapper"> | ||
<table class="infobox-dune-standard-table recipe-table" id="craftedFromTable"> | <table class="infobox-dune-standard-table recipe-table" id="craftedFromTable"> | ||
<thead> | <thead><tr class="tr-dark"><th style="width:35%;">Item Created</th><th style="width:40%;">Resources Needed</th><th style="width:25%;">Stations</th></tr></thead> | ||
<tbody>{{#for_external_table:|<tr class="recipe-row"><td>{{#invoke:DataTableParserV2|iconize|{{{OutputItem}}}}}</td><td>{{#invoke:DataTableParserV2|formatRecipeList|{{{Resources}}}}}</td><td>{{{Stations}}}</td></tr>}}</tbody> | |||
<tbody> | |||
</table> | </table> | ||
</div> | </div> | ||
</div> | </div> | ||
<div class="recipe-actions"><button class="dune-action-button view-all-crafted-from" data-resource="{{PAGENAME}}"><span class="icon">📋</span> View All Recipes</button></div> | |||
<div class="recipe-actions"> | |||
</div> | </div> | ||
</div> | </div> | ||
| Line 168: | Line 109: | ||
</div> | </div> | ||
</div> | </div> | ||
<div class="responsive-col col3"> | <div class="responsive-col col3"> | ||
<div class="skin-pivot"> | <div class="skin-pivot"> | ||
| Line 175: | Line 114: | ||
<div class="dune-card-decoration"></div> | <div class="dune-card-decoration"></div> | ||
<div class="dune-card-inner"> | <div class="dune-card-inner"> | ||
{{#get_external_data: | |||
source=externaldb | |||
|from=data_item_videos | |||
|data=VideoID=video_id,Context=context,Featured=featured | |||
|cache=yes | |||
|where=internal_name='{{PAGENAME}}' | |||
|limit=1 | |||
}} | |||
<div class="dune-card-label">VIDEO TUTORIALS</div> | <div class="dune-card-label">VIDEO TUTORIALS</div> | ||
<div class="dune-card-title"><span class="icon">▶</span> Resource Guide</div> | <div class="dune-card-title"><span class="icon">▶</span> Resource Guide</div> | ||
<div style="padding: | {{#if:{{{VideoID|}}}|<div class="dune-card-video" style="border:2px solid #e2d3ae;border-radius:4px;padding:2px;background-color:#262626;"><youtube>{{#var:VideoID}}</youtube></div>|{{#if:{{#var:GuideLink}}|<div class="dune-card-video" style="border:2px solid #e2d3ae;border-radius:4px;padding:2px;background-color:#262626;"><youtube>{{#var:GuideLink}}</youtube></div>|<div class="dune-card-video" style="border:2px solid #e2d3ae;border-radius:4px;padding:2px;background-color:#262626;"><youtube>r8lxVDqoHLQ</youtube></div>}} | ||
<div style="clear:both; padding:10px;"></div> | |||
{{#if:{{# | {{#get_external_data: | ||
source=externaldb | |||
|from=data_item_gallery | |||
|data=ImageURL=image_url,Caption=caption | |||
|cache=yes | |||
|where=internal_name='{{PAGENAME}}' | |||
|order by=position | |||
|limit=4 | |||
}} | |||
{{#if:{{{ImageURL|}}}|<div class="dune-card-label">IMAGE GALLERY</div><div style="padding:3px;"></div><div class="gallery-container">{{#for_external_table:|<div class="gallery-item">[[File:{{{ImageURL}}}|120px|alt={{{Caption}}}]]{{#if:{{{Caption|}}}|<div class="caption">{{{Caption}}}</div>|}}</div>}}</div>} | |||
<div style="clear:both; padding:10px;"></div> | <div style="clear:both; padding:10px;"></div> | ||
<div class="dune-card-title"><span class="icon">≡</span> Notes</div> | <div class="dune-card-title"><span class="icon">≡</span> Notes</div> | ||
<div style="padding:3px;"></div> | <div style="padding:3px;"></div> | ||
<div class="dune-card-description">{{#invoke:DataTableParserV2|iconize|{{#var:AdditionalNotes}}}}</div> | <div class="dune-card-description">{{#invoke:DataTableParserV2|iconize|{{#var:AdditionalNotes}}}}</div> | ||
</div> | </div> | ||
</div> | </div> | ||
| Line 200: | Line 145: | ||
</div> | </div> | ||
</div> | </div> | ||
<script id="recipePopupTemplate" type="text/template"> | <script id="recipePopupTemplate" type="text/template"> | ||
<div class="recipe-popup-overlay"> | <div class="recipe-popup-overlay"><div class="recipe-popup"><div class="popup-header"><h3 class="popup-title">{{title}}</h3><button class="popup-close">×</button></div><div class="popup-content"><div class="popup-search-container"><input type="text" class="popup-search-input" placeholder="Search recipes..."></div><div class="popup-table-wrapper"><table class="infobox-dune-standard-table recipe-popup-table"><thead><tr class="tr-dark"><th>Item Created</th><th>Resources Needed</th><th>Stations</th><th>Water (mL)</th><th>Craft Time</th><th>Schematic</th></tr></thead><tbody>{{tableRows}}</tbody></table></div></div></div></div> | ||
</script> | </script> | ||
Revision as of 22:33, 2 June 2025
{{{ItemClass}}} - {{{ItemSubclass}}}
◆ Resource Information
[[File:{{{ImageLink}}}|200px|alt={{{Name}}}]]
{{{Description}}}
How to Obtain
{{{HowToObtain}}}
| [[File:{{{IconLink}}}|16px]] Tier | {{{Tier}}} |
|---|---|
| ✦ Rarity | {{{Rarity}}} |
| 🏛 Faction | {{{Faction}}} |
| ⚖ Weight | {{{Weight}}} kg |
| 📦 Max Stacks | {{{MaxStacks}}} |
| 💰 Base Vendor Price | {{{BaseVendorPrice}}} Solaris |
| ⭐ XP per Harvest | {{{XPPerHarvest}}} |
CRAFTING
⚒ Crafting Recipes
Crafted With
Items that require {{{Name}}} as an ingredient
<input type="text" id="craftedWithSearch" class="recipe-search-input" placeholder="Search recipes...">
<thead></thead>
<tbody></tbody>
| Item Created | Resources Needed | Stations |
|---|
<button class="dune-action-button view-all-crafted-with" data-resource="ResourcePage">📋 View All Recipes</button>
Crafted From
Recipes that produce {{{Name}}}
<input type="text" id="craftedFromSearch" class="recipe-search-input" placeholder="Search recipes...">
<thead></thead>
<tbody></tbody>
| Item Created | Resources Needed | Stations |
|---|
<button class="dune-action-button view-all-crafted-from" data-resource="ResourcePage">📋 View All Recipes</button>
VIDEO TUTORIALS
▶ Resource Guide
{{#if:|Provided ID could not be validated.
|Provided ID could not be validated.
{{#if:|IMAGE GALLERY
}
≡ Notes
{{{AdditionalNotes}}}
<script id="recipePopupTemplate" type="text/template">
</script>
