feat(Makefile): install frontend dependencies on dev command

feat(Makefile): patch Layout.jsx queryKey for local development
feat(frontend-web): mock base44 client for local development with role switching
feat(frontend-web): add event assignment modal with conflict detection and bulk assign
feat(frontend-web): add client dashboard with key metrics and quick actions
feat(frontend-web): add layout component with role-based navigation
feat(frontend-web): update various pages to use "@/components" alias
feat(frontend-web): update create event page with ai assistant toggle
feat(frontend-web): update dashboard page with new components
feat(frontend-web): update events page with quick assign popover
feat(frontend-web): update invite vendor page with hover card
feat(frontend-web): update messages page with conversation list and message thread
feat(frontend-web): update operator dashboard page with new components
feat(frontend-web): update partner management page with new components
feat(frontend-web): update permissions page with new components
feat(frontend-web): update procurement dashboard page with new components
feat(frontend-web): update smart vendor onboarding page with new components
feat(frontend-web): update staff directory page with new components
feat(frontend-web): update teams page with new components
feat(frontend-web): update user management page with new components
feat(frontend-web): update vendor compliance page with new components
feat(frontend-web): update main.jsx to include react query provider

feat: add vendor marketplace page
feat: add global import fix to prepare-export script
feat: add patch-layout-query-key script to fix query key
feat: update patch-base44-client script to use a more robust method
This commit is contained in:
bwnyasse
2025-11-13 14:56:31 -05:00
parent f449272ef0
commit 80cd49deb5
49 changed files with 2937 additions and 1508 deletions

View File

@@ -4,22 +4,6 @@ const path = require('path');
const projectRoot = path.resolve(__dirname, '..');
const clientFilePath = path.join(projectRoot, 'frontend-web', 'src', 'api', 'base44Client.js');
const originalMock = `// import { createClient } from '@base44/sdk';
// --- MIGRATION MOCK ---
// This mock completely disables the Base44 SDK to allow for local development.
export const base44 = {
auth: {
me: () => Promise.resolve(null),
logout: () => {},
},
entities: {
ActivityLog: {
filter: () => Promise.resolve([]),
},
},
};`;
const patchedMock = `// import { createClient } from '@base44/sdk';
// --- MIGRATION MOCK ---
@@ -98,26 +82,19 @@ export const base44 = {
};`;
try {
let content = fs.readFileSync(clientFilePath, 'utf8');
const content = fs.readFileSync(clientFilePath, 'utf8');
if (content.includes('me: () => Promise.resolve(null),')) {
content = content.replace(originalMock.trim(), patchedMock.trim());
fs.writeFileSync(clientFilePath, content, 'utf8');
// Check if the file is the original, unpatched version from the export
if (content.includes("createClient({")) {
fs.writeFileSync(clientFilePath, patchedMock, 'utf8');
console.log('✅ Successfully patched frontend-web/src/api/base44Client.js');
} else if (content.includes('const MOCK_USER_KEY')) {
} else if (content.includes("const MOCK_USER_KEY")) {
console.log(' base44Client.js is already patched. Skipping.');
} else {
// Fallback to a simpler, more brittle replacement if the full mock doesn't match
const simpleOriginal = 'me: () => Promise.resolve(null),';
if (content.includes(simpleOriginal)) {
fs.writeFileSync(clientFilePath, patchedMock, 'utf8');
console.log('✅ Successfully patched frontend-web/src/api/base44Client.js using fallback.');
} else {
console.error('❌ Patching failed: Could not find the original mock code in base44Client.js.');
process.exit(1);
}
console.error('❌ Patching failed: Could not find the expected code in base44Client.js. The export format may have changed.');
process.exit(1);
}
} catch (error) {
console.error('❌ An error occurred during patching:', error);
process.exit(1);
}
}