100100<script setup lang="ts">
101101import type { Mod , Image } from ' ~/types/models' ;
102102import { useStore } from ' ~/store' ;
103- import clone from ' rfdc/default ' ;
103+ import { remove } from ' @antfu/utils ' ;
104104
105105const { settings } = useStore ();
106106const showError = useQuickErrorToast ();
107107
108108const mod = defineModel <Mod >({ required: true });
109+ const initialMod = defineModel <Mod >(" initial-mod" , { required: true });
109110
110111const uploadLink = computed (() => mod .value ? ` mods/${mod .value .id }/images ` : ' ' );
111112
112- const images = ref < Image []>( clone ( mod .value .images ) ?? []);
113+ const images = computed (() => initialMod .value .images ?? []);
113114
114115function setBanner(banner ? : Image ) {
115116 mod .value .banner_id = banner ?.id ;
@@ -131,11 +132,7 @@ async function setImageOrder(img: Image, order: number) {
131132 await patchRequest (` images/${img .id } ` , { display_order: img .display_order + order });
132133 img .display_order = img .display_order + order ;
133134
134- // TODO: fix this equality check
135- // I don't know this filter is working correctly...
136- // eslint-disable-next-line eqeqeq
137- images .value = images .value .filter (v => v != img );
138- images .value .splice (img .display_order , 0 , img );
135+ remove (images .value , img );
139136
140137 for (let i = 0 ; i < images .value .length ; i ++ ) {
141138 images .value [i ]! .display_order = i ;
0 commit comments