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; +}