editor save buttons

This commit is contained in:
kvan7
2026-08-31 20:49:17 -05:00
parent dbc55a959a
commit 10fe4fcd0b
4 changed files with 53 additions and 6 deletions
+10
View File
@@ -502,5 +502,15 @@
"output_folder": "Output Folder",
"output_file_help": "Some info text",
"record_count": "Session Rolls:"
},
"item_editor": {
"save_type": "Save for: ",
"caster_weapon": "Caster Weapons",
"marital_weapon": "Marital Weapons",
"spectre": "Spectres",
"armour": "Armours",
"all": "All Items",
"save": "Save",
"confirm": "Confirm"
}
}
@@ -116,7 +116,27 @@
</template>
</ui-tabs>
</div>
<!-- <div>hey do something</div> -->
<hr class="my-2 border-gray-700" />
<div class="flex flex-row justify-between">
<div class="flex flex-row gap-1">
<div>{{ t(":save_type") }}</div>
<select v-model="saveType" class="p-1 rounded bg-gray-700 w-32">
<option value="class">
{{ item.info.craftable?.category ?? "Unknown" }}
</option>
<option value="casterWeapon">{{ t(":caster_weapon") }}</option>
<option value="maritalWeapon">{{ t(":marital_weapon") }}</option>
<option value="spectre">{{ t(":spectre") }}</option>
<option value="armour">{{ t(":armour") }}</option>
<option value="all">{{ t(":all") }}</option>
</select>
</div>
<div>
<button class="btn active:bg-gray-900">
{{ t(":save") }}
</button>
</div>
</div>
</div>
<div v-else class="bg-purple-700 text-green-600 border border-green-600">
no augments available for item
@@ -134,6 +154,8 @@ import { useAugment, getCategoryGroups } from "./augment";
import { AppConfig } from "@/web/Config";
import { EditorItem } from "@/parser/ParsedItem";
import { buildEditorItems } from "@/parser/augment-builder";
import { AugmentSaveType } from "./item-editor";
import { useI18nNs } from "@/web/i18n";
export default defineComponent({
props: {
@@ -151,6 +173,8 @@ export default defineComponent({
const runeTab = shallowRef("Greater");
const soulCoreTab = shallowRef("Normal");
const saveType = shallowRef<AugmentSaveType>(AugmentSaveType.Class);
const selectedAugment = shallowRef<EditorItem | undefined>(
// TODO: see if this can be better
buildEditorItems(
@@ -196,12 +220,16 @@ export default defineComponent({
{ immediate: true },
);
const { t } = useI18nNs("item_editor");
return {
t,
mainTab,
runeTab,
soulCoreTab,
selectedAugment,
displayGroups,
saveType,
replaceAugment: (index: number) => {
if (
!props.item?.augmentSockets ||
@@ -1,14 +1,14 @@
<template>
<div class="bg-gray-800 text-gray-200 min-w-96 max-w-96">
<augment-editor
v-if="itemEditorType === ItemEditorType.Augment"
v-if="actualItemType === ItemEditorType.Augment"
:item="item"
/>
<quality-editor
v-else-if="itemEditorType === ItemEditorType.Catalyst"
v-else-if="actualItemType === ItemEditorType.Catalyst"
:item="item"
/>
<div v-else-if="itemEditorType === ItemEditorType.AugmentAndCatalyst">
<div v-else-if="actualItemType === ItemEditorType.AugmentAndCatalyst">
AAAAA DO BOTH NEED TO ADD IT STILL
</div>
</div>
@@ -34,12 +34,12 @@ export default defineComponent({
},
setup(props) {
const itemEditorType = computed(() =>
const actualItemType = computed(() =>
props.item ? getItemEditorType(props.item) : undefined,
);
return {
itemEditorType,
actualItemType,
ItemEditorType,
};
},
@@ -77,3 +77,12 @@ export function applyCatalyst(
item.statsByType = sumStatsByModType(item.newMods);
recalculateItemProperties(item, oldItem);
}
export enum AugmentSaveType {
Class = "class",
CasterWeapon = "casterWeapon",
MaritalWeapon = "maritalWeapon",
Spectre = "spectre",
Armour = "armour",
All = "all",
}