can fill sockets

This commit is contained in:
kvan7
2026-06-20 09:08:25 -05:00
parent 6b11a55eea
commit e99b7cd082
4 changed files with 24 additions and 18 deletions
@@ -204,7 +204,7 @@
class="max-w-full max-h-full overflow-hidden"
/></template>
<template #content>
<item-editor-v2 />
<item-editor-v2 :item="item" />
</template>
</popover>
</div>
@@ -120,13 +120,13 @@
</template>
<script lang="ts">
import { AugmentGroup, GROUPED_AUGMENTS } from "@/assets/data";
import { AugmentGroup, GROUPED_AUGMENTS, ITEM_BY_REF } from "@/assets/data";
import { ItemCategory, ParsedItem } from "@/parser";
import { defineComponent, PropType, ref, shallowRef, watch } from "vue";
import ItemSumPrice from "@/web/ui/ItemSumPrice.vue";
import UiTabs from "@/web/ui/UiTabs.vue";
import AugmentsList from "./AugmentsList.vue";
import { EditorItem, getCategoryGroups } from "./augment";
import { buildEditorItems, EditorItem, getCategoryGroups } from "./augment";
import { AppConfig } from "@/web/Config";
export default defineComponent({
@@ -146,7 +146,13 @@ export default defineComponent({
const runeTab = shallowRef("Greater");
const soulCoreTab = shallowRef("Normal");
const selectedAugment = shallowRef<EditorItem | undefined>(undefined);
const selectedAugment = shallowRef<EditorItem>(
// TODO: see if this can be better
buildEditorItems(
[ITEM_BY_REF("ITEM", "Greater Iron Rune")![0]],
props.item.category ?? ItemCategory.Unknown,
)[0],
);
const augmentCache = new Map<ItemCategory, AugmentGroup<EditorItem>>();
const displayGroups = ref<AugmentGroup<EditorItem> | null>(null);
@@ -205,7 +211,7 @@ export default defineComponent({
selectedAugment.value.baseItem;
console.log(props.item.augmentSockets.augments);
},
selectAugment: (augment: EditorItem | undefined) => {
selectAugment: (augment: EditorItem) => {
selectedAugment.value = augment;
},
};
@@ -5,7 +5,7 @@
@click="$emit('update:selectedAugment', augment)"
class="m-2 border"
:class="{
'bg-red-400': augment.refName === selectedAugment?.refName,
'bg-red-400': augment.refName === selectedAugment.refName,
}"
>
{{ augment.name }}
@@ -24,7 +24,7 @@ export default defineComponent({
required: true,
},
selectedAugment: {
type: Object as PropType<EditorItem | undefined> | undefined,
type: Object as PropType<EditorItem>,
required: true,
},
},
@@ -20,7 +20,7 @@ export function selectAugmentEffectByItemCategory(
return rune.find((rune) => rune.categories.includes(category));
}
function filterByCategory(augments: BaseType[], category: ItemCategory) {
export function buildEditorItems(augments: BaseType[], category: ItemCategory) {
return augments
.map((augment) => {
const effect = selectAugmentEffectByItemCategory(
@@ -50,18 +50,18 @@ export function getCategoryGroups(
): AugmentGroup<EditorItem> {
return {
Rune: {
Lesser: filterByCategory(augments.Rune.Lesser, category),
Normal: filterByCategory(augments.Rune.Normal, category),
Greater: filterByCategory(augments.Rune.Greater, category),
Perfect: filterByCategory(augments.Rune.Perfect, category),
Other: filterByCategory(augments.Rune.Other, category),
Lesser: buildEditorItems(augments.Rune.Lesser, category),
Normal: buildEditorItems(augments.Rune.Normal, category),
Greater: buildEditorItems(augments.Rune.Greater, category),
Perfect: buildEditorItems(augments.Rune.Perfect, category),
Other: buildEditorItems(augments.Rune.Other, category),
},
SoulCore: {
Normal: filterByCategory(augments.SoulCore.Normal, category),
Special: filterByCategory(augments.SoulCore.Special, category),
Normal: buildEditorItems(augments.SoulCore.Normal, category),
Special: buildEditorItems(augments.SoulCore.Special, category),
},
Idol: filterByCategory(augments.Idol, category),
Legacy: filterByCategory(augments.Legacy, category),
Other: filterByCategory(augments.Other, category),
Idol: buildEditorItems(augments.Idol, category),
Legacy: buildEditorItems(augments.Legacy, category),
Other: buildEditorItems(augments.Other, category),
};
}