feat(showcase): add PouchDB sample component and storage page

- Implemented PouchSample component for managing POS configurations and item inventories using PouchDB.
- Created StoragePage to encapsulate the PouchSample component.
- Added UI components page with various UI elements including buttons, forms, and data grids.
- Defined Electron type declarations for printing and auto-update functionalities.
- Extended event registry with custom application events for printing and stock updates.
- Configured Vite for the showcase application with React and Tailwind CSS support.
- Updated package.json and pnpm-lock.yaml to include necessary dependencies for the showcase app.
This commit is contained in:
Firman Ramdhani
2026-07-23 17:26:41 +07:00
parent e99aeb6def
commit 980952252d
65 changed files with 5749 additions and 9 deletions
@@ -0,0 +1,37 @@
// 1. Import hooks yang baru saja dibuat Opus
import { Button } from '@repo/ui/components';
import { useElectronPrinter } from '../../../core/hooks/use-electron-printer';
import { useElectronUpdater } from '../../../core/hooks/use-electron-updater';
export default function App() {
// 2. Panggil hooks-nya
const { printers, refreshPrinters } = useElectronPrinter();
const { status } = useElectronUpdater();
return (
<div style={{ padding: '20px', border: '2px solid blue', margin: '20px' }}>
<h2>🧪 Test Integrasi Electron</h2>
<p>
<strong>Status Auto-Update:</strong> {status}
</p>
<Button variant="filled" color="brand" onClick={refreshPrinters}>
Refresh Printer
</Button>
<h3>🖨 Daftar Printer di Komputer Ini:</h3>
<ul>
{printers.length === 0 ? (
<li>Mencari printer... (Atau tidak ada printer terdeteksi)</li>
) : (
printers.map((printer, index) => (
<li key={index}>
{printer.name} {printer.isDefault ? '(Default)' : ''}
</li>
))
)}
</ul>
</div>
);
}
@@ -0,0 +1,14 @@
import { Stack, Container, Card } from '@repo/ui/components';
import PrinterList from './components/printer-list';
export default function HardwarePage() {
return (
<Container size="xl" m={0} p={0}>
<Stack gap="xl">
<Card withBorder shadow="sm" radius="md" p="md">
<PrinterList />
</Card>
</Stack>
</Container>
);
}