Index.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <template>
  2. <div class="page-app" @contextmenu.prevent>
  3. <Header />
  4. <div class="design-body">
  5. <Graphics />
  6. <View />
  7. <div style="border-left: 1px solid var(--color-border); z-index: 2">
  8. <FileProps v-if="selections.mode === SelectionMode.File" />
  9. <PenProps v-else-if="selections.mode === SelectionMode.Pen" />
  10. <PensProps v-else />
  11. </div>
  12. </div>
  13. </div>
  14. </template>
  15. <script lang="ts" setup>
  16. import Header from './components/Header.vue';
  17. import Graphics from './components/Graphics.vue';
  18. import View from './components/View.vue';
  19. import FileProps from './components/FileProps.vue';
  20. import PenProps from './components/PenProps.vue';
  21. import PensProps from './components/PensProps.vue';
  22. import { useSelection, SelectionMode } from '@/services/selections';
  23. const { selections } = useSelection();
  24. </script>
  25. <style lang="postcss" scoped>
  26. .page-app {
  27. height: 100vh;
  28. .design-body {
  29. display: grid;
  30. grid-template-columns: 300px 1fr 301px;
  31. height: calc(100vh - 40px);
  32. border-top: 1px solid var(--color-border);
  33. }
  34. }
  35. </style>