diff --git a/apps/desktop/scripts/copy-web-dist.ts b/apps/desktop/scripts/copy-web-dist.ts
index be3aa81..d552c79 100644
--- a/apps/desktop/scripts/copy-web-dist.ts
+++ b/apps/desktop/scripts/copy-web-dist.ts
@@ -52,8 +52,7 @@ console.log(` Destination : ${DEST_DIR}`);
// ── Validate ───────────────────────────────────────────────────
if (!existsSync(SOURCE_DIR)) {
console.error(
- `\n❌ Build output not found at: ${SOURCE_DIR}\n` +
- ` Run "pnpm build --filter=${targetApp}" first.\n`,
+ `\n❌ Build output not found at: ${SOURCE_DIR}\n` + ` Run "pnpm build --filter=${targetApp}" first.\n`,
);
process.exit(1);
}
diff --git a/apps/desktop/src/main/index.ts b/apps/desktop/src/main/index.ts
index c083294..44a859d 100644
--- a/apps/desktop/src/main/index.ts
+++ b/apps/desktop/src/main/index.ts
@@ -1,11 +1,4 @@
-import {
- app,
- shell,
- BrowserWindow,
- ipcMain,
- protocol,
- session,
-} from 'electron';
+import { app, shell, BrowserWindow, ipcMain, protocol, session } from 'electron';
import { autoUpdater } from 'electron-updater';
import { join, extname, normalize } from 'path';
import { readFileSync, existsSync, statSync } from 'fs';
@@ -227,8 +220,7 @@ function setupCorsBypass(): void {
// a "normal" request or a null origin
if (
requestHeaders['Origin'] &&
- (requestHeaders['Origin'].startsWith('app://') ||
- requestHeaders['Origin'].startsWith('file://'))
+ (requestHeaders['Origin'].startsWith('app://') || requestHeaders['Origin'].startsWith('file://'))
) {
delete requestHeaders['Origin'];
}
@@ -427,10 +419,7 @@ if (!gotTheLock) {
app.on('web-contents-created', (_event, contents) => {
contents.on('will-navigate', (event, url) => {
// Allow navigation within the app protocol and dev server
- if (
- url.startsWith('app://') ||
- (IS_DEV && url.startsWith(DEV_SERVER_URL))
- ) {
+ if (url.startsWith('app://') || (IS_DEV && url.startsWith(DEV_SERVER_URL))) {
return;
}
event.preventDefault();
diff --git a/apps/docs-dev/src/.vitepress/theme/index.ts b/apps/docs-dev/src/.vitepress/theme/index.ts
index 15492a8..f789d9f 100644
--- a/apps/docs-dev/src/.vitepress/theme/index.ts
+++ b/apps/docs-dev/src/.vitepress/theme/index.ts
@@ -1,6 +1,6 @@
-import DefaultTheme from 'vitepress/theme'
-import './custom.css'
+import DefaultTheme from 'vitepress/theme';
+import './custom.css';
export default {
extends: DefaultTheme,
-}
+};
diff --git a/apps/landing/src/features/public-content/presentation/LandingSample.tsx b/apps/landing/src/features/public-content/presentation/LandingSample.tsx
index 42fd681..63f73b4 100644
--- a/apps/landing/src/features/public-content/presentation/LandingSample.tsx
+++ b/apps/landing/src/features/public-content/presentation/LandingSample.tsx
@@ -29,7 +29,7 @@ export default function LandingSample() {
telemetryContext: {
customSpanName: 'public.content.fetch',
tags: {
- 'feature': 'landing',
+ feature: 'landing',
'ui.component': 'LandingSample',
'ui.action': 'content_fetch',
},
@@ -74,14 +74,19 @@ export default function LandingSample() {
{loading ? 'Fetching…' : 'Test Public Fetch'}
- {error && (
-
- ❌ {error}
-
- )}
+ {error && ❌ {error}}
{result && (
-
+
{JSON.stringify(result, null, 2)}
)}
diff --git a/apps/showcase/src/App.tsx b/apps/showcase/src/App.tsx
index c2e1869..64bc47a 100644
--- a/apps/showcase/src/App.tsx
+++ b/apps/showcase/src/App.tsx
@@ -21,25 +21,29 @@ export default function App() {
const colorScheme = useThemeStore((s) => s.colorScheme);
const [density, setDensity] = useState('compact');
- const router = useMemo(() => createBrowserRouter([
- {
- path: "/",
- element: ,
- children: [
- { index: true, element: },
- { path: "ui-components", element: },
- { path: "forms", element: },
- { path: "storage", element: },
- { path: "events", element: },
- { path: "hardware", element: },
- { path: "rbac", element: },
- { path: "auth", element: },
- { path: "action-tools", element: },
- { path: "ag-grid", element: },
- ]
- },
- { path: "/shell-demo", element: }
- ]), [density]);
+ const router = useMemo(
+ () =>
+ createBrowserRouter([
+ {
+ path: '/',
+ element: ,
+ children: [
+ { index: true, element: },
+ { path: 'ui-components', element: },
+ { path: 'forms', element: },
+ { path: 'storage', element: },
+ { path: 'events', element: },
+ { path: 'hardware', element: },
+ { path: 'rbac', element: },
+ { path: 'auth', element: },
+ { path: 'action-tools', element: },
+ { path: 'ag-grid', element: },
+ ],
+ },
+ { path: '/shell-demo', element: },
+ ]),
+ [density],
+ );
return (
diff --git a/apps/showcase/src/core/hooks/use-electron-printer.ts b/apps/showcase/src/core/hooks/use-electron-printer.ts
index bf732b4..66da48c 100644
--- a/apps/showcase/src/core/hooks/use-electron-printer.ts
+++ b/apps/showcase/src/core/hooks/use-electron-printer.ts
@@ -74,30 +74,27 @@ export function useElectronPrinter(): UseElectronPrinterReturn {
}
}, []);
- const print = useCallback(
- async (options?: ElectronPrintOptions): Promise => {
- if (!window.electronAPI) {
- return { success: false, failureReason: 'Not running in Electron' };
- }
+ const print = useCallback(async (options?: ElectronPrintOptions): Promise => {
+ if (!window.electronAPI) {
+ return { success: false, failureReason: 'Not running in Electron' };
+ }
- setLoading(true);
- setError(null);
- try {
- const result = await window.electronAPI.print(options);
- if (!result.success && result.failureReason) {
- setError(result.failureReason);
- }
- return result;
- } catch (err) {
- const message = err instanceof Error ? err.message : 'Print failed';
- setError(message);
- return { success: false, failureReason: message };
- } finally {
- setLoading(false);
+ setLoading(true);
+ setError(null);
+ try {
+ const result = await window.electronAPI.print(options);
+ if (!result.success && result.failureReason) {
+ setError(result.failureReason);
}
- },
- [],
- );
+ return result;
+ } catch (err) {
+ const message = err instanceof Error ? err.message : 'Print failed';
+ setError(message);
+ return { success: false, failureReason: message };
+ } finally {
+ setLoading(false);
+ }
+ }, []);
return {
printers,
diff --git a/apps/showcase/src/core/hooks/use-electron-updater.ts b/apps/showcase/src/core/hooks/use-electron-updater.ts
index 1fa8cf5..51574f1 100644
--- a/apps/showcase/src/core/hooks/use-electron-updater.ts
+++ b/apps/showcase/src/core/hooks/use-electron-updater.ts
@@ -3,14 +3,7 @@ import { useIsElectron } from './use-is-electron';
// ─── Types ──────────────────────────────────────────────────────
-export type UpdateStatus =
- | 'idle'
- | 'checking'
- | 'available'
- | 'not-available'
- | 'downloading'
- | 'ready'
- | 'error';
+export type UpdateStatus = 'idle' | 'checking' | 'available' | 'not-available' | 'downloading' | 'ready' | 'error';
export interface UseElectronUpdaterReturn {
/** Current status of the auto-updater lifecycle */
diff --git a/apps/showcase/src/layouts/ShowcaseLayout.tsx b/apps/showcase/src/layouts/ShowcaseLayout.tsx
index 6a96b27..ce78002 100644
--- a/apps/showcase/src/layouts/ShowcaseLayout.tsx
+++ b/apps/showcase/src/layouts/ShowcaseLayout.tsx
@@ -34,17 +34,28 @@ export default function ShowcaseLayout({ density, setDensity }: ShowcaseLayoutPr
const currentPath = location.pathname.replace('/', '');
switch (currentPath) {
- case 'rbac': return 'Role-Based Access Control and Permissions';
- case 'storage': return 'Offline-First PouchDB Synchronization';
- case 'auth': return 'Authentication & Security Layers';
- case 'ui-components': return 'Theme, Typography, Forms & Data Grids';
- case 'forms': return 'Enterprise Form Engine & Zod Validation';
- case 'events': return 'Global Event Bus Synchronization';
- case 'hardware': return 'Hardware Integration & Printers';
- case 'layout-engine': return 'Core Layout Engine & Variants';
- case 'action-tools': return 'Showcase for PageActions and RowActions components';
- case 'ag-grid': return 'Enterprise Data Grid with Mantine Theme Integration';
- default: return 'Architecture Showcase';
+ case 'rbac':
+ return 'Role-Based Access Control and Permissions';
+ case 'storage':
+ return 'Offline-First PouchDB Synchronization';
+ case 'auth':
+ return 'Authentication & Security Layers';
+ case 'ui-components':
+ return 'Theme, Typography, Forms & Data Grids';
+ case 'forms':
+ return 'Enterprise Form Engine & Zod Validation';
+ case 'events':
+ return 'Global Event Bus Synchronization';
+ case 'hardware':
+ return 'Hardware Integration & Printers';
+ case 'layout-engine':
+ return 'Core Layout Engine & Variants';
+ case 'action-tools':
+ return 'Showcase for PageActions and RowActions components';
+ case 'ag-grid':
+ return 'Enterprise Data Grid with Mantine Theme Integration';
+ default:
+ return 'Architecture Showcase';
}
};
@@ -58,8 +69,12 @@ export default function ShowcaseLayout({ density, setDensity }: ShowcaseLayoutPr
>
- Eigen ERP
- Architecture Showcase
+
+ Eigen ERP
+
+
+ Architecture Showcase
+
{navItems.map((item) => (
@@ -74,7 +89,7 @@ export default function ShowcaseLayout({ density, setDensity }: ShowcaseLayoutPr
/>
))}
-
+