Skip to content

Commit 1ac8ce6

Browse files
adding loading screen
1 parent 3705177 commit 1ac8ce6

1 file changed

Lines changed: 22 additions & 1 deletion

File tree

src/pages/editar-empleo.astro

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,21 @@ for (const key in categories) {
1717

1818
<BaseLayout title="Editar Empleo | CuCoders" description="Edita tu oferta de empleo en CuCoders.">
1919
<div class="lg:max-w-[58rem] mx-auto w-full md:mt-12">
20+
<div
21+
id="loading-container"
22+
class="fixed inset-0 z-50 flex flex-col items-center justify-center bg-white bg-opacity-80 dark:bg-gray-900 dark:bg-opacity-80"
23+
>
24+
<div
25+
class="inline-block h-12 w-12 animate-spin rounded-full border-4 border-solid border-gray-800 border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite] dark:border-white dark:border-r-transparent"
26+
role="status"
27+
>
28+
<span class="!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]"
29+
>Cargando...</span
30+
>
31+
</div>
32+
<p class="mt-4 text-lg font-medium text-gray-900 dark:text-white">Cargando datos del empleo...</p>
33+
</div>
34+
2035
<form
2136
id="job-form"
2237
class="bg-white border md:mx-auto mb-5 p-8 lg:max-w-[58rem] border-gray-200 rounded-lg dark:bg-gray-800 dark:border-gray-700 w-full"
@@ -120,6 +135,7 @@ for (const key in categories) {
120135

121136
const urlParams = new URLSearchParams(window.location.search);
122137
const jobId = urlParams.get("id");
138+
const loadingContainer = document.getElementById("loading-container");
123139
const jobForm = document.getElementById("job-form");
124140
const deleteJobBtn = document.getElementById("deleteJobBtn");
125141

@@ -128,7 +144,10 @@ for (const key in categories) {
128144

129145
// Load Job Logic
130146
window.addEventListener("load", async () => {
131-
if (!jobId) return;
147+
if (!jobId) {
148+
if (loadingContainer) loadingContainer.classList.add("hidden");
149+
return;
150+
}
132151
try {
133152
const response = await fetch(`${backend_url}api/jobs/get-job?id=${jobId}`);
134153
if (!response.ok) throw new Error("Failed to load job");
@@ -137,6 +156,8 @@ for (const key in categories) {
137156
} catch (e) {
138157
showToast("Error cargando la información del empleo.", true);
139158
console.error(e);
159+
} finally {
160+
if (loadingContainer) loadingContainer.classList.add("hidden");
140161
}
141162
});
142163

0 commit comments

Comments
 (0)