DashboardComponentDisplay.vue 643 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <template>
  2. <div class="display" :class="component.cssClass">
  3. <div v-html="component.title" />
  4. </div>
  5. </template>
  6. <script setup>
  7. const props = defineProps({
  8. component: {
  9. type: Object,
  10. required: true
  11. }
  12. })
  13. </script>
  14. <style>
  15. @layer components {
  16. .display {
  17. padding: 1em;
  18. border-radius: .7em;
  19. box-shadow: 0 0 .6em #aaa;
  20. text-align: center;
  21. font-size: small;
  22. display: flex;
  23. flex-direction: column;
  24. flex-grow: 1;
  25. justify-content: center;
  26. align-items: center;
  27. }
  28. @media (prefers-color-scheme: dark) {
  29. .display {
  30. border-color: #000;
  31. box-shadow: 0 0 .6em #000;
  32. }
  33. }
  34. }
  35. </style>