diff --git a/src/components/Toast.svelte b/src/components/Toast.svelte new file mode 100644 index 0000000..c6f4208 --- /dev/null +++ b/src/components/Toast.svelte @@ -0,0 +1,37 @@ + + + +
+
\ No newline at end of file diff --git a/src/layouts/LayoutUser.svelte b/src/layouts/LayoutUser.svelte index 73e129d..5289d6d 100644 --- a/src/layouts/LayoutUser.svelte +++ b/src/layouts/LayoutUser.svelte @@ -19,6 +19,7 @@ import { onMount } from 'svelte' import { getInfoToken } from '$/services/login' import { storeSession } from '$/stores/global' + import Toast from '$/components/Toast.svelte'; let triggerEvent = false; @@ -68,4 +69,5 @@ - \ No newline at end of file + + \ No newline at end of file diff --git a/src/pages/aplicaciones/Admin.svelte b/src/pages/aplicaciones/Admin.svelte index fb89da1..e8026d7 100644 --- a/src/pages/aplicaciones/Admin.svelte +++ b/src/pages/aplicaciones/Admin.svelte @@ -31,7 +31,7 @@ aplicaciones = data.results; count = data.count; } catch (error) { - alert(error) + globalThis.toast.error(error) } finally { loading = false; } diff --git a/src/pages/aplicaciones/ModalAplicacion.svelte b/src/pages/aplicaciones/ModalAplicacion.svelte index c0e69d4..d1f765d 100644 --- a/src/pages/aplicaciones/ModalAplicacion.svelte +++ b/src/pages/aplicaciones/ModalAplicacion.svelte @@ -16,7 +16,7 @@ if (!id) return; form = await getAplicacion(id) || {} } catch (error) { - alert(error.detail || error) + globalThis.toast.success(error.detail || error) } } @@ -28,14 +28,14 @@ } else { form = await createAplicacion(form) } - alert('Se ha guardado la aplicación') + globalThis.toast.success('Se ha guardado la aplicación') dispatch('refresh') dispatch('close') } catch (error) { if (error.detail) { - alert(error.detail) + globalThis.toast.success(error.detail) } else { - alert(JSON.stringify(error)) + globalThis.toast.success(JSON.stringify(error)) } } finally { loading = false; @@ -47,11 +47,11 @@ if (!confirm('Eliminará el registro?')) return; loading = true; await deleteAplicacion(form.id_aplicacion) - alert('Se ha eliminado la aplicación') + globalThis.toast.success('Se ha eliminado la aplicación') dispatch('refresh') dispatch('close') } catch (error) { - alert(error.detail || error) + globalThis.toast.success(error.detail || error) } finally { loading = false; } diff --git a/src/pages/comunas/Admin.svelte b/src/pages/comunas/Admin.svelte index 5a4c42f..54dccb3 100644 --- a/src/pages/comunas/Admin.svelte +++ b/src/pages/comunas/Admin.svelte @@ -28,7 +28,7 @@ const offset = (page - 1) * limit; comunas = await getComunas({ offset, limit, ordering: 'id_region' }) } catch(error) { - alert(error.detail || error) + globalThis.toast.success(error.detail || error) } finally { loading = false } @@ -45,7 +45,7 @@ comuna = await getComuna(id_comuna) es_nuevo = false } catch (error) { - alert(error.detail || error) + globalThis.toast.success(error.detail || error) } finally { loading = false } @@ -58,11 +58,11 @@ } else { await updateComuna(comuna) } - alert('Comuna guardada con exito') + globalThis.toast.success('Comuna guardada con exito') comuna = null; // se cierra el modal onPage(page) // refresco la tabla de registros } catch (error) { - alert(error.detail || error) + globalThis.toast.success(error.detail || error) } } @@ -70,11 +70,11 @@ try { if (!confirm(`Desea eliminar la comuna [${comuna.nombre_comuna}]?`)) return; await deleteComuna(comuna.id_comuna) - alert('Comuna eliminada con exito') + globalThis.toast.success('Comuna eliminada con exito') comuna = null; // se cierra el modal onPage(page) // refresco la tabla de registros } catch (error) { - alert(error.detail || error) + globalThis.toast.success(error.detail || error) } } diff --git a/src/pages/comunas/Form.svelte b/src/pages/comunas/Form.svelte index 433295d..df181a5 100644 --- a/src/pages/comunas/Form.svelte +++ b/src/pages/comunas/Form.svelte @@ -11,7 +11,7 @@ try { regiones = await getRegiones() } catch (error) { - alert(error.detail || error) + globalThis.toast.success(error.detail || error) } } diff --git a/src/pages/mapas/FiltroRutas.svelte b/src/pages/mapas/FiltroRutas.svelte index 2b9674c..5b2b22a 100644 --- a/src/pages/mapas/FiltroRutas.svelte +++ b/src/pages/mapas/FiltroRutas.svelte @@ -16,12 +16,12 @@ getOperadores({ vigente: 1 }) .then(data => data.sort((a,b) => a.nombre_operador < b.nombre_operador? -1 : 1)) .then(data => operadores = data) - .catch(error => alert(error)) + .catch(error => globalThis.toast.error(error)) getLineas({ vigente: 1 }) .then(data => data.sort((a,b) => a.nombre_linea < b.nombre_linea? -1 : 1)) .then(data => lineas = data) - .catch(error => alert(error)) + .catch(error => globalThis.toast.error(error)) function onChangeOperador() { id_linea = '' diff --git a/src/pages/mapas/FormParadero.svelte b/src/pages/mapas/FormParadero.svelte index 18c49df..b8a9155 100644 --- a/src/pages/mapas/FormParadero.svelte +++ b/src/pages/mapas/FormParadero.svelte @@ -25,7 +25,7 @@ imagenes = await getParaderoImagenes(parada.id_paradero); } } catch (error) { - alert(error); + globalThis.toast.error(error); } finally { loading = false; } @@ -34,9 +34,9 @@ async function onSave() { try { await updateParadero(form); - alert("Información guardada"); + globalThis.toast.success("Información guardada"); } catch (error) { - alert(error); + globalThis.toast.error(error); } } @@ -47,7 +47,7 @@ imagenes = await getParaderoImagenes(parada.id_paradero); form.file1.value = ""; } catch (error) { - alert(error); + globalThis.toast.error(error); } } @@ -59,7 +59,7 @@ (imagen) => imagen.id_paradero_imagen !== id_paradero_imagen, ); } catch (error) { - alert(error); + globalThis.toast.error(error); } } diff --git a/src/pages/mapas/FormParaderoDispositivos.svelte b/src/pages/mapas/FormParaderoDispositivos.svelte index 2304baf..757266e 100644 --- a/src/pages/mapas/FormParaderoDispositivos.svelte +++ b/src/pages/mapas/FormParaderoDispositivos.svelte @@ -19,7 +19,7 @@ if (!id_paradero) return; loading = true dispositivos = await getDispositivos({ id_paradero }) - url_qrcode = `${url_base}/public/infoStop?codigoParadero=${id_paradero}`; + // url_qrcode = `${url_base}/public/infoStop?codigoParadero=${id_paradero}`; } catch (error) { console.log({ error }); } finally { @@ -55,7 +55,7 @@ dispositivos = [ ...dispositivos, { ...nuevoDispositivo, tipo_dispositivo }] nuevoDispositivo = null } catch (error) { - alert(error) + globalThis.toast.error(error) } finally { loading = false } @@ -68,7 +68,7 @@ await deleteDispositivo(id_dispositivo) dispositivos = dispositivos.filter(el => el.id_dispositivo !== id_dispositivo) } catch (error) { - alert(error) + globalThis.toast.error(error) } finally { loading = false } @@ -137,14 +137,15 @@ {/if} -
+ {#if url_qrcode} +
-
- {#if url_qrcode} +
- {/if} -
-
- -
+
+ Link +
+ +
+ {/if} \ No newline at end of file diff --git a/src/pages/mapas/ModalParadero.svelte b/src/pages/mapas/ModalParadero.svelte index 92cb344..7c7b858 100644 --- a/src/pages/mapas/ModalParadero.svelte +++ b/src/pages/mapas/ModalParadero.svelte @@ -17,27 +17,27 @@ if (!id_paradero) return; form = await getParadero(id_paradero) } catch (error) { - alert(error) + globalThis.toast.error(error) } } async function onSaveParadero() { try { form = form.id_paradero ? await updateParadero(form) : await createParadero(form) - alert('Información guardada') + globalThis.toast.success('Información guardada') } catch (error) { - alert(error) + globalThis.toast.error(error) } } async function onDeleteParadero() { try { await deleteParadero(form.id_paradero) - alert('Paradero eliminado') + globalThis.toast.success('Paradero eliminado') dispatch('delete', form) dispatch('close') } catch (error) { - alert(error) + globalThis.toast.error(error) } } @@ -45,9 +45,9 @@ try { const { url_image } = await saveImageParadero(paradero.id_paradero, inputfile.files[0]) imagenEl.src = url_image + '?nocache=' + (new Date()).valueOf() - alert('Imagen cambiada') + globalThis.toast.success('Imagen cambiada') } catch (error) { - alert(error) + globalThis.toast.error(error) } } diff --git a/src/pages/mapas/Paraderos.svelte b/src/pages/mapas/Paraderos.svelte index 830ddec..8d85dfc 100644 --- a/src/pages/mapas/Paraderos.svelte +++ b/src/pages/mapas/Paraderos.svelte @@ -70,7 +70,7 @@ regiones = await getRegiones() comunas = await getComunas() } catch (error) { - alert(error) + globalThis.toast.error(error) } } @@ -80,7 +80,7 @@ const paraderos = data_default || await getMarcasParaderos() storeParaderos.set(paraderos) } catch (error) { - alert(error) + globalThis.toast.error(error) } finally { loading = false } diff --git a/src/pages/mapas/Rutas.svelte b/src/pages/mapas/Rutas.svelte index 55541da..56bba4d 100644 --- a/src/pages/mapas/Rutas.svelte +++ b/src/pages/mapas/Rutas.svelte @@ -124,7 +124,7 @@ } } catch (error) { - alert(error) + globalThis.toast.error(error) } finally { loading = false; } diff --git a/src/pages/personas/Admin.svelte b/src/pages/personas/Admin.svelte index 8e43ffd..14df00c 100644 --- a/src/pages/personas/Admin.svelte +++ b/src/pages/personas/Admin.svelte @@ -26,7 +26,7 @@ const offset = (page - 1) * limit; personas = await getPersonas({ offset, limit }) } catch (error) { - alert(error.detail || error) + globalThis.toast.success(error.detail || error) } finally { loading = false; } diff --git a/src/pages/personas/Form.svelte b/src/pages/personas/Form.svelte index 36ccf93..2e86817 100644 --- a/src/pages/personas/Form.svelte +++ b/src/pages/personas/Form.svelte @@ -14,7 +14,7 @@ try { tipos_tratamiento = await getTiposPersona() } catch (error) { - alert(error.detail || error) + globalThis.toast.success(error.detail || error) } } diff --git a/src/pages/personas/Persona.svelte b/src/pages/personas/Persona.svelte index 32905e3..cf99dbf 100644 --- a/src/pages/personas/Persona.svelte +++ b/src/pages/personas/Persona.svelte @@ -30,7 +30,7 @@ loading = true form = await getPersona(rut) } catch (error) { - alert(error.detail || error) + globalThis.toast.success(error.detail || error) } finally { loading = false } @@ -44,10 +44,10 @@ } else { await updatePersona(form) } - alert('Datos guardados con exito!') + globalThis.toast.success('Datos guardados con exito!') navigate('/personas') } catch (error) { - alert(error.detail || error) + globalThis.toast.success(error.detail || error) } } diff --git a/src/pages/roles/Admin.svelte b/src/pages/roles/Admin.svelte index dbbfd5e..ac6b897 100644 --- a/src/pages/roles/Admin.svelte +++ b/src/pages/roles/Admin.svelte @@ -31,7 +31,7 @@ roles = data.results; count = data.count; } catch (error) { - alert(error) + globalThis.toast.error(error) } finally { loading = false; } diff --git a/src/pages/roles/ModalRol.svelte b/src/pages/roles/ModalRol.svelte index c1ca533..d138289 100644 --- a/src/pages/roles/ModalRol.svelte +++ b/src/pages/roles/ModalRol.svelte @@ -27,7 +27,7 @@ await fetchPermisosAplicaciones(id_rol) await fetchPermisosLineas(id_rol) } catch (error) { - alert(error) + globalThis.toast.error(error) } } @@ -44,7 +44,7 @@ return { ...app, id_rol_app, acceso, solo_visualizar, modificado: false } }) } catch (error) { - alert(error) + globalThis.toast.error(error) } } @@ -59,7 +59,7 @@ return { ...linea, id_rol_linea: item?.id_rol_linea || null, acceso, modificado: false } }) } catch (error) { - alert(error) + globalThis.toast.error(error) } } @@ -73,9 +73,9 @@ await fetchPermisosLineas(form.id_rol) } dispatch('refresh') - alert('Propiedades del Rol guardadas.') + globalThis.toast.success('Propiedades del Rol guardadas.') } catch (error) { - alert(error) + globalThis.toast.error(error) } } @@ -83,7 +83,7 @@ try { } catch (error) { - alert(error) + globalThis.toast.error(error) } } @@ -104,9 +104,9 @@ await updateRolyaplicacion({ id_rol_app, solo_visualizar }) } } - alert('Permisos de aplicaciones guardadas') + globalThis.toast.success('Permisos de aplicaciones guardadas') } catch (error) { - alert(error) + globalThis.toast.error(error) } } @@ -124,10 +124,10 @@ await createRolLinea({ id_rol, id_linea }) } } - alert('Permisos de lineas guardadas') + globalThis.toast.success('Permisos de lineas guardadas') } catch (error) { - alert(error) + globalThis.toast.error(error) } } diff --git a/src/pages/rutas/ModalFormRuta.svelte b/src/pages/rutas/ModalFormRuta.svelte index 75e3f2a..928e91d 100644 --- a/src/pages/rutas/ModalFormRuta.svelte +++ b/src/pages/rutas/ModalFormRuta.svelte @@ -46,6 +46,8 @@ bgcolor2, color2, }); + + globalThis.toast.success('Datos de ruta guardados correctamente.') dispatch("close"); } catch (error) { const data = JSON.parse(error) || null; diff --git a/src/pages/rutas/TableRutas.svelte b/src/pages/rutas/TableRutas.svelte index c9e2ce7..f9c994d 100644 --- a/src/pages/rutas/TableRutas.svelte +++ b/src/pages/rutas/TableRutas.svelte @@ -17,7 +17,7 @@ try { operadores = await getOperadores({ ordering: 'nombre_operador' }) } catch (error) { - alert(error) + globalThis.toast.error(error) } } @@ -28,7 +28,7 @@ if (id_operador) conditions.id_operador = id_operador; lineas = await getLineas(conditions) } catch (error) { - alert(error) + globalThis.toast.error(error) } finally { loading = false } diff --git a/src/pages/usuarios/Admin.svelte b/src/pages/usuarios/Admin.svelte index 174be7c..3d90dd2 100644 --- a/src/pages/usuarios/Admin.svelte +++ b/src/pages/usuarios/Admin.svelte @@ -25,7 +25,7 @@ const offset = (page - 1) * limit; usuarios = await getUsuarios({ offset, limit, ordering: 'login' }) } catch(error) { - alert(error.detail || error) + globalThis.toast.success(error.detail || error) } finally { loading = false; } diff --git a/src/pages/usuarios/Form.svelte b/src/pages/usuarios/Form.svelte index 81296d2..bacec76 100644 --- a/src/pages/usuarios/Form.svelte +++ b/src/pages/usuarios/Form.svelte @@ -6,7 +6,7 @@ export let clave2 = '' let roles = [] - getRoles().then(data => roles = data).catch(error => alert(error)) + getRoles().then(data => roles = data).catch(error => globalThis.toast.error(error))
diff --git a/src/pages/usuarios/Usuario.svelte b/src/pages/usuarios/Usuario.svelte index e8ee662..6b66c92 100644 --- a/src/pages/usuarios/Usuario.svelte +++ b/src/pages/usuarios/Usuario.svelte @@ -38,7 +38,7 @@ form_usuario = data; } catch (error) { console.error(error) - alert(error.detail || error) + globalThis.toast.success(error.detail || error) } finally { loading = false; } @@ -47,7 +47,7 @@ async function onSave() { try { if (form_usuario.clave && form_usuario.clave !== clave2) { - return alert('Segunda contraseña debe coincidir') + return globalThis.toast.success('Segunda contraseña debe coincidir') } if (es_nuevo) { // para crear un usuario, es requerido enviar los datos de la persona ademas. @@ -56,10 +56,10 @@ await updateUsuario(form_usuario) await updatePersona(form_persona) } - alert('Datos guardados con exito!') + globalThis.toast.success('Datos guardados con exito!') navigate('/usuarios') } catch (error) { - alert(error.detail || error) + globalThis.toast.success(error.detail || error) } } @@ -67,10 +67,10 @@ try { if (!confirm(`Desea eliminar a ${form_usuario.login}?`)) return; await deleteUsuario($params.login) - alert('Registro eliminado con exito!') + globalThis.toast.success('Registro eliminado con exito!') navigate('/usuarios') } catch (error) { - alert(error.detail || error) + globalThis.toast.success(error.detail || error) } } diff --git a/src/services/paraderos.js b/src/services/paraderos.js index 4aac73b..269e489 100644 --- a/src/services/paraderos.js +++ b/src/services/paraderos.js @@ -115,7 +115,7 @@ export async function deleteLineaParadero(id_paradero_linea) { export async function getInfoPublic(id_paradero) { - const res = await fetch(`${base}/paraderos/info-public/${id_paradero}`, { + const res = await fetch(`${base}/paraderos/info-public/${id_paradero}/`, { headers: { "Authorization": `Bearer ${getToken()}` } }) if (!res.ok) throw await res.text()