frontend: refactor build viewer a bit more

This commit is contained in:
2026-02-28 13:38:14 +01:00
parent 7833780bcb
commit c362d6b12a
5 changed files with 62 additions and 530 deletions

View File

@@ -0,0 +1,32 @@
/**
* Composable for managing build data with automatic trimming
* Handles deep cloning and tree manipulation
*/
import { deepClone } from '~/utils/helpers'
import { trimBuilds, trimLateGameItems } from '~/utils/buildHelpers'
export const useBuilds = (buildsProp: Ref<Builds>) => {
const builds = ref<Builds>(deepClone(buildsProp.value))
function trimBuildData(): void {
trimBuilds(builds.value)
trimLateGameItems(builds.value)
}
// Watch for changes and rebuild
watch(
() => buildsProp.value,
(newBuilds) => {
builds.value = deepClone(newBuilds)
trimBuildData()
},
{ deep: true }
)
// Initial trim on mount
onMounted(() => {
trimBuildData()
})
return { builds }
}