diff --git a/frontend/app.vue b/frontend/app.vue index 2cf361f..7cd4dbe 100644 --- a/frontend/app.vue +++ b/frontend/app.vue @@ -5,11 +5,18 @@ import { VueQueryDevtools } from "@tanstack/vue-query-devtools"; diff --git a/frontend/assets/css/button.comp.css b/frontend/assets/css/button.comp.css index 05a12d5..db43161 100644 --- a/frontend/assets/css/button.comp.css +++ b/frontend/assets/css/button.comp.css @@ -36,10 +36,10 @@ } &:disabled { - @apply bg-slate-50 text-slate-300; + @apply bg-slate-100 text-slate-400; svg[class~=iconify] path { - @apply stroke-slate-300; + @apply stroke-slate-400; } } } @@ -57,10 +57,10 @@ } &:disabled { - @apply bg-slate-100 text-slate-300; + @apply bg-slate-100 text-slate-400; svg[class~=iconify] path { - @apply stroke-slate-300; + @apply stroke-slate-400; } } } @@ -103,10 +103,10 @@ } &:disabled { - @apply text-slate-300; + @apply text-slate-400; svg[class~=iconify] path { - @apply stroke-slate-300; + @apply stroke-slate-400; } } } diff --git a/frontend/assets/css/tailwind.css b/frontend/assets/css/tailwind.css index 4e59175..1ce8cae 100644 --- a/frontend/assets/css/tailwind.css +++ b/frontend/assets/css/tailwind.css @@ -120,16 +120,15 @@ --breakpoint-xs: 480px; /* ANIMATIONS */ -<<<<<<< HEAD --animate-marquee: marquee 3s linear infinite; --animate-slide-down: slideDown 300ms ease-out; --animate-slide-up: slideUp 300ms ease-out; --animate-overlay-show: overlayShow 150ms ease-in; --animate-content-show: contentShow 150ms ease-in; -======= - --animate-marquee: marquee 25s linear infinite; - --animate-marquee-reverse: marquee 25s linear infinite reverse; ->>>>>>> be4fa509843c81855f5ffc118150196c94a7b17b + + --animate-toast-hide: toastHide 100ms ease-in; + --animate-toast-in: toastSlideIn 600ms cubic-bezier(0.16, 1, 0.3, 1); + --animate-toast-out: toastSlideOut 200ms ease-out; @keyframes marquee { to { @@ -174,6 +173,33 @@ transform: translate(-50%, -50%) scale(1); } } + + @keyframes toastHide { + from { opacity: 1 } + to { opacity: 0 } + } + + @keyframes toastSlideIn { + from { + opacity: 0; + transform: translateX(calc(100% + var(--viewport-padding))) + } + to { + opacity: 1; + transform: translateX(0) + } + } + + @keyframes toastSlideOut { + from { + opacity: 1; + transform: translateX(var(--reka-toast-swipe-end-x)) + } + to { + opacity: 0; + transform: translateX(calc(100% + var(--viewport-padding))) + } + } } /* CONTAINER */ diff --git a/frontend/components/ui/Button.vue b/frontend/components/ui/Button.vue index 46ea375..4624e10 100644 --- a/frontend/components/ui/Button.vue +++ b/frontend/components/ui/Button.vue @@ -5,6 +5,7 @@ type Props = { size?: "xl" | "lg" | "md"; startIcon?: string; endIcon?: string; + loading?: boolean; }; // props @@ -35,8 +36,9 @@ const classes = computed(() => { diff --git a/frontend/components/ui/Input.vue b/frontend/components/ui/Input.vue index 6a69c0f..9054835 100644 --- a/frontend/components/ui/Input.vue +++ b/frontend/components/ui/Input.vue @@ -1,51 +1,66 @@