From 173fa7bef66ce89b7096a2d6f56d0ae0e7d8f22c Mon Sep 17 00:00:00 2001 From: G Date: Tue, 10 Sep 2024 16:49:22 +0000 Subject: [PATCH] use a different caching approach. Will modify it later. --- src/contexts/UserAuthenticationContext.tsx | 13 +++++++++++-- src/utils/assetsCache.tsx | 52 +++++++++++++++++++--------------------------------- 2 files changed, 30 insertions(+), 35 deletions(-) diff --git a/src/contexts/UserAuthenticationContext.tsx b/src/contexts/UserAuthenticationContext.tsx index d0d4784..e3b902d 100644 --- a/src/contexts/UserAuthenticationContext.tsx +++ b/src/contexts/UserAuthenticationContext.tsx @@ -1,4 +1,4 @@ -import { loadAssetsAsync } from "@/utils/assetsCache"; +import cacheAssetsAsync from "@/utils/assetsCache"; import authenticateUser, { parseAuthicationErrors } from "@/utils/requests/authenticateUser"; import type { IuserInformations } from "@/utils/requests/types"; import getUserInformations, { @@ -235,7 +235,16 @@ export const UserAuthenticationContextProvider = ({ children }: { children: Reac log.debug("UserAuthenticationContext | App Startup | loading saved user data."); (async () => { try { - await loadAssetsAsync(); + // await loadAssetsAsync(); + await cacheAssetsAsync({ + images: [ + "../assets/background_default.png", + "../assets/beasy_default.png", + "../assets/beasy_background.png", + "../assets/background_content_white2.png", + "../../assets/background.png", + ], + }); const authenticationData = await loadAuthenticationData(); const userInformations = await loadUserInformations(); if (authenticationData && userInformations) { diff --git a/src/utils/assetsCache.tsx b/src/utils/assetsCache.tsx index b490885..b395d01 100644 --- a/src/utils/assetsCache.tsx +++ b/src/utils/assetsCache.tsx @@ -6,36 +6,22 @@ import { LOG } from "@logger"; const log = LOG.extend("assetsCache"); -const PATH_TO_ASSETS_FOLDER = "../../assets"; - -const IMAGE_TO_CACHE = [ - require("../../assets/beasy_icon.png"), - require(`${PATH_TO_ASSETS_FOLDER}/beasy_splash.png`), - require(`${PATH_TO_ASSETS_FOLDER}/beasy_default.png`), - require(`${PATH_TO_ASSETS_FOLDER}/beasy_background.png`), - // Operators - require(`${PATH_TO_ASSETS_FOLDER}/operators/orange_money.png`), - require(`${PATH_TO_ASSETS_FOLDER}/operators/mtn_money.png`), - require(`${PATH_TO_ASSETS_FOLDER}/operators/moov_money.png`), - require(`${PATH_TO_ASSETS_FOLDER}/operators/wave_money.png`), - require(`${PATH_TO_ASSETS_FOLDER}/operators/visa_card.png`), -]; - -const cacheImages = () => { - return IMAGE_TO_CACHE.map((image) => { - log.verbose("cacheImages |", image); - return Asset.fromModule(image).downloadAsync(); - }); -}; - -export const cacheAssetsAsync = () => { - return Promise.all([...cacheImages()]); -}; - -export const loadAssetsAsync = async () => { - try { - await cacheAssetsAsync(); - } catch (error) { - log.error("loadAssetsAsync |", error); - } -}; +export default function cacheAssetsAsync({ + images = [], + fonts = [], + videos = [], +}: { images?: string[]; fonts?: string[]; videos?: string[] }) { + return Promise.all([...cacheImages(images)]); +} + +function cacheImages(images: string[]) { + return images.map((image) => Asset.fromModule(image).downloadAsync()); +} + +// function cacheVideos(videos) { +// return videos.map((video) => Asset.fromModule(video).downloadAsync()); +// } + +// function cacheFonts(fonts) { +// return fonts.map((font) => Font.loadAsync(font)); +// } -- libgit2 0.27.1