From 594d08f84d26225d9dc317c5a742724a7b8171a7 Mon Sep 17 00:00:00 2001 From: Murtadha Date: Sun, 28 Jul 2024 00:32:47 -0400 Subject: [PATCH] v0.12.2 Move Data fetching to its own script for more modular and clearer code base --- src/App.jsx | 44 +++++++++++++++------------------------- src/utils/dataFetcher.js | 19 +++++++++++++++++ version.txt | 2 +- 3 files changed, 36 insertions(+), 29 deletions(-) create mode 100644 src/utils/dataFetcher.js diff --git a/src/App.jsx b/src/App.jsx index 5c030a1..a79b249 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -13,6 +13,8 @@ import InfoSection from "./shared/components/info/InfoSection"; import styles from "./App.module.css"; +import { fetchEducationData, fetchExperienceData, fetchPersonalData, fetchProjectsData } from "./utils/dataFetcher"; + function App() { const [educationData, setEducationData] = useState([]); const [experienceData, setExperienceData] = useState([]); @@ -20,35 +22,21 @@ function App() { const [personalData, setPersonalData] = useState([]); useEffect(() => { - const fetchEducationData = async () => { - const response = await fetch("/assets/data/educationData.json"); - const data = await response.json(); - setEducationData(data); + const fetchData = async () => { + const education = await fetchEducationData(); + setEducationData(education); + + const experience = await fetchExperienceData(); + setExperienceData(experience); + + const projects = await fetchProjectsData(); + setProjectsData(projects); + + const personal = await fetchPersonalData(); + setPersonalData(personal); }; - - const fetchExperienceData = async () => { - const response = await fetch("/assets/data/experienceData.json"); - const data = await response.json(); - setExperienceData(data); - }; - - const fetchProjectsData = async () => { - const response = await fetch("/assets/data/projectsData.json"); - const data = await response.json(); - setProjectsData(data); - }; - - const fetchPersonalData = async () => { - const response = await fetch("/assets/data/personalData.json"); - const data = await response.json(); - setPersonalData(data); - // console.log(data) - }; - - fetchEducationData(); - fetchExperienceData(); - fetchProjectsData(); - fetchPersonalData(); + + fetchData(); }, []); return ( diff --git a/src/utils/dataFetcher.js b/src/utils/dataFetcher.js new file mode 100644 index 0000000..5298702 --- /dev/null +++ b/src/utils/dataFetcher.js @@ -0,0 +1,19 @@ +export const fetchEducationData = async () => { + const response = await fetch("/assets/data/educationData.json"); + return await response.json(); +}; + +export const fetchExperienceData = async () => { + const response = await fetch("/assets/data/experienceData.json"); + return await response.json(); +}; + +export const fetchProjectsData = async () => { + const response = await fetch("/assets/data/projectsData.json"); + return await response.json(); +}; + +export const fetchPersonalData = async () => { + const response = await fetch("/assets/data/personalData.json"); + return await response.json(); +}; \ No newline at end of file diff --git a/version.txt b/version.txt index aac2dac..e96a871 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.12.1 \ No newline at end of file +0.12.2 \ No newline at end of file