diff --git a/.gitignore b/.gitignore index 81bf4932c..90a0431fd 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ yarn-debug.log* yarn-error.log* app/src/nativeModulesContent.js packages/api/src/nativeModulesContent.js +.VSCodeCounter \ No newline at end of file diff --git a/packages/web/public/global.css b/packages/web/public/global.css index a5228d520..f0e359b4a 100644 --- a/packages/web/public/global.css +++ b/packages/web/public/global.css @@ -31,6 +31,9 @@ body { .icon-invisible { visibility: hidden; } +.flex { + display: flex; +} /* html, body { position: relative; diff --git a/packages/web/src/Screen.svelte b/packages/web/src/Screen.svelte index 14d5d3d4d..3cdf48060 100644 --- a/packages/web/src/Screen.svelte +++ b/packages/web/src/Screen.svelte @@ -9,6 +9,7 @@ import splitterDrag from './utility/splitterDrag'; import CurrentDropDownMenu from './modals/CurrentDropDownMenu.svelte'; import StatusBar from './widgets/StatusBar.svelte'; + import ModalLayer from './modals/ModalLayer.svelte';
@@ -47,6 +48,7 @@
{/if} + diff --git a/packages/web/src/modals/ModalBase.svelte b/packages/web/src/modals/ModalBase.svelte new file mode 100644 index 000000000..1322c9299 --- /dev/null +++ b/packages/web/src/modals/ModalBase.svelte @@ -0,0 +1,93 @@ + + + +
+ +
+
+
+
+ +
+
+
+ +
+ +
+
+ + diff --git a/packages/web/src/modals/ModalLayer.svelte b/packages/web/src/modals/ModalLayer.svelte new file mode 100644 index 000000000..5b0d827e6 --- /dev/null +++ b/packages/web/src/modals/ModalLayer.svelte @@ -0,0 +1,7 @@ + + +{#each $openedModals as { component, props, modalId }} + +{/each} diff --git a/packages/web/src/modals/modalTools.ts b/packages/web/src/modals/modalTools.ts new file mode 100644 index 000000000..c23718b82 --- /dev/null +++ b/packages/web/src/modals/modalTools.ts @@ -0,0 +1,11 @@ +import { openedModals } from '../stores'; +import uuidv1 from 'uuid/v1'; + +export function showModal(component, props = {}) { + const modalId = uuidv1(); + openedModals.update(x => [...x, { component, modalId, props }]); +} + +export function closeModal(modalId) { + openedModals.update(x => x.filter(y => y.modalId != modalId)); +} diff --git a/packages/web/src/plugins/ThemeDark.svelte b/packages/web/src/plugins/ThemeDark.svelte index 1aa6722cd..76b7bb141 100644 --- a/packages/web/src/plugins/ThemeDark.svelte +++ b/packages/web/src/plugins/ThemeDark.svelte @@ -48,6 +48,11 @@ --theme-bg-selected: #15395b; /* blue-3 */ --theme-bg-statusbar-inv: blue; + --theme-bg-modalheader: rgb(43, 60, 61); + + --theme-bg-button-inv: #004488; + --theme-bg-button-inv-2: #1a5794; + --theme-bg-button-inv-3: #346aa0; --theme-icon-blue: #3c9ae8; --theme-icon-green: #8fd460; diff --git a/packages/web/src/plugins/ThemeLight.svelte b/packages/web/src/plugins/ThemeLight.svelte index f959fc6b7..115a8bc2a 100644 --- a/packages/web/src/plugins/ThemeLight.svelte +++ b/packages/web/src/plugins/ThemeLight.svelte @@ -41,6 +41,11 @@ --theme-bg-selected: #91d5ff; /* blue-3 */ --theme-bg-statusbar-inv: blue; + --theme-bg-modalheader: #eff; + + --theme-bg-button-inv: #337ab7; + --theme-bg-button-inv-2: #4d8bc0; + --theme-bg-button-inv-3: #679cc9; --theme-icon-blue: #096dd9; /* blue-7 */ --theme-icon-green: #237804; /* green-7 */ @@ -51,5 +56,6 @@ --theme-icon-inv-green: #8fd460; --theme-icon-inv-red: #e84749; + } diff --git a/packages/web/src/stores.ts b/packages/web/src/stores.ts index 35e72e757..3fd4d747f 100644 --- a/packages/web/src/stores.ts +++ b/packages/web/src/stores.ts @@ -36,8 +36,8 @@ export const activeTabId = derived([openedTabs], ([$openedTabs]) => $openedTabs. export const visibleToolbar = writableWithStorage(1, 'visibleToolbar'); export const leftPanelWidth = writable(300); export const currentDropDownMenu = writable(null); +export const openedModals = writable([]); subscribeCssVariable(selectedWidget, x => (x ? 1 : 0), '--dim-visible-left-panel'); subscribeCssVariable(visibleToolbar, x => (x ? 1 : 0), '--dim-visible-toolbar'); subscribeCssVariable(leftPanelWidth, x => `${x}px`, '--dim-left-panel-width'); - diff --git a/packages/web/src/widgets/FormStyledButton.svelte b/packages/web/src/widgets/FormStyledButton.svelte new file mode 100644 index 000000000..fbb1fbd86 --- /dev/null +++ b/packages/web/src/widgets/FormStyledButton.svelte @@ -0,0 +1,38 @@ + + + + +