diff --git a/assets/editor/EditorAssetPicker.vue b/assets/editor/EditorAssetPicker.vue index ba16dc2..de31e46 100644 --- a/assets/editor/EditorAssetPicker.vue +++ b/assets/editor/EditorAssetPicker.vue @@ -8,37 +8,37 @@ aria-labelledby="editor-asset-picker-title" @keydown.esc="$emit('close')" > -
-
+
+
-

+

Choose an existing asset

-

Pick a file to insert it at the cursor position.

+

Pick a file to insert it at the cursor position.

-
+
-
+
Loading assets...
-
+
{{ error }}
- - - - - - - - + + + + + + + + - @@ -75,33 +75,33 @@ - - -
PreviewNameTypeSizeUpdated
PreviewNameTypeSizeUpdated
+ No assets found.
{{ extensionLabel(item.fileName) }}
-

{{ item.fileName }}

-

{{ item.url }}

+

{{ item.fileName }}

+

{{ item.url }}

+ {{ item.mimeType }} + {{ formatBytes(item.size) }} + {{ formatDate(item.modifiedAt) }} @@ -118,9 +118,9 @@
-
+
{{ filteredItems.length }} asset{{ filteredItems.length === 1 ? '' : 's' }} - Choose a row to insert it immediately. + Choose a row to insert it immediately.
diff --git a/assets/styles/app.css b/assets/styles/app.css index 540b446..ffcaa25 100644 --- a/assets/styles/app.css +++ b/assets/styles/app.css @@ -1,6 +1,8 @@ @import "tailwindcss"; @tailwind utilities; +@custom-variant dark (&:where(.dark, .dark *)); + @theme { --color-primary: #2563eb; --color-secondary: #6b7280; @@ -14,3 +16,12 @@ @source "../../templates/**/*.twig"; @source "../**/*.vue"; + +@layer base { + button:not(:disabled), + [type="button"]:not(:disabled), + [type="submit"]:not(:disabled), + [type="reset"]:not(:disabled) { + cursor: pointer; + } +} diff --git a/assets/vue/App.vue b/assets/vue/App.vue index dacfe52..8ce3613 100644 --- a/assets/vue/App.vue +++ b/assets/vue/App.vue @@ -1,5 +1,5 @@ diff --git a/assets/vue/api.js b/assets/vue/api.js index be71e85..3ac00be 100644 --- a/assets/vue/api.js +++ b/assets/vue/api.js @@ -38,7 +38,8 @@ const redirectToLogin = () => { const appElement = document.getElementById('vue-app'); const apiToken = appElement?.dataset.apiToken; -const apiBaseUrl = appElement?.dataset.apiBaseUrl; +const apiElement = document.getElementById('api-config'); +const apiBaseUrl = apiElement?.dataset.apiBaseUrl; if (!apiBaseUrl) { console.error('API Base URL is not configured.'); diff --git a/assets/vue/components/base/BaseBadge.vue b/assets/vue/components/base/BaseBadge.vue index 217fd1b..53f2fec 100644 --- a/assets/vue/components/base/BaseBadge.vue +++ b/assets/vue/components/base/BaseBadge.vue @@ -19,10 +19,10 @@ const badgeClass = computed(() => { const base = 'inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium'; switch (props.variant) { case 'counter': - return `${base} bg-indigo-50 text-ext-wf3 border border-indigo-100`; + return `${base} bg-indigo-50 dark:bg-indigo-500/10 text-ext-wf3 dark:text-indigo-300 border border-indigo-100 dark:border-indigo-500/20`; case 'neutral': default: - return `${base} bg-gray-100 text-gray-800`; + return `${base} bg-gray-100 dark:bg-slate-700 text-gray-800 dark:text-slate-200`; } }) diff --git a/assets/vue/components/base/BaseButton.vue b/assets/vue/components/base/BaseButton.vue index aaeb2e8..10e5056 100644 --- a/assets/vue/components/base/BaseButton.vue +++ b/assets/vue/components/base/BaseButton.vue @@ -23,9 +23,9 @@ const buttonClass = computed(() => { const base = 'inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2'; switch (props.variant) { case 'secondary': - return `${base} text-gray-700 bg-white border-gray-300 hover:bg-gray-50 focus:ring-blue-500`; + return `${base} text-gray-700 dark:text-slate-200 bg-white dark:bg-slate-800 border-gray-300 dark:border-slate-600 hover:bg-gray-50 dark:hover:bg-slate-700 focus:ring-blue-500`; case 'ghost': - return 'inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md text-blue-600 bg-transparent hover:bg-blue-50 focus:outline-none'; + return 'inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md text-blue-600 dark:text-blue-400 bg-transparent hover:bg-blue-50 dark:hover:bg-blue-500/10 focus:outline-none'; case 'primary': default: return `${base} text-white bg-blue-600 hover:bg-blue-700 focus:ring-blue-500`; diff --git a/assets/vue/components/base/BaseCard.vue b/assets/vue/components/base/BaseCard.vue index 5a15a04..f44dc77 100644 --- a/assets/vue/components/base/BaseCard.vue +++ b/assets/vue/components/base/BaseCard.vue @@ -16,8 +16,8 @@ const props = defineProps({ }) const cardVariantMap = { - default: 'rounded-lg shadow-sm border border-gray-100 bg-white', - subtle: 'rounded-lg shadow-sm border-0 bg-gray-50', + default: 'rounded-lg shadow-sm border border-gray-100 dark:border-slate-700 bg-white dark:bg-slate-800', + subtle: 'rounded-lg shadow-sm border-0 bg-gray-50 dark:bg-slate-800', danger: 'rounded-lg shadow-sm border-0 bg-red-600 text-white', success: 'rounded-lg shadow-sm border-0 bg-green-600 text-white', } diff --git a/assets/vue/components/base/BaseIcon.vue b/assets/vue/components/base/BaseIcon.vue index 2955106..573d2f8 100644 --- a/assets/vue/components/base/BaseIcon.vue +++ b/assets/vue/components/base/BaseIcon.vue @@ -94,6 +94,10 @@ const icons = { pause: ``, + sun: ``, + + moon: ``, + start: ``, }; @@ -108,9 +112,9 @@ const wrapperClass = computed(() => { ]; if (props.active) { - classes.push("text-ext-wf3"); + classes.push("text-ext-wf3 dark:text-indigo-400"); } else { - classes.push("text-slate-400 group-hover:text-slate-600"); + classes.push("text-slate-400 group-hover:text-slate-600 dark:group-hover:text-slate-300"); } return classes.join(" "); diff --git a/assets/vue/components/base/BaseProgressBar.vue b/assets/vue/components/base/BaseProgressBar.vue index 91ac7a7..6deb956 100644 --- a/assets/vue/components/base/BaseProgressBar.vue +++ b/assets/vue/components/base/BaseProgressBar.vue @@ -1,6 +1,6 @@ diff --git a/assets/vue/components/bounces/BounceOverview.vue b/assets/vue/components/bounces/BounceOverview.vue index 02cf479..c368bf7 100644 --- a/assets/vue/components/bounces/BounceOverview.vue +++ b/assets/vue/components/bounces/BounceOverview.vue @@ -1,14 +1,14 @@