1
0
mirror of https://github.com/comatory/fb2iCal synced 2025-06-05 22:09:25 +02:00

feature: add store for tracking network request to API

This commit is contained in:
Ondřej Synáček
2020-12-20 12:07:37 +01:00
parent 4fad8e442d
commit 128b03344b
5 changed files with 39 additions and 0 deletions

View File

@@ -9,8 +9,16 @@ import { extractEventDataFromHTML } from '../../lib/services/ics-retriever'
import generateICS from '../../lib/services/ics-generator'
import boot from '../frontend'
import { requestStore } from '../frontend/stores'
import { Request } from '../frontend/records'
(() => {
let request = null
requestStore.subscribe((updatedRequest) => {
request = updatedRequest
})
document.addEventListener('DOMContentLoaded', boot)
const createRecord = (uri, summary, startTime) => {
@@ -73,17 +81,29 @@ import boot from '../frontend'
input.disabled = true
submitButton.disabled = true
setStatusDownloading()
requestStore.set(new Request({
id: uuidv4(),
error: null,
}))
}
const finishedRequest = () => {
input.disabled = false
submitButton.disabled = false
clearStatuses()
requestStore.set(null)
}
const handleError = (error) => {
finishedRequest()
setStatusError(error)
requestStore.update((prevRequest) => {
prevRequest.error = error
return prevRequest
})
}
const postURL = (data) => {