@@ -98,20 +98,39 @@ function togglePreview() {
9898 previewMode .value = ! previewMode .value
9999}
100100
101- async function mergeTags () {
102- if (currentTag .value && previousTag .value ) {
103- Object .assign (mergedTag, {
104- ... currentTag .value ,
105- foundPlayer: previousTag .value .foundPlayer ,
106- foundTime: previousTag .value .foundTime ,
107- foundLocation: previousTag .value .foundLocation ,
108- foundImageUrl: previousTag .value .foundImageUrl ,
109- })
101+ function mergeTags (forward = true ) {
102+ if (forward) {
103+ if (currentTag .value && previousTag .value ) {
104+ Object .assign (mergedTag, {
105+ ... currentTag .value ,
106+ foundPlayer: previousTag .value .foundPlayer ,
107+ foundTime: previousTag .value .foundTime ,
108+ foundLocation: previousTag .value .foundLocation ,
109+ foundImageUrl: previousTag .value .foundImageUrl ,
110+ })
111+ } else {
112+ console .log (' issue merging current and previous tags' , {
113+ currentTag: currentTag .value ,
114+ previousTag: previousTag .value ,
115+ })
116+ }
110117 } else {
111- console .log (' issue merging current and previous tags' , {
112- currentTag: currentTag .value ,
113- previousTag: previousTag .value ,
114- })
118+ return {
119+ currentTag: {
120+ ... currentTag .value ,
121+ foundPlayer: pendingEdits .value .foundPlayer ,
122+ foundTime: pendingEdits .value .foundTime ,
123+ foundLocation: pendingEdits .value .foundLocation ,
124+ foundImageUrl: pendingEdits .value .foundImageUrl ,
125+ },
126+ previousTag: {
127+ ... previousTag .value ,
128+ mysteryPlayer: pendingEdits .value .mysteryPlayer ,
129+ mysteryTime: pendingEdits .value .mysteryTime ,
130+ mysteryLocation: pendingEdits .value .mysteryLocation ,
131+ mysteryImageUrl: pendingEdits .value .mysteryImageUrl ,
132+ },
133+ }
115134 }
116135}
117136
@@ -136,16 +155,13 @@ async function onSave() {
136155
137156 editInProgress .value = true
138157
139- const payload = {
140- game: getGameName .value ,
141- tagnumber: mergedTag .tagnumber ,
142- ... pendingEdits,
143- }
158+ const updatePayloads = mergeTags (false )
144159
145- const result = await store .updateCurrentTag (payload)
160+ const currentUpdateResult = await store .updateCurrentTag (updatePayloads .currentTag )
161+ const previousUpdateResult = await store .updateCurrentTag (updatePayloads .previousTag )
146162 editInProgress .value = false
147163
148- if (result === true ) {
164+ if (currentUpdateResult === true && previousUpdateResult === true ) {
149165 store .fetchQueuedTags (false )
150166 return sendNetlifyForm (
151167 ' edit-tag-success' ,
@@ -171,21 +187,25 @@ async function onSave() {
171187 },
172188 )
173189 } else {
174- const message = ` Error saving edit: ${ result } `
190+ const message = ` Error saving edits for ${ currentUpdateResult !== true ? ' current ' : ' ' }${ previousUpdateResult !== true ? ' previous ' : ' ' } `
175191 toast .open ({
176192 message,
177193 type: ' error' ,
178194 duration: 10000 ,
179195 timeout: false ,
180196 position: ' bottom' ,
181197 })
198+ console .error (message, {
199+ currentUpdateResult,
200+ previousUpdateResult,
201+ })
182202 return sendNetlifyError (message, undefined , errorAction)
183203 }
184204}
185205
186206onMounted (async () => {
187207 await store .isReady ()
188- await mergeTags ()
208+ mergeTags ()
189209 editInProgress .value = false
190210})
191211 </script >
0 commit comments