From bcc2ee7e7fb891b9ed7c67ac702fce368acf63f0 Mon Sep 17 00:00:00 2001 From: Yohan Boujon Date: Mon, 5 Feb 2024 10:00:45 +0100 Subject: [PATCH] Backend: Fixing education sql file. Frontend: Fixing json parsing not working on production. --- backend/db/3_education.sql | 3 -- frontend/{static => src/lib}/lang/en.json | 0 frontend/{static => src/lib}/lang/fr.json | 0 frontend/src/routes/lang=[lang]/+page.js | 35 +++++++++++++------- frontend/src/routes/lang=[lang]/+page.svelte | 9 +++-- 5 files changed, 29 insertions(+), 18 deletions(-) rename frontend/{static => src/lib}/lang/en.json (100%) rename frontend/{static => src/lib}/lang/fr.json (100%) diff --git a/backend/db/3_education.sql b/backend/db/3_education.sql index 26fc69f..be9f737 100644 --- a/backend/db/3_education.sql +++ b/backend/db/3_education.sql @@ -9,9 +9,6 @@ CREATE TABLE public.education ( start_year date NULL, end_year date NULL, school text NULL, - speciality text NULL, - school_location text NULL, - school_options text NULL, picture_url text NULL, CONSTRAINT education_pkey PRIMARY KEY (id) ); \ No newline at end of file diff --git a/frontend/static/lang/en.json b/frontend/src/lib/lang/en.json similarity index 100% rename from frontend/static/lang/en.json rename to frontend/src/lib/lang/en.json diff --git a/frontend/static/lang/fr.json b/frontend/src/lib/lang/fr.json similarity index 100% rename from frontend/static/lang/fr.json rename to frontend/src/lib/lang/fr.json diff --git a/frontend/src/routes/lang=[lang]/+page.js b/frontend/src/routes/lang=[lang]/+page.js index 2b9aade..b1fef0e 100644 --- a/frontend/src/routes/lang=[lang]/+page.js +++ b/frontend/src/routes/lang=[lang]/+page.js @@ -1,4 +1,4 @@ -import {json} from '@sveltejs/kit'; +import { json } from '@sveltejs/kit'; export async function load(context) { async function fetchData(data) { @@ -21,17 +21,14 @@ export async function load(context) { async function fetchJSON(lang) { try { - const url = (import.meta.env.MODE === 'development') ? `lang/${lang}.json` :`static/lang/${lang}.json`; - const resTemp = await context.fetch(url); - if (resTemp.ok == false) { - return { - status: resTemp.status, - } - } + const data = import.meta.glob('/src/lib/lang/*.json'); + const file = data[`/src/lib/lang/${lang}.json`]; + const jsonData = (await file()).default; return { - status: 0, data: await resTemp.json(), + status: 0, + data: jsonData } - } catch (error) { + } catch { return { status: 500, } @@ -40,10 +37,24 @@ export async function load(context) { // Gathering the language const lang = context.params.lang; - const lang_id = (await fetchData(`get_lang_id/${lang}`)).data.id; + let lang_id; + const res = (await fetchData(`get_lang_id/${lang}`)); + if (res.status == 500) return { + status: res.status + } + else { + lang_id = res.data.id; + } // Gathering texts for languages - const text = (await fetchJSON(lang)).data; + let text; + const jsonData = await fetchJSON(lang); + if (jsonData.status == 0) text = jsonData.data; + else { + return { + status: res.status + } + } // Gathering data from databse const infos = []; diff --git a/frontend/src/routes/lang=[lang]/+page.svelte b/frontend/src/routes/lang=[lang]/+page.svelte index 94d72cf..23f56ab 100644 --- a/frontend/src/routes/lang=[lang]/+page.svelte +++ b/frontend/src/routes/lang=[lang]/+page.svelte @@ -32,13 +32,16 @@ export let data; // Database const cv = data.status == 0 ? processData(data) : undefined; + // Language specifications const text = data.text; let flag; let otherlang; - for (const lang of cv.skills.languages) { - if (lang.url_name == data.lang) flag = lang.icon_alpha; - else otherlang = lang.url_name; + if (data.status == 0) { + for (const lang of cv.skills.languages) { + if (lang.url_name == data.lang) flag = lang.icon_alpha; + else otherlang = lang.url_name; + } } // Sidebar