Quellcode durchsuchen

feat: Update tailwindcss to v4

Sean Blackburn vor 10 Monaten
Ursprung
Commit
21117d72e2

+ 1 - 1
cspell.config.yaml

@@ -33,7 +33,6 @@ words:
   - anrechnungEcts
   - anrechnungEcts
   - anzahl
   - anzahl
   - Ausb
   - Ausb
-  - Ausb
   - BBVT
   - BBVT
   - Bedevere
   - Bedevere
   - bemerkung
   - bemerkung
@@ -148,6 +147,7 @@ words:
   - Studenthub
   - Studenthub
   - Stundenplanänderung
   - Stundenplanänderung
   - Stundenplanänderungen
   - Stundenplanänderungen
+  - tailwindcss
   - telefon
   - telefon
   - TIMEBOX
   - TIMEBOX
   - timecell
   - timecell

Datei-Diff unterdrückt, da er zu groß ist
+ 385 - 178
package-lock.json


+ 2 - 2
package.json

@@ -15,10 +15,12 @@
     "@fortawesome/free-brands-svg-icons": "^6.7.2",
     "@fortawesome/free-brands-svg-icons": "^6.7.2",
     "@fortawesome/free-solid-svg-icons": "^6.7.2",
     "@fortawesome/free-solid-svg-icons": "^6.7.2",
     "@fortawesome/vue-fontawesome": "^3.0.8",
     "@fortawesome/vue-fontawesome": "^3.0.8",
+    "@tailwindcss/vite": "^4.1.7",
     "globals": "^16.1.0",
     "globals": "^16.1.0",
     "leaflet": "^1.9.4",
     "leaflet": "^1.9.4",
     "mermaid": "^11.6.0",
     "mermaid": "^11.6.0",
     "pinia": "^3.0.2",
     "pinia": "^3.0.2",
+    "tailwindcss": "^4.1.7",
     "typescript-eslint": "^8.32.1",
     "typescript-eslint": "^8.32.1",
     "vue": "^3.5.14",
     "vue": "^3.5.14",
     "vue-router": "^4.5.1",
     "vue-router": "^4.5.1",
@@ -33,8 +35,6 @@
     "eslint": "^9.27.0",
     "eslint": "^9.27.0",
     "eslint-config-prettier": "^10.1.5",
     "eslint-config-prettier": "^10.1.5",
     "eslint-plugin-vue": "^10.1.0",
     "eslint-plugin-vue": "^10.1.0",
-    "postcss": "^8.5.3",
-    "tailwindcss": "^3.4.13",
     "typescript": "^5.8.3",
     "typescript": "^5.8.3",
     "vite": "^6.3.5",
     "vite": "^6.3.5",
     "vue-tsc": "^2.2.10"
     "vue-tsc": "^2.2.10"

+ 0 - 6
postcss.config.cjs

@@ -1,6 +0,0 @@
-module.exports = {
-  plugins: {
-    tailwindcss: {},
-    autoprefixer: {},
-  },
-};

+ 4 - 2
src/components/general/ClassFilter.vue

