initial commit

This commit is contained in:
CPTN Cosmo 2026-04-26 21:01:44 +02:00
commit 7246e3f892
10 changed files with 1728 additions and 0 deletions

View file

@ -0,0 +1,66 @@
<div class="ikonis-manager-container" style="background: #0f0f1b; color: white; padding: 1.5rem; height: 100%; display: flex; flex-direction: column; gap: 1.5rem;">
<div class="manager-section bonded-config">
<h3 style="color: #ff2e63; border-bottom: 1px solid #ff2e63; padding-bottom: 0.5rem; margin-top: 0;">
<i class="fa-solid fa-link"></i> Bonded Feature Configuration
</h3>
<div class="bonded-slot motherboard-card" data-slot="bonded" style="padding: 1rem; background: rgba(255,255,255,0.03); border: 1px dashed #444;">
<p style="font-size: 0.9rem; color: #888; margin-bottom: 0.5rem;">Attach the core feature of this motherboard.</p>
<div class="feature-drop-zone {{#if ikonis.bonded.feature}}filled{{else}}empty{{/if}}" data-augment-id="bonded" style="min-height: 60px; border: 2px dashed #333; border-radius: 8px; display: flex; align-items: center; justify-content: center;">
{{#if ikonis.bonded.feature}}
<div class="feature-display" style="display: flex; align-items: center; gap: 1rem; width: 100%; padding: 0.5rem;">
<img src="{{ikonis.bonded.feature.img}}" style="width: 40px; height: 40px; border-radius: 4px;">
<span style="font-weight: bold; flex: 1;">{{ikonis.bonded.feature.name}}</span>
<a data-action="removeFeature" data-augment-id="bonded" style="color: #ff2e63;"><i class="fa-solid fa-times-circle"></i></a>
</div>
{{else}}
<span style="color: #444;">Drop Feature Item Here</span>
{{/if}}
</div>
</div>
</div>
<div class="manager-section augments-config" style="flex: 1; display: flex; flex-direction: column;">
<h3 style="color: #ff2e63; border-bottom: 1px solid #ff2e63; padding-bottom: 0.5rem;">
<i class="fa-solid fa-microchip"></i> Augment Slots ({{usedSlots}} / {{maxSlots}})
</h3>
<div class="slots-grid" style="display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; overflow-y: auto; flex: 1; padding-top: 0.5rem;">
{{#each ikonis.slots as |slot|}}
<div class="slot-card motherboard-card" style="background: rgba(255,255,255,0.03); border: 1px solid #2d3436; border-radius: 12px; display: flex; flex-direction: column;">
<div class="slot-header" style="background: rgba(255,255,255,0.05); padding: 0.5rem 1rem; display: flex; justify-content: space-between; align-items: center;">
<span style="font-weight: bold; color: #ff2e63;">Slot {{slot.index}}</span>
{{#if slot.aug}}
<a data-action="removeAugment" data-id="{{slot.aug.id}}" style="color: #888;"><i class="fa-solid fa-trash-alt"></i></a>
{{/if}}
</div>
<div class="slot-body" style="padding: 1rem; flex: 1; display: flex; flex-direction: column; gap: 0.75rem;">
{{#if slot.aug}}
<div class="aug-info">
<div style="font-weight: bold; font-size: 1.1rem;">{{slot.aug.name}}</div>
<div style="font-size: 0.9rem; color: #d1d8e0;">{{slot.aug.effect}}</div>
<div style="font-size: 0.8rem; color: #888; font-style: italic;">Cost: {{slot.aug.cost}}</div>
</div>
<div class="feature-drop-zone {{#if slot.aug.feature}}filled{{else}}empty{{/if}}" data-augment-id="{{slot.aug.id}}" style="min-height: 50px; border: 2px dashed #333; border-radius: 8px; display: flex; align-items: center; justify-content: center;">
{{#if slot.aug.feature}}
<div class="feature-display" style="display: flex; align-items: center; gap: 0.5rem; width: 100%; padding: 0.25rem;">
<img src="{{slot.aug.feature.img}}" style="width: 30px; height: 30px; border-radius: 4px;">
<span style="font-size: 0.9rem; flex: 1;">{{slot.aug.feature.name}}</span>
<a data-action="removeFeature" data-augment-id="{{slot.aug.id}}" style="color: #ff2e63;"><i class="fa-solid fa-times"></i></a>
</div>
{{else}}
<span style="font-size: 0.8rem; color: #444;">Drop Feature</span>
{{/if}}
</div>
{{else}}
<button type="button" class="install-btn" data-action="addAugment" style="flex: 1; background: transparent; border: 2px dashed #333; color: #444; border-radius: 8px; cursor: pointer;">
<i class="fa-solid fa-plus"></i> Install Tech
</button>
{{/if}}
</div>
</div>
{{/each}}
</div>
</div>
</div>

View file

@ -0,0 +1,49 @@
<section class="motherboard-content tab {{#if (eq activeTab 'motherboard')}}active{{/if}}" data-group="primary" data-tab="motherboard">
<div class="motherboard-header" style="margin-bottom: 2rem;">
<h2><i class="fa-solid fa-microchip"></i> {{localize "DAGGERHEART.ITEMS.Ikonis.Motherboard"}}</h2>
<div class="slots-info">
<span>{{usedSlots}} / {{maxSlots}} {{localize "DAGGERHEART.ITEMS.Ikonis.AugmentSlots"}}</span>
</div>
</div>
{{#if ikonis.bonded}}
<div class="bonded-feature motherboard-card" style="border-left: 4px solid #ff2e63; background: rgba(255,46,99,0.05); margin-bottom: 2rem; padding: 1rem; border-radius: 8px;">
<div class="bonded-info" style="display: flex; align-items: center; gap: 1rem;">
<div class="text">
<h3 style="margin: 0; color: #ff2e63; font-size: 1.2rem;">{{ikonis.bonded.fullName}} (Primary)</h3>
<p style="margin: 0.25rem 0 0 0; color: #d1d8e0; font-size: 0.95rem;">{{ikonis.bonded.effect}}</p>
</div>
</div>
</div>
{{/if}}
<div class="augments-section">
<div class="section-header" style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem;">
<h3 style="margin: 0; color: #e0e0e0;">Installed Augments</h3>
<button type="button" class="add-augment-btn" data-action="addAugment" style="background: #ff2e63; color: white; border: none; padding: 0.4rem 0.8rem; border-radius: 4px; cursor: pointer;">
<i class="fa-solid fa-plus"></i> Install Tech
</button>
</div>
<div class="augments-list" style="display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;">
{{#each ikonis.augments as |aug|}}
<div class="augment-item motherboard-card" style="padding: 1rem; background: rgba(255,255,255,0.02); border: 1px solid #2d3436; border-radius: 8px; position: relative; min-height: 85px; display: flex; flex-direction: column;">
<a class="remove-btn" data-action="removeAugment" data-id="{{aug.id}}" style="position: absolute; top: 0.5rem; right: 0.5rem; color: #666; cursor: pointer;"><i class="fa-solid fa-trash-alt"></i></a>
<div style="display: flex; gap: 0.75rem; align-items: center; margin-bottom: 0.25rem;">
<span class="aug-name" style="font-weight: bold; font-size: 1.1rem; color: #ffffff;">{{aug.name}}</span>
</div>
<div class="aug-stats" style="font-size: 0.9rem; color: #a4b0be; line-height: 1.3;">
<div class="effect" style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis;">{{aug.effect}}</div>
<div class="cost" style="color: #ff2e63; font-style: italic;">{{aug.cost}}</div>
{{#if aug.precompile}}<div class="precompile" style="color: #ff9f43; font-weight: bold;">{{aug.precompile}}</div>{{/if}}
</div>
</div>
{{else}}
<div class="empty-msg" style="grid-column: 1/-1; text-align: center; padding: 2rem; border: 1px dashed #333; border-radius: 8px; color: #666;">
No hardware modules detected. Click <strong>Install Tech</strong> to begin.
</div>
{{/each}}
</div>
</div>
</section>