diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php index b0427e4b8..dbf632c6a 100644 --- a/app/Http/Controllers/Controller.php +++ b/app/Http/Controllers/Controller.php @@ -33,7 +33,13 @@ class Controller extends BaseController ->all(); // Modules (for Frontend) - $module->modules = $osm_modules->mapWithKeys(fn ($item, $key) => [$module->name => $item]); + $module->modules = $osm_modules->map(function ($item) use ($module) { + $split = explode('/', $module->name); + $item->moduleFullName = $module->name; + $item->moduleVendor = $split[0]; + $item->moduleName = $split[1]; + return $item; + }); return $module; }); diff --git a/resources/js/app.ts b/resources/js/app.ts index 746b52cde..688583f01 100644 --- a/resources/js/app.ts +++ b/resources/js/app.ts @@ -29,7 +29,7 @@ for (const [name, module] of Object.entries(modules)) { // eslint-disable-next-line no-await-in-loop,@typescript-eslint/no-unsafe-assignment importedModules[name] = await import( /* @vite-ignore */ - `${importPath}/vendor/${name}/index.js` + `${importPath}/vendor/${module.moduleVendor}/${name}/index.js` ); importedModules[name].bootstrap?.(); diff --git a/resources/js/typings/modules.ts b/resources/js/typings/modules.ts index 9d036d016..b62610bb1 100644 --- a/resources/js/typings/modules.ts +++ b/resources/js/typings/modules.ts @@ -5,5 +5,6 @@ export declare namespace OpenSTAManager { export interface Module { hasBootstrap?: boolean; icon: MaterialIcons; + moduleVendor: string; } }