@@ -258,6 +258,8 @@ export default {
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .action-button {
 .action-button {
   @apply h-5
   @apply h-5
     text-xs
     text-xs
@@ -278,7 +280,7 @@ export default {
     dark:disabled:text-gray-600
     dark:disabled:text-gray-600
     disabled:pointer-events-none
     disabled:pointer-events-none
     aspect-square
     aspect-square
-    rounded
+    rounded-sm
     transition-all
     transition-all
     duration-200;
     duration-200;
 }
 }
@@ -302,7 +304,7 @@ export default {
     dark:disabled:text-gray-600
     dark:disabled:text-gray-600
     disabled:pointer-events-none
     disabled:pointer-events-none
     aspect-square
     aspect-square
-    rounded
+    rounded-sm
     transition-all
     transition-all
     duration-200
     duration-200
     items-center
     items-center

+ 3 - 1
src/components/general/ClassInfo.vue

@@ -287,6 +287,8 @@ export default {
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .action-button {
 .action-button {
   @apply text-center
   @apply text-center
     bg-gray-200
     bg-gray-200
@@ -295,7 +297,7 @@ export default {
     dark:bg-gray-600
     dark:bg-gray-600
     dark:hover:bg-gray-700
     dark:hover:bg-gray-700
     dark:active:bg-gray-900
     dark:active:bg-gray-900
-    rounded
+    rounded-sm
     cursor-pointer
     cursor-pointer
     w-full
     w-full
     p-0
     p-0

+ 5 - 1
src/components/general/ClassRemovedRow.vue

@@ -132,6 +132,8 @@ export default {
 </script>
 </script>
 
 
 <style>
 <style>
+@reference "../../style.css";
+
 .upgrade-module-table thead td {
 .upgrade-module-table thead td {
   @apply border-b border-gray-700 h-8 text-gray-500 font-bold;
   @apply border-b border-gray-700 h-8 text-gray-500 font-bold;
 }
 }
@@ -153,6 +155,8 @@ export default {
 </style>
 </style>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .action-button {
 .action-button {
   @apply h-5
   @apply h-5
     text-xs
     text-xs
@@ -171,7 +175,7 @@ export default {
     dark:disabled:text-gray-600
     dark:disabled:text-gray-600
     disabled:pointer-events-none
     disabled:pointer-events-none
     aspect-square
     aspect-square
-    rounded
+    rounded-sm
     transition-all
     transition-all
     duration-200;
     duration-200;
 }
 }

+ 3 - 0
src/components/general/ClassRow.vue

@@ -153,9 +153,12 @@ export default {
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .row {
 .row {
   @apply border-b
   @apply border-b
     cursor-pointer
     cursor-pointer
+    border-gray-300
     dark:border-gray-500
     dark:border-gray-500
     hover:bg-slate-200
     hover:bg-slate-200
     dark:hover:bg-gray-700
     dark:hover:bg-gray-700

+ 1 - 1
src/components/general/CurrentModuleExecutions.vue

@@ -2,7 +2,7 @@
   <table class="w-full">
   <table class="w-full">
     <thead>
     <thead>
       <tr
       <tr
-        class="border-b dark:border-gray-500 font-bold bg-gray-200 h-10 dark:bg-gray-500 dark:text-white"
+        class="border-b border-gray-300 dark:border-gray-500 font-bold bg-gray-200 h-10 dark:bg-gray-500 dark:text-white"
       >
       >
         <td>Zeit</td>
         <td>Zeit</td>
         <td>Klasse</td>
         <td>Klasse</td>

+ 3 - 0
src/components/general/CurrentModuleExecutionsRow.vue

@@ -115,8 +115,11 @@ export default {
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .row {
 .row {
   @apply border-b
   @apply border-b
+  border-gray-300
     dark:border-gray-500
     dark:border-gray-500
     hover:bg-slate-200
     hover:bg-slate-200
     dark:hover:bg-gray-700
     dark:hover:bg-gray-700

+ 4 - 2
src/components/general/DependencyTree.vue

@@ -168,10 +168,12 @@ export default {
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .module-box {
 .module-box {
   @apply w-28
   @apply w-28
     py-2
     py-2
-    rounded
+    rounded-sm
     text-center
     text-center
     hover:bg-gray-300
     hover:bg-gray-300
     active:bg-gray-400
     active:bg-gray-400
@@ -190,7 +192,7 @@ export default {
     dark:bg-gray-600
     dark:bg-gray-600
     dark:hover:bg-gray-700
     dark:hover:bg-gray-700
     dark:active:bg-gray-900
     dark:active:bg-gray-900
-    rounded
+    rounded-sm
     cursor-pointer
     cursor-pointer
     px-2
     px-2
     py-0.5
     py-0.5

+ 3 - 1
src/components/general/ModuleInfo.vue

@@ -254,6 +254,8 @@ export default {
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .action-button {
 .action-button {
   @apply text-center
   @apply text-center
     bg-gray-200
     bg-gray-200
@@ -262,7 +264,7 @@ export default {
     dark:bg-gray-600
     dark:bg-gray-600
     dark:hover:bg-gray-700
     dark:hover:bg-gray-700
     dark:active:bg-gray-900
     dark:active:bg-gray-900
-    rounded
+    rounded-sm
     cursor-pointer
     cursor-pointer
     w-6
     w-6
     p-0
     p-0

+ 4 - 2
src/components/general/ModulesetManager.vue

@@ -67,7 +67,7 @@
       <font-awesome-icon icon="fa-solid fa-cog" />
       <font-awesome-icon icon="fa-solid fa-cog" />
     </button>
     </button>
   </div>
   </div>
-  <hr class="my-2 dark:border-zinc-600">
+  <hr class="my-2 border-gray-300 dark:border-zinc-600">
 
 
   <ModuleSetEdit
   <ModuleSetEdit
     :moduleset-name="editingModuleSet"
     :moduleset-name="editingModuleSet"
@@ -162,6 +162,8 @@ export default {
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .action-button {
 .action-button {
   @apply w-10
   @apply w-10
     mx-1
     mx-1
@@ -170,7 +172,7 @@ export default {
     dark:hover:bg-gray-600
     dark:hover:bg-gray-600
     dark:active:bg-gray-700
     dark:active:bg-gray-700
     aspect-square
     aspect-square
-    rounded
+    rounded-sm
     transition-all
     transition-all
     duration-200;
     duration-200;
 }
 }

+ 5 - 3
src/components/general/NumberedPagination.vue

@@ -29,7 +29,7 @@
             v-if="idx == null"
             v-if="idx == null"
             class="px-3 md:px-4 text-gray-600 dark:text-gray-400"
             class="px-3 md:px-4 text-gray-600 dark:text-gray-400"
           >&middot;&middot;&middot;</span>
           >&middot;&middot;&middot;</span>
-          <!-- class="cursor-pointer py-1.5 px-3 md:px-4 rounded border-0 outline-none transition-all duration-300 hover:bg-gray-200 dark:hover:bg-gray-700 focus:shadow-none" -->
+          <!-- class="cursor-pointer py-1.5 px-3 md:px-4 rounded-sm border-0 outline-hidden transition-all duration-300 hover:bg-gray-200 dark:hover:bg-gray-700 focus:shadow-none" -->
           <button
           <button
             v-else
             v-else
             :title="`Auf die ${idx}. Seite springen`"
             :title="`Auf die ${idx}. Seite springen`"
@@ -125,15 +125,17 @@ export default {
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .pagination-button {
 .pagination-button {
   @apply cursor-pointer
   @apply cursor-pointer
     py-1.5
     py-1.5
     px-2.5
     px-2.5
     mx-0.5
     mx-0.5
     md:px-4
     md:px-4
-    rounded
+    rounded-sm
     border-0
     border-0
-    outline-none
+    outline-hidden
     transition-all
     transition-all
     duration-200
     duration-200
     hover:bg-gray-200
     hover:bg-gray-200

+ 3 - 0
src/components/general/PreviousModuleExecutionsRow.vue

@@ -66,8 +66,11 @@ export default {
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .row {
 .row {
   @apply border-b
   @apply border-b
+  border-gray-300
    dark:border-gray-500
    dark:border-gray-500
     hover:bg-slate-100
     hover:bg-slate-100
     dark:hover:bg-gray-700
     dark:hover:bg-gray-700

+ 3 - 1
src/components/layout/HeaderBar.vue

@@ -65,7 +65,7 @@
           style="border: 0px solid transparent; margin: 0px"
           style="border: 0px solid transparent; margin: 0px"
         >
         >
           <span
           <span
-            class="p-1 px-2 ml-2 rounded inline text-xs md:text-sm font-mono"
+            class="p-1 px-2 ml-2 rounded-sm inline text-xs md:text-sm font-mono"
             :class="[
             :class="[
               classVersionStore.isLatestSemesterVersion
               classVersionStore.isLatestSemesterVersion
                 ? 'bg-gray-700 cursor-help'
                 ? 'bg-gray-700 cursor-help'
@@ -152,6 +152,8 @@ export default {
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .pulsating-orange {
 .pulsating-orange {
   animation-name: color;
   animation-name: color;
   animation-duration: 1s;
   animation-duration: 1s;

+ 6 - 2
src/components/modals/AdditionalInfo.vue

@@ -298,6 +298,8 @@ export default {
 </script>
 </script>
 
 
 <style>
 <style>
+@reference "../../style.css";
+
 #repo-changelog h1,
 #repo-changelog h1,
 #timetable-changelog h1 {
 #timetable-changelog h1 {
   @apply text-lg font-bold;
   @apply text-lg font-bold;
@@ -322,13 +324,15 @@ export default {
 </style>
 </style>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .action-button {
 .action-button {
   @apply text-center
   @apply text-center
     hover:bg-gray-200
     hover:bg-gray-200
     active:bg-gray-300
     active:bg-gray-300
     dark:hover:bg-gray-700
     dark:hover:bg-gray-700
     dark:active:bg-gray-900
     dark:active:bg-gray-900
-    rounded
+    rounded-sm
     cursor-pointer
     cursor-pointer
     w-7
     w-7
     aspect-square
     aspect-square
@@ -338,7 +342,7 @@ export default {
 }
 }
 
 
 .view-button {
 .view-button {
-  @apply rounded
+  @apply rounded-sm
   w-full
   w-full
   py-2
   py-2
   text-center
   text-center

+ 3 - 1
src/components/modals/BaseModal.vue

@@ -13,7 +13,7 @@
     "
     "
   >
   >
     <div
     <div
-      class="fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity cursor-pointer"
+      class="fixed inset-0 bg-gray-500/75 transition-opacity cursor-pointer"
     />
     />
 
 
     <div class="fixed inset-0 z-10 overflow-y-auto">
     <div class="fixed inset-0 z-10 overflow-y-auto">
@@ -63,6 +63,8 @@ export default {
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .close-button {
 .close-button {
   @apply absolute
   @apply absolute
     right-1
     right-1

+ 0 - 2
src/components/modals/ClassUpdateModal.vue

@@ -112,5 +112,3 @@ export default {
   },
   },
 };
 };
 </script>
 </script>
-
-<style scoped></style>

+ 3 - 1
src/components/modals/ModuleSearchModal.vue

@@ -168,6 +168,8 @@ export default {
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .module-entry {
 .module-entry {
   @apply flex
   @apply flex
     items-center
     items-center
@@ -181,7 +183,7 @@ export default {
     my-2
     my-2
     py-1
     py-1
     px-5
     px-5
-    rounded
+    rounded-sm
     cursor-pointer
     cursor-pointer
     transition-all
     transition-all
     duration-200;
     duration-200;

+ 3 - 3
src/components/modals/ModulesetEdit.vue

@@ -27,7 +27,7 @@
       <button
       <button
         v-if="!isNew"
         v-if="!isNew"
         title="Neue leere Planung erstellen"
         title="Neue leere Planung erstellen"
-        class="bg-red-500 text-white py-2 w-1/3 rounded mx-1"
+        class="bg-red-500 text-white py-2 w-1/3 rounded-xs mx-1"
         @click="emptyModuleSet"
         @click="emptyModuleSet"
       >
       >
         Leeren
         Leeren
@@ -35,7 +35,7 @@
       <button
       <button
         v-if="!isNew"
         v-if="!isNew"
         title="Momentane Planung kopieren"
         title="Momentane Planung kopieren"
-        class="bg-pink-500 text-white py-2 w-1/3 rounded mx-1"
+        class="bg-pink-500 text-white py-2 w-1/3 rounded-xs mx-1"
         @click="copyModuleSet"
         @click="copyModuleSet"
       >
       >
         Kopieren
         Kopieren
@@ -44,7 +44,7 @@
         :title="
         :title="
           isNew ? 'Neue Planung jetzt erstellen' : 'Änderungen abspeichern'
           isNew ? 'Neue Planung jetzt erstellen' : 'Änderungen abspeichern'
         "
         "
-        class="bg-green-500 text-white py-2 w-1/3 rounded mx-1"
+        class="bg-green-500 text-white py-2 w-1/3 rounded-xs mx-1"
         @click="saveModuleSet"
         @click="saveModuleSet"
       >
       >
         {{ isNew ? "Erstellen" : "Speichern" }}
         {{ isNew ? "Erstellen" : "Speichern" }}

+ 0 - 2
src/components/modals/OldSemesterReminderModal.vue

@@ -63,5 +63,3 @@ export default {
   },
   },
 };
 };
 </script>
 </script>
-
-<style scoped></style>

+ 1 - 3
src/components/modals/PersonalEventEdit.vue

@@ -81,7 +81,7 @@ import BaseModal from './BaseModal.vue';
         </button>
         </button>
         <input
         <input
           type="submit"
           type="submit"
-          class="bg-green-500 text-white py-2 px-5 rounded active:bg-green-600"
+          class="bg-green-500 text-white py-2 px-5 rounded-sm active:bg-green-600"
           :value="isNew ? 'Einfügen' : 'Speichern'"
           :value="isNew ? 'Einfügen' : 'Speichern'"
         >
         >
       </div>
       </div>
@@ -192,5 +192,3 @@ export default {
   },
   },
 };
 };
 </script>
 </script>
-
-<style scoped></style>

+ 4 - 2
src/components/modals/RightDrawer.vue

@@ -14,11 +14,11 @@
   >
   >
     <div
     <div
       ref="modal"
       ref="modal"
-      class="fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity cursor-pointer"
+      class="fixed inset-0 bg-gray-500/75 transition-opacity cursor-pointer"
     />
     />
 
 
     <div
     <div
-      class="fixed bottom-0 flex flex-col max-w-full bg-white dark:bg-gray-800 bg-clip-padding drop-shadow-2xl outline-none transition duration-300 ease-in-out top-0 right-0 border-none"
+      class="fixed bottom-0 flex flex-col max-w-full bg-white dark:bg-gray-800 bg-clip-padding drop-shadow-2xl outline-hidden transition duration-300 ease-in-out top-0 right-0 border-none"
       style="width: 30rem"
       style="width: 30rem"
       tabindex="-1"
       tabindex="-1"
     >
     >
@@ -58,6 +58,8 @@ export default {
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .close-button {
 .close-button {
   @apply absolute
   @apply absolute
     right-1
     right-1

+ 3 - 1
src/components/pages/404Page.vue

@@ -74,6 +74,8 @@ const randomQuote = computed(() => {
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .action-button {
 .action-button {
   @apply text-center
   @apply text-center
     text-gray-700
     text-gray-700
@@ -84,7 +86,7 @@ const randomQuote = computed(() => {
     dark:bg-gray-600
     dark:bg-gray-600
     dark:hover:bg-gray-700
     dark:hover:bg-gray-700
     dark:active:bg-gray-900
     dark:active:bg-gray-900
-    rounded
+    rounded-sm
     cursor-pointer
     cursor-pointer
     py-2
     py-2
     px-5
     px-5

+ 5 - 3
src/components/views/CalendarView.vue

@@ -527,6 +527,8 @@ export default {
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 table {
 table {
   --border-colour: #999;
   --border-colour: #999;
 }
 }
@@ -558,7 +560,7 @@ td {
     absolute
     absolute
     left-0
     left-0
     overflow-hidden
     overflow-hidden
-    rounded
+    rounded-sm
     transition-all
     transition-all
     duration-200;
     duration-200;
 }
 }
@@ -578,7 +580,7 @@ td {
     absolute
     absolute
     left-0
     left-0
     overflow-hidden
     overflow-hidden
-    rounded
+    rounded-sm
     transition-all
     transition-all
     duration-200;
     duration-200;
 }
 }
@@ -590,7 +592,7 @@ td {
     dark:bg-gray-700
     dark:bg-gray-700
     dark:hover:bg-gray-800
     dark:hover:bg-gray-800
     dark:active:bg-gray-900
     dark:active:bg-gray-900
-    rounded
+    rounded-sm
     cursor-pointer
     cursor-pointer
     py-0.5 px-3
     py-0.5 px-3
     transition-all
     transition-all

+ 0 - 2
src/components/views/ClassUpdateView.vue

@@ -189,5 +189,3 @@ export default {
   },
   },
 };
 };
 </script>
 </script>
-
-<style scoped></style>

+ 5 - 1
src/components/views/FullDependencyTree.vue

@@ -253,13 +253,17 @@ export default {
 </script>
 </script>
 
 
 <style>
 <style>
+@reference "../../style.css";
 .leaflet-container {
 .leaflet-container {
   @apply bg-gray-100 dark:bg-gray-800;
   @apply bg-gray-100 dark:bg-gray-800;
 }
 }
 </style>
 </style>
+
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .lang-button {
 .lang-button {
-  @apply rounded
+  @apply rounded-sm
   w-full
   w-full
   py-2
   py-2
   bg-gray-100
   bg-gray-100

+ 4 - 2
src/components/views/ModuleSelector.vue

@@ -26,7 +26,7 @@
   >
   >
     <thead>
     <thead>
       <tr
       <tr
-        class="border-b dark:border-gray-500 font-bold bg-gray-200 h-10 dark:bg-gray-500 dark:text-white"
+        class="border-b border-gray-300 dark:border-gray-500 font-bold bg-gray-200 h-10 dark:bg-gray-500 dark:text-white"
       >
       >
         <td>
         <td>
           <OrderingControl
           <OrderingControl
@@ -199,6 +199,8 @@ export default {
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+@reference "../../style.css";
+
 .no-results-text::after {
 .no-results-text::after {
   @apply bg-gray-600 dark:bg-gray-300;
   @apply bg-gray-600 dark:bg-gray-300;
   content: "";
   content: "";
@@ -232,7 +234,7 @@ export default {
     dark:disabled:bg-gray-800
     dark:disabled:bg-gray-800
     dark:disabled:text-gray-600
     dark:disabled:text-gray-600
     disabled:pointer-events-none
     disabled:pointer-events-none
-    rounded
+    rounded-sm
     transition-all
     transition-all
     duration-200;
     duration-200;
 }
 }

+ 3 - 5
src/style.css

@@ -1,6 +1,4 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
+@import "tailwindcss";
 
 
 @layer components {
 @layer components {
   input {
   input {
@@ -23,7 +21,7 @@
       focus:bg-white
       focus:bg-white
       focus:dark:bg-zinc-800
       focus:dark:bg-zinc-800
       focus:border-blue-600
       focus:border-blue-600
-      focus:outline-none;
+      focus:outline-hidden;
   }
   }
 
 
   select {
   select {
@@ -46,7 +44,7 @@
       focus:bg-white
       focus:bg-white
       focus:dark:bg-zinc-800
       focus:dark:bg-zinc-800
       focus:border-blue-600
       focus:border-blue-600
-      focus:outline-none;
+      focus:outline-hidden;
   }
   }
 
 
   .external-link {
   .external-link {

+ 2 - 1
vite.config.ts

@@ -1,9 +1,10 @@
 import { defineConfig } from "vite";
 import { defineConfig } from "vite";
 import vue from "@vitejs/plugin-vue";
 import vue from "@vitejs/plugin-vue";
+import tailwindcss from "@tailwindcss/vite";
 
 
 // https://vitejs.dev/config/
 // https://vitejs.dev/config/
 export default defineConfig({
 export default defineConfig({
-  plugins: [vue()],
+  plugins: [vue(), tailwindcss()],
   build: {
   build: {
     chunkSizeWarningLimit: 1400,
     chunkSizeWarningLimit: 1400,
     rollupOptions: {
     rollupOptions: {

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.