@deckbuilderkit/build 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +26 -4
- package/src/add-view.ts +105 -0
- package/src/app.ts +41 -0
- package/src/build.ts +123 -0
- package/src/cli.ts +135 -0
- package/src/dev.ts +42 -0
- package/src/icon.ts +26 -0
- package/src/keys.ts +46 -0
- package/src/new.ts +58 -0
- package/src/release.ts +182 -0
- package/template/app.ts +10 -0
- package/template/package.json +31 -0
- package/template/server/main.ts +95 -0
- package/template/server/routes.ts +10 -0
- package/template/tsconfig.json +5 -0
- package/template/vite.config.ts +20 -0
- package/template/web/index.html +13 -0
- package/template/web/public/favicon.svg +10 -0
- package/template/web/src/App.tsx +187 -0
- package/template/web/src/api.ts +38 -0
- package/template/web/src/i18n/en.ts +89 -0
- package/template/web/src/i18n/index.ts +8 -0
- package/template/web/src/i18n/pt-BR.ts +91 -0
- package/template/web/src/main.tsx +11 -0
- package/template/web/src/screens/Home.tsx +49 -0
- package/template/web/src/screens/SettingsModal.tsx +541 -0
- package/template/web/src/settings.ts +33 -0
- package/template/web/tsconfig.json +9 -0
- package/view-template/README.md +10 -0
- package/view-template/package.json +25 -0
- package/view-template/src/i18n.ts +14 -0
- package/view-template/src/server.ts +9 -0
- package/view-template/src/styles.css +1 -0
- package/view-template/src/view.tsx +22 -0
- package/view-template/src/web.ts +2 -0
- package/view-template/tsconfig.json +5 -0
- package/README.md +0 -3
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
// This app's messages; the base ones (common.*, generic errors) come from @deckbuilderkit/ui.
|
|
2
|
+
export const en = {
|
|
3
|
+
'nav.section.main': 'Main',
|
|
4
|
+
'nav.home': 'Home',
|
|
5
|
+
'nav.settings': 'Settings',
|
|
6
|
+
'nav.keys': 'Keyboard shortcuts',
|
|
7
|
+
'nav.theme.dark': 'Dark theme',
|
|
8
|
+
'nav.theme.light': 'Light theme',
|
|
9
|
+
'palette.group.go': 'Go to',
|
|
10
|
+
'palette.group.theme': 'Theme',
|
|
11
|
+
'palette.group.app': 'App',
|
|
12
|
+
'palette.theme': 'Theme: {name}',
|
|
13
|
+
'palette.quit': 'Quit {name}',
|
|
14
|
+
'nav.palette': 'Command palette (Ctrl+Shift+P)',
|
|
15
|
+
|
|
16
|
+
'home.title': 'Home',
|
|
17
|
+
'home.system': 'System',
|
|
18
|
+
'home.version': 'Version',
|
|
19
|
+
'home.platform': 'Platform',
|
|
20
|
+
'home.host': 'Host',
|
|
21
|
+
'home.runtime': 'Runtime',
|
|
22
|
+
'home.mode': 'Mode',
|
|
23
|
+
'home.mode.desktop': 'Desktop window',
|
|
24
|
+
'home.mode.browser': 'Browser',
|
|
25
|
+
'home.started': 'Started',
|
|
26
|
+
'home.dataDir': 'Data folder',
|
|
27
|
+
|
|
28
|
+
'settings.title': 'Settings',
|
|
29
|
+
'settings.row.modified': 'Modified',
|
|
30
|
+
'settings.footer.reset': 'Reset',
|
|
31
|
+
'settings.footer.apply': 'Apply',
|
|
32
|
+
'settings.footer.ok': 'OK',
|
|
33
|
+
'settings.unsaved.title': 'Unsaved changes',
|
|
34
|
+
'settings.unsaved.message': 'Save your changes to the settings before closing?',
|
|
35
|
+
'settings.unsaved.save': 'Save',
|
|
36
|
+
'settings.unsaved.discard': "Don't save",
|
|
37
|
+
'settings.unsaved.cancel': 'Cancel',
|
|
38
|
+
'settings.section.general': 'General',
|
|
39
|
+
'settings.section.appearance': 'Appearance',
|
|
40
|
+
'settings.section.window': 'Window',
|
|
41
|
+
'settings.section.editor': 'Editor',
|
|
42
|
+
'settings.section.editor.fileTypes': 'File Types',
|
|
43
|
+
'settings.section.editor.externalEditors': 'External Editors',
|
|
44
|
+
'settings.section.explorer': 'Explorer',
|
|
45
|
+
'settings.section.workbench': 'Workbench',
|
|
46
|
+
'settings.section.workbench.results': 'Results',
|
|
47
|
+
'settings.section.workbench.sqlFormatter': 'SQL Formatter',
|
|
48
|
+
'settings.section.terminal': 'Terminal',
|
|
49
|
+
'settings.section.keyboard': 'Keyboard',
|
|
50
|
+
'settings.section.keyboard.shortcuts': 'Shortcuts',
|
|
51
|
+
'settings.section.system': 'System',
|
|
52
|
+
'settings.section.system.updates': 'Updates',
|
|
53
|
+
'settings.section.system.backup': 'Backup',
|
|
54
|
+
'keys.global': 'Global',
|
|
55
|
+
'settings.search': 'Search settings',
|
|
56
|
+
'settings.search.none': 'No settings found.',
|
|
57
|
+
'settings.search.clear': 'Clear search',
|
|
58
|
+
'settings.search.modified': 'Show modified settings only',
|
|
59
|
+
'settings.search.count': '{n} settings found',
|
|
60
|
+
'settings.search.count.one': '1 setting found',
|
|
61
|
+
'settings.quit': 'Quit',
|
|
62
|
+
'settings.quit.hint': 'Stops {name}. Closing the tab leaves it running.',
|
|
63
|
+
'settings.quit.hintTray': 'Stops {name}. Closing the window leaves it running in the tray.',
|
|
64
|
+
'settings.language': 'Language',
|
|
65
|
+
'settings.autostart': 'Start at login',
|
|
66
|
+
'settings.autostart.hint': 'Windows, built exe only.',
|
|
67
|
+
'settings.closeToTray': 'Keep running in the tray',
|
|
68
|
+
'settings.closeToTray.hint': 'Windows only. Takes effect after a restart.',
|
|
69
|
+
'settings.updateFolder': 'Release folder',
|
|
70
|
+
'settings.updateFolder.browse': 'Browse…',
|
|
71
|
+
'settings.updateFolder.clear': 'Clear',
|
|
72
|
+
'settings.updateFolder.pick': 'Choose the release folder',
|
|
73
|
+
'settings.updateFolder.none': 'Not set',
|
|
74
|
+
'settings.updateFolder.hint': 'Folder that `deckbuilder release --to` publishes to. Empty: the GitHub releases of the app, if it has a repo.',
|
|
75
|
+
'settings.update.current': 'Running v{version}.',
|
|
76
|
+
'settings.update.available': 'Version {version} is available.',
|
|
77
|
+
'settings.update.latest': 'Up to date.',
|
|
78
|
+
'settings.update.notConfigured': 'No update source set.',
|
|
79
|
+
'settings.update.offline': 'Update source not reachable.',
|
|
80
|
+
'settings.update.source': 'Updates from: {source}',
|
|
81
|
+
'settings.update.folder': 'Folder',
|
|
82
|
+
'settings.update.fromSource': 'Running from source: only the built exe can update itself.',
|
|
83
|
+
'settings.update.check': 'Check now',
|
|
84
|
+
'settings.update.apply': 'Update and restart',
|
|
85
|
+
'settings.update.restarting': 'Restarting with v{version}…',
|
|
86
|
+
|
|
87
|
+
'app.stopped': '{name} stopped. You can close this tab.',
|
|
88
|
+
|
|
89
|
+
};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { Messages } from '@deckbuilderkit/ui';
|
|
2
|
+
import type { en } from './en';
|
|
3
|
+
|
|
4
|
+
export const ptBR: Messages<typeof en> = {
|
|
5
|
+
'nav.section.main': 'Principal',
|
|
6
|
+
'nav.home': 'Início',
|
|
7
|
+
'nav.settings': 'Configurações',
|
|
8
|
+
'nav.keys': 'Atalhos de teclado',
|
|
9
|
+
'nav.theme.dark': 'Tema escuro',
|
|
10
|
+
'nav.theme.light': 'Tema claro',
|
|
11
|
+
'palette.group.go': 'Ir para',
|
|
12
|
+
'palette.group.theme': 'Tema',
|
|
13
|
+
'palette.group.app': 'App',
|
|
14
|
+
'palette.theme': 'Tema: {name}',
|
|
15
|
+
'palette.quit': 'Sair do {name}',
|
|
16
|
+
'nav.palette': 'Paleta de comandos (Ctrl+Shift+P)',
|
|
17
|
+
|
|
18
|
+
'home.title': 'Início',
|
|
19
|
+
'home.system': 'Sistema',
|
|
20
|
+
'home.version': 'Versão',
|
|
21
|
+
'home.platform': 'Plataforma',
|
|
22
|
+
'home.host': 'Máquina',
|
|
23
|
+
'home.runtime': 'Runtime',
|
|
24
|
+
'home.mode': 'Modo',
|
|
25
|
+
'home.mode.desktop': 'Janela desktop',
|
|
26
|
+
'home.mode.browser': 'Navegador',
|
|
27
|
+
'home.started': 'Iniciado',
|
|
28
|
+
'home.dataDir': 'Pasta de dados',
|
|
29
|
+
|
|
30
|
+
'settings.title': 'Configurações',
|
|
31
|
+
'settings.row.modified': 'Modificado',
|
|
32
|
+
'settings.footer.reset': 'Restaurar padrões',
|
|
33
|
+
'settings.footer.apply': 'Aplicar',
|
|
34
|
+
'settings.footer.ok': 'OK',
|
|
35
|
+
'settings.unsaved.title': 'Alterações não salvas',
|
|
36
|
+
'settings.unsaved.message': 'Salvar as alterações nas configurações antes de fechar?',
|
|
37
|
+
'settings.unsaved.save': 'Salvar',
|
|
38
|
+
'settings.unsaved.discard': 'Não salvar',
|
|
39
|
+
'settings.unsaved.cancel': 'Cancelar',
|
|
40
|
+
'settings.section.general': 'Geral',
|
|
41
|
+
'settings.section.appearance': 'Aparência',
|
|
42
|
+
'settings.section.window': 'Janela',
|
|
43
|
+
'settings.section.editor': 'Editor',
|
|
44
|
+
'settings.section.editor.fileTypes': 'Tipos de arquivo',
|
|
45
|
+
'settings.section.editor.externalEditors': 'Editores externos',
|
|
46
|
+
'settings.section.explorer': 'Explorador',
|
|
47
|
+
'settings.section.workbench': 'Workbench',
|
|
48
|
+
'settings.section.workbench.results': 'Resultados',
|
|
49
|
+
'settings.section.workbench.sqlFormatter': 'Formatador de SQL',
|
|
50
|
+
'settings.section.terminal': 'Terminal',
|
|
51
|
+
'settings.section.keyboard': 'Teclado',
|
|
52
|
+
'settings.section.keyboard.shortcuts': 'Atalhos',
|
|
53
|
+
'settings.section.system': 'Sistema',
|
|
54
|
+
'settings.section.system.updates': 'Atualizações',
|
|
55
|
+
'settings.section.system.backup': 'Backup',
|
|
56
|
+
'keys.global': 'Global',
|
|
57
|
+
'settings.search': 'Pesquisar configurações',
|
|
58
|
+
'settings.search.none': 'Nenhuma configuração encontrada.',
|
|
59
|
+
'settings.search.clear': 'Limpar pesquisa',
|
|
60
|
+
'settings.search.modified': 'Mostrar só configurações modificadas',
|
|
61
|
+
'settings.search.count': '{n} configurações encontradas',
|
|
62
|
+
'settings.search.count.one': '1 configuração encontrada',
|
|
63
|
+
'settings.quit': 'Sair',
|
|
64
|
+
'settings.quit.hint': 'Encerra o {name}. Fechar a aba o deixa rodando.',
|
|
65
|
+
'settings.quit.hintTray': 'Encerra o {name}. Fechar a janela o deixa rodando na bandeja.',
|
|
66
|
+
'settings.language': 'Idioma',
|
|
67
|
+
'settings.autostart': 'Iniciar com o Windows',
|
|
68
|
+
'settings.autostart.hint': 'Somente Windows, no exe compilado.',
|
|
69
|
+
'settings.closeToTray': 'Manter em execução na bandeja',
|
|
70
|
+
'settings.closeToTray.hint': 'Somente Windows. Vale após reiniciar o app.',
|
|
71
|
+
'settings.updateFolder': 'Pasta de releases',
|
|
72
|
+
'settings.updateFolder.browse': 'Procurar…',
|
|
73
|
+
'settings.updateFolder.clear': 'Limpar',
|
|
74
|
+
'settings.updateFolder.pick': 'Escolha a pasta de releases',
|
|
75
|
+
'settings.updateFolder.none': 'Não definida',
|
|
76
|
+
'settings.updateFolder.hint': 'Pasta onde `deckbuilder release --to` publica. Vazio: os releases do GitHub do app, se ele tiver um repositório.',
|
|
77
|
+
'settings.update.current': 'Versão atual v{version}.',
|
|
78
|
+
'settings.update.available': 'A versão {version} está disponível.',
|
|
79
|
+
'settings.update.latest': 'Atualizado.',
|
|
80
|
+
'settings.update.notConfigured': 'Nenhuma fonte de atualização definida.',
|
|
81
|
+
'settings.update.offline': 'Fonte de atualização inacessível.',
|
|
82
|
+
'settings.update.source': 'Atualizações de: {source}',
|
|
83
|
+
'settings.update.folder': 'Pasta',
|
|
84
|
+
'settings.update.fromSource': 'Rodando do código-fonte: só o exe compilado se atualiza.',
|
|
85
|
+
'settings.update.check': 'Verificar agora',
|
|
86
|
+
'settings.update.apply': 'Atualizar e reiniciar',
|
|
87
|
+
'settings.update.restarting': 'Reiniciando com a v{version}…',
|
|
88
|
+
|
|
89
|
+
'app.stopped': '{name} foi encerrado. Você pode fechar esta aba.',
|
|
90
|
+
|
|
91
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { StrictMode } from 'react';
|
|
2
|
+
import { createRoot } from 'react-dom/client';
|
|
3
|
+
import '@deckbuilderkit/ui/styles.css';
|
|
4
|
+
import './i18n';
|
|
5
|
+
import { App } from './App';
|
|
6
|
+
|
|
7
|
+
createRoot(document.getElementById('root')!).render(
|
|
8
|
+
<StrictMode>
|
|
9
|
+
<App />
|
|
10
|
+
</StrictMode>,
|
|
11
|
+
);
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { Badge, CopyButton, ErrorBanner, Icon, isDesktop, PageHead, Spinner, useAsync } from '@deckbuilderkit/ui';
|
|
3
|
+
import { api } from '../api';
|
|
4
|
+
import { t } from '../i18n';
|
|
5
|
+
|
|
6
|
+
export function Home() {
|
|
7
|
+
const info = useAsync(() => api.info(), []);
|
|
8
|
+
|
|
9
|
+
return (
|
|
10
|
+
<div className="content">
|
|
11
|
+
<PageHead title={t('home.title')}>
|
|
12
|
+
<button className="btn btn-sm" onClick={info.reload}><Icon name="refresh" /> {t('common.retry')}</button>
|
|
13
|
+
</PageHead>
|
|
14
|
+
<div className="scroll">
|
|
15
|
+
{info.error && <ErrorBanner error={info.error} onRetry={info.reload} />}
|
|
16
|
+
{!info.data && !info.error && <Spinner />}
|
|
17
|
+
{info.data && (
|
|
18
|
+
<section className="section">
|
|
19
|
+
<h4 className="mono-label">{t('home.system')}</h4>
|
|
20
|
+
<div className="facts">
|
|
21
|
+
<Fact label={t('home.version')}><span className="mono">{info.data.version}</span></Fact>
|
|
22
|
+
<Fact label={t('home.mode')}>
|
|
23
|
+
<Badge tone={isDesktop ? 'ok' : 'info'}>{isDesktop ? t('home.mode.desktop') : t('home.mode.browser')}</Badge>
|
|
24
|
+
</Fact>
|
|
25
|
+
<Fact label={t('home.platform')}><span className="mono">{info.data.platform} / {info.data.arch}</span></Fact>
|
|
26
|
+
<Fact label={t('home.host')}>{info.data.hostname}</Fact>
|
|
27
|
+
<Fact label={t('home.runtime')}>
|
|
28
|
+
<span className="mono">bun {info.data.bun}</span>
|
|
29
|
+
</Fact>
|
|
30
|
+
<Fact label={t('home.started')}>{new Date(info.data.startedAt).toLocaleString()}</Fact>
|
|
31
|
+
<Fact label={t('home.dataDir')}>
|
|
32
|
+
<span className="fact-row"><span className="mono">{info.data.dataDir}</span><CopyButton text={info.data.dataDir} label="" /></span>
|
|
33
|
+
</Fact>
|
|
34
|
+
</div>
|
|
35
|
+
</section>
|
|
36
|
+
)}
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
function Fact({ label, children }: { label: string; children: ReactNode }) {
|
|
43
|
+
return (
|
|
44
|
+
<div className="fact">
|
|
45
|
+
<div className="fact-label">{label}</div>
|
|
46
|
+
<div className="fact-value">{children}</div>
|
|
47
|
+
</div>
|
|
48
|
+
);
|
|
49
|
+
}
|