UNPKG

1 kBTypeScriptView Raw
1import renderer from '@platform/electron/lib/renderer';
2import dbRenderer from '@platform/fsdb.electron/lib/renderer';
3import * as React from 'react';
4
5import { log, t } from './common';
6import { Test } from './components/Test';
7
8const { app } = require('electron').remote;
9const DIR = app.getPath('userData');
10const FILE = 'test.db';
11const CONN = `nedb:${DIR}/${FILE}`;
12
13log.group('Database');
14log.info('path:', `${DIR}/${FILE}`);
15log.info('conn:', CONN);
16log.groupEnd();
17
18class Renderer extends React.PureComponent {
19 public static contextType = renderer.Context;
20 public context!: t.ILocalContext;
21 public render() {
22 return <Test db={this.context.db} />;
23 }
24}
25
26/**
27 * Render into DOM.
28 */
29renderer
30 .render(<Renderer />, 'root', {
31 getContext: async e => {
32 const { ipc } = e.context;
33 const databases: t.DbFactory = dbRenderer.init({ ipc }).factory;
34 const db = databases(CONN);
35 return { db };
36 },
37 })
38 .then(context => context.log.info('renderer loaded!'));