Date : 29/12/2024 Projet : QwikPress Statut : EN ATTENTE VALIDATION
Le framework a DEUX problèmes critiques :
getDataService() this.sharedMap.get('storage')Certains fichiers (ex: admin/config/general/index.tsx) :
src/components/admin/dynamic-inputs-editor/index.tsx
src/components/admin/page-data-selector/index.tsx
src/components/site/button-renderer/index.tsx
src/routes/admin/config/authentication/index.tsx
src/routes/admin/config/button-types/[buttonTypeKey]/edit/index.tsx
src/routes/admin/config/button-types/index.tsx
src/routes/admin/config/button-types/new/index.tsx
src/routes/admin/config/colors/[colorKey]/edit/index.tsx
src/routes/admin/config/colors/index.tsx
src/routes/admin/config/colors/new/index.tsx
src/routes/admin/config/footer/company-info/index.tsx
src/routes/admin/config/footer/copyright/index.tsx
src/routes/admin/config/footer/link-groups/[groupId]/index.tsx
src/routes/admin/config/footer/link-groups/index.tsx
src/routes/admin/config/footer/social/index.tsx
src/routes/admin/config/general/index.tsx
src/routes/admin/config/navigation/index.tsx
src/routes/admin/config/navigation/[navigationItemId]/edit/index.tsx
src/routes/admin/config/navigation/new/index.tsx
src/routes/admin/config/seo/analytics/index.tsx
src/routes/admin/config/seo/meta/index.tsx
src/routes/admin/config/seo/referencing/index.tsx
src/routes/admin/index.tsx
src/routes/admin/modules/common/[moduleId]/edit/fields/[fieldName]/[index]/edit/index.tsx
src/routes/admin/modules/[moduleType]/layout.tsx
src/routes/admin/(pages)/newPage/index.tsx
src/routes/admin/(pages)/page/[pageId]/content/index.tsx
src/routes/admin/(pages)/page/[pageId]/layout.tsx
src/routes/admin/(pages)/page/[pageId]/modules/add/index.tsx
src/routes/admin/(pages)/page/[pageId]/modules/[moduleId]/edit/fields/[fieldName]/add/index.tsx
src/routes/admin/(pages)/page/[pageId]/modules/[moduleId]/edit/fields/[fieldName]/[index]/edit/index.tsx
src/routes/admin/(pages)/page/[pageId]/modules/[moduleId]/edit/index.tsx
src/routes/admin/(pages)/page/[pageId]/modules/[moduleId]/inputs/[inputId]/edit/index.tsx
src/routes/admin/(pages)/page/[pageId]/seo/index.tsx
src/routes/admin/(pages)/page/[pageId]/settings/index.tsx
src/routes/admin/(pages)/page/[pageId]/subpages/index.tsx
src/routes/admin/(pages)/pages/index.tsx
import { getDataService } from '../../../../services/data';
export const useConfigData = routeLoader$(async () => {
const dataService = getDataService(); // ❌ DEPRECATED
const config = await dataService.loadConfig();
return { config };
});
export const updateConfigServer = server$(async (data) => {
// ❌ CONTOURNEMENT - Écriture directe
const { writeFile } = await import('fs/promises');
await writeFile(configPath, JSON.stringify(data));
});
import { getStorage } from '../../../../services/storage';
export const useConfigData = routeLoader$(async ({ sharedMap }) => {
const storage = getStorage(sharedMap);
if (!storage) {
return { config: null, error: 'Storage not initialized' };
}
const config = await storage.getConfig();
return { config };
});
export const updateConfigServer = server$(async function(data) {
const storage = getStorage(this.sharedMap);
if (!storage) {
return { success: false, error: 'Storage not initialized' };
}
// ✅ Utilise le service (compatible file + Supabase)
return storage.saveConfig(data);
});
fix/storage-migrationroutes/admin/config/routes/admin/(pages)/components/src/services/data/ (ancien système)storage/index.ts| Risque | Mitigation |
|---|---|
| Casse fonctionnalité | Tests après chaque fichier |
| Import circulaire | Vérifier les dépendances |
| Mode file cassé | Tester en local d'abord |
Attente de ta validation avant de commencer.