linguaielts-api / fronted /src /utils /speakingResultNav.js
AnhviNguyen
Forecast, dashboard, pronunciation, nginx fixes (exclude large ML weights)
3092643
Raw
History Blame Contribute Delete
644 Bytes
import { toRaw } from 'vue'
/** Clone speaking result payload for router history (avoids DataCloneError on Vue proxies). */
export function speakingResultState(payload) {
if (!payload) return {}
const raw = toRaw(payload)
const state = {
audioUrl: raw.audioUrl || '',
question: raw.question || '',
}
if (raw.result) {
state.result = JSON.parse(JSON.stringify(raw.result))
}
if (raw.summary) {
state.summary = JSON.parse(JSON.stringify(raw.summary))
}
if (raw.mode) state.mode = raw.mode
if (raw.fetchSummary) state.fetchSummary = true
if (raw.quiz_id != null) state.quiz_id = raw.quiz_id
return state
}