diff --git a/nuxt4/app/components/auth/ApplicationsList.vue b/nuxt4/app/components/auth/ApplicationsList.vue
index 07fb1b4..0fe80a0 100644
--- a/nuxt4/app/components/auth/ApplicationsList.vue
+++ b/nuxt4/app/components/auth/ApplicationsList.vue
@@ -13,16 +13,14 @@
-
{{ group }}
-
+
@@ -283,6 +281,50 @@ onUnmounted(() => {
gap: 0.5rem;
}
+.filter-button {
+ padding: 0.5rem 1rem;
+ font-size: 0.875rem;
+ font-weight: 500;
+ border-radius: 0.75rem;
+ background: rgba(255, 255, 255, 0.25);
+ backdrop-filter: blur(10px) saturate(150%);
+ border: 1px solid rgba(0, 0, 0, 0.08);
+ color: var(--color-gray-700);
+ cursor: pointer;
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+ box-shadow:
+ 0 2px 6px 0 rgba(31, 38, 135, 0.08),
+ inset 0 1px 1px 0 rgba(255, 255, 255, 0.3);
+}
+
+.filter-button:hover {
+ transform: translateY(-2px);
+ background: rgba(255, 255, 255, 0.35);
+ box-shadow:
+ 0 4px 12px 0 rgba(31, 38, 135, 0.12),
+ inset 0 1px 1px 0 rgba(255, 255, 255, 0.4);
+}
+
+.filter-button-active {
+ background: rgba(var(--color-primary-500), 0.15);
+ border-color: rgba(var(--color-primary-500), 0.3);
+ color: rgb(var(--color-primary-500));
+ font-weight: 600;
+ box-shadow:
+ 0 2px 8px 0 rgba(var(--color-primary-500), 0.2),
+ inset 0 1px 1px 0 rgba(255, 255, 255, 0.3),
+ inset 0 -1px 2px 0 rgba(var(--color-primary-500), 0.1);
+}
+
+.filter-button-active:hover {
+ background: rgba(var(--color-primary-500), 0.2);
+ border-color: rgba(var(--color-primary-500), 0.4);
+ box-shadow:
+ 0 4px 12px 0 rgba(var(--color-primary-500), 0.3),
+ inset 0 1px 1px 0 rgba(255, 255, 255, 0.4),
+ inset 0 -1px 2px 0 rgba(var(--color-primary-500), 0.15);
+}
+
.empty-state {
display: flex;
flex-direction: column;
@@ -476,4 +518,41 @@ onUnmounted(() => {
.dark .app-description {
color: var(--color-gray-400) !important;
}
+
+.dark .filter-button {
+ background: rgba(255, 255, 255, 0.05) !important;
+ border-color: rgba(255, 255, 255, 0.1) !important;
+ color: var(--color-gray-300) !important;
+ box-shadow:
+ 0 2px 6px 0 rgba(0, 0, 0, 0.3),
+ inset 0 1px 1px 0 rgba(255, 255, 255, 0.05) !important;
+}
+
+.dark .filter-button:hover {
+ background: rgba(255, 255, 255, 0.1) !important;
+ box-shadow:
+ 0 4px 12px 0 rgba(0, 0, 0, 0.4),
+ inset 0 1px 1px 0 rgba(255, 255, 255, 0.08) !important;
+}
+
+.dark .filter-button-active {
+ background: rgba(var(--color-primary-500), 0.25) !important;
+ border-color: rgba(var(--color-primary-500), 0.5) !important;
+ color: rgb(var(--color-primary-400)) !important;
+ box-shadow:
+ 0 2px 8px 0 rgba(var(--color-primary-500), 0.4),
+ 0 0 0 1px rgba(var(--color-primary-500), 0.3),
+ inset 0 1px 1px 0 rgba(255, 255, 255, 0.08),
+ inset 0 -1px 2px 0 rgba(var(--color-primary-500), 0.2) !important;
+}
+
+.dark .filter-button-active:hover {
+ background: rgba(var(--color-primary-500), 0.3) !important;
+ border-color: rgba(var(--color-primary-500), 0.6) !important;
+ box-shadow:
+ 0 4px 12px 0 rgba(var(--color-primary-500), 0.5),
+ 0 0 0 1px rgba(var(--color-primary-500), 0.4),
+ inset 0 1px 1px 0 rgba(255, 255, 255, 0.1),
+ inset 0 -1px 2px 0 rgba(var(--color-primary-500), 0.25) !important;
+}