diff --git a/src/App.vue b/src/App.vue index 24f9cc7..1b8746a 100644 --- a/src/App.vue +++ b/src/App.vue @@ -2,6 +2,7 @@ import PagedJsWrapper from './components/PagedJsWrapper.vue'; import EditorPanel from './components/editor/EditorPanel.vue'; import ElementPopup from './components/ElementPopup.vue'; +import PreviewLoader from './components/PreviewLoader.vue'; import { onMounted, ref, watch, computed, provide } from 'vue'; import { useStylesheetStore } from './stores/stylesheet'; import Coloris from '@melloware/coloris'; @@ -147,9 +148,7 @@ onMounted(() => renderPreview(true)); :class="{ shifted: activeTab.length > 0 }" > -
-
-
+ @@ -183,39 +182,4 @@ onMounted(() => renderPreview(true)); z-index: 0; opacity: 0; } - -.preview-loader { - position: fixed; - top: 2rem; - right: 2rem; - z-index: 1000; - pointer-events: none; - transition: all 0.2s ease-in-out var(--curve); -} - -.preview-loader.shifted { - right: calc(2rem + 19rem * 0.7); - top: calc(2rem - 30vh * 0.7); - transform: scale(0.7); -} - -.spinner { - width: 48px; - height: 48px; - border-radius: 50%; - display: inline-block; - border-top: 3px solid #fff; - border-right: 3px solid transparent; - box-sizing: border-box; - animation: rotation 1s linear infinite; -} - -@keyframes rotation { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} diff --git a/src/components/PreviewLoader.vue b/src/components/PreviewLoader.vue new file mode 100644 index 0000000..a1c43d8 --- /dev/null +++ b/src/components/PreviewLoader.vue @@ -0,0 +1,55 @@ + + + + +