From 20fb6bd844e89bb7fd501175c18cd2ea1d636c54 Mon Sep 17 00:00:00 2001 From: Moein Moradi Date: Tue, 26 Aug 2025 10:24:37 +0330 Subject: [PATCH] Fix definePage issue in GanttChart --- chat-app.scss | 1579 ----------------------- chat.vue | 1555 ---------------------- resources/js/pages/dashboards/gantt.vue | 6 - 3 files changed, 3140 deletions(-) delete mode 100644 chat-app.scss delete mode 100644 chat.vue diff --git a/chat-app.scss b/chat-app.scss deleted file mode 100644 index 1a9d05b..0000000 --- a/chat-app.scss +++ /dev/null @@ -1,1579 +0,0 @@ -/* ========================================== - MAIN LAYOUT & STRUCTURE - ========================================== */ - -.chat-app-layout { - height: 100vh; - display: flex; - flex-direction: column; -} - -.chat-content-container { - display: flex; - flex-direction: column; - height: 100%; - overflow: hidden; - position: relative; -} - -.chat-log-scrollable { - flex-grow: 1; - overflow-y: auto; - min-height: 0; - max-height: 100%; -} - -/* ========================================== - KEYFRAME ANIMATIONS - ========================================== */ - -@keyframes user-message-in { - 0% { - opacity: 0; - transform: translateY(10px) scale(0.8); - } - 100% { - opacity: 1; - transform: translateY(0) scale(1); - } -} - -@keyframes bot-message-in { - 0% { - opacity: 0; - transform: translateY(10px) scale(0.8); - } - 100% { - opacity: 1; - transform: translateY(0) scale(1); - } -} - -@keyframes fade-in { - from { - opacity: 0; - } - to { - opacity: 1; - } -} - -@keyframes center-input-appear { - 0% { - opacity: 0; - transform: translate(-50%, -50%) scale(0.9) translateY(20px); - } - 100% { - opacity: 1; - transform: translate(-50%, -50%) scale(1) translateY(0); - } -} - -@keyframes bottom-input-slide { - 0% { - opacity: 0; - transform: translateY(30px); - } - 100% { - opacity: 1; - transform: translateY(0); - } -} - -@keyframes welcome-float { - 0% { - opacity: 0; - transform: translate(-50%, -50%) translateY(30px) scale(0.95); - filter: blur(2px); - } - 100% { - opacity: 1; - transform: translate(-50%, -50%) translateY(0) scale(1); - filter: blur(0px); - } -} - -@keyframes dropdown-appear { - 0% { - opacity: 0; - transform: translateY(10px) scale(0.95); - } - 100% { - opacity: 1; - transform: translateY(0) scale(1); - } -} - -@keyframes preview-fade { - 0% { - opacity: 0; - transform: translateY(5px); - } - 100% { - opacity: 0.9; - transform: translateY(0); - } -} - -@keyframes chip-slide { - 0% { - opacity: 0; - transform: translateX(-20px) scale(0.9); - } - 100% { - opacity: 1; - transform: translateX(0) scale(1); - } -} - -@keyframes indicator-bounce { - 0% { - opacity: 0; - transform: scale(0.8) translateY(5px); - } - 100% { - opacity: 1; - transform: scale(1) translateY(0); - } -} - -@keyframes pulse-enhanced { - 0%, 100% { - transform: scale(0.6); - opacity: 0.4; - } - 50% { - transform: scale(1.4); - opacity: 1; - } -} - -@keyframes delete-message { - 0% { - opacity: 1; - transform: scale(1) translateX(0) rotateZ(0deg); - } - 50% { - opacity: 0.3; - transform: scale(0.9) translateX(30px) rotateZ(2deg); - } - 100% { - opacity: 0; - transform: scale(0.7) translateX(80px) rotateZ(5deg); - } -} - -@keyframes delete-message-bubble { - 0% { - opacity: 1; - transform: scale(1) translateX(0) rotateZ(0deg); - filter: blur(0px); - } - 50% { - opacity: 0.2; - transform: scale(0.85) translateX(40px) rotateZ(3deg); - filter: blur(1px); - } - 100% { - opacity: 0; - transform: scale(0.6) translateX(100px) rotateZ(8deg); - filter: blur(3px); - } -} - -@keyframes undo-slide-bounce { - 0% { - transform: translateY(-150%) scale(0.9); - opacity: 0; - } - 70% { - transform: translateY(10%) scale(1.02); - } - 100% { - transform: translateY(0) scale(1); - opacity: 1; - } -} - -/* ========================================== - MESSAGE COMPONENTS - ========================================== */ - -/* Message transitions */ -.message-enter-active, -.message-leave-active { - transition: all 0.3s ease; -} - -.message-enter-from { - opacity: 0; - transform: translateY(20px); -} - -.message-leave-to { - opacity: 0; -} - -/* Message bubbles */ -.user-message .message-bubble { - animation: user-message-in 0.3s ease-in-out; - transform-origin: bottom right; -} - -.bot-message .message-bubble { - animation: bot-message-in 0.3s ease-in-out; - transform-origin: bottom left; -} - -.bot-message .message-bubble, -.bot-message .message-bubble * { - color: rgba(var(--v-theme-on-surface), 0.87) !important; -} - -.message-bubble { - max-width: 80%; - word-break: break-word; - transition: all 0.2s ease; -} - -.message-avatar { - opacity: 0; - animation: fade-in 0.3s ease forwards; - animation-delay: 0.15s; -} - -/* Message deletion animations */ -.is-deleting { - animation: delete-message 0.4s cubic-bezier(0.55, 0.085, 0.68, 0.53) forwards; -} - -.message-bubble.is-deleting { - animation: delete-message-bubble 0.4s cubic-bezier(0.55, 0.085, 0.68, 0.53) forwards; -} - -/* Typing indicator */ -.typing-indicator-container { - animation: fade-in 0.3s ease forwards; -} - -.bot-typing-indicator { - display: flex; - align-items: center; - justify-content: center; - height: 20px; - animation: indicator-bounce 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); - - .dot { - display: inline-block; - width: 8px; - height: 8px; - border-radius: 50%; - background-color: #9e9e9e; - box-shadow: none; - margin: 0 2px; - animation: pulse-enhanced 1.8s infinite cubic-bezier(0.68, -0.55, 0.265, 1.55); - - &:nth-child(2) { - animation-delay: 0.3s; - } - - &:nth-child(3) { - animation-delay: 0.6s; - } - } -} - -/* ========================================== - INPUT COMPONENTS - ========================================== */ - -/* Input wrapper positioning */ -.input-wrapper { - transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); -} - -.centered-input { - position: absolute; - top: 60%; - left: 50%; - transform: translate(-50%, -50%); - width: 90%; - max-width: 700px; - z-index: 10; - animation: center-input-appear 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); -} - -.bottom-input { - position: relative; - padding: 0 20px 20px; - width: 100%; - animation: bottom-input-slide 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94); -} - -/* Chat input container */ -.chat-input-container { - border: 1px solid v-bind("`rgba(var(--v-theme-${activeModelColor}), 0.5)`"); - background-color: rgb(var(--v-theme-surface)); - transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); - border-radius: 15px; - width: 100%; - border: 1px solid rgba(var(--v-theme-primary), 0.5); - - &:hover, - &:focus-within { - border-color: v-bind("`rgb(var(--v-theme-${activeModelColor}))`"); - box-shadow: v-bind("`0 0 0 2px rgba(var(--v-theme-${activeModelColor}), 0.25)`"); - transform: translateY(-1px) scale(1.005); - } -} - -.chat-textarea { - font-size: 0.9375rem !important; - padding: 8px 0; - color: rgb(var(--v-theme-on-surface)); - transition: all 0.2s ease; -} - -.input-toolbar { - flex-wrap: nowrap; -} - -/* ========================================== - DROPDOWN COMPONENTS - ========================================== */ - -/* Command dropdown */ -.command-dropdown { - position: absolute; - bottom: 100%; - left: 20px; - background: rgb(var(--v-theme-surface)); - box-shadow: 0 8px 32px rgba(var(--v-theme-on-surface), 0.15); - z-index: 10; - min-width: 200px; - margin-bottom: 8px; - border-radius: 12px; - animation: dropdown-appear 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); -} - -.command-item { - cursor: pointer; - transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); - - &:hover { - background: rgba(var(--v-theme-on-surface), 0.08); - transform: translateX(3px); - } -} - -/* Suggestions dropdown */ -.suggestions-dropdown { - position: absolute; - bottom: 100%; - left: 0; - right: 0; - background: rgb(var(--v-theme-surface)); - box-shadow: 0 8px 32px rgba(var(--v-theme-on-surface), 0.2); - border: 1px solid rgba(var(--v-theme-on-surface), 0.1); - z-index: 15; - margin-bottom: 8px; - max-height: 240px; - overflow-y: auto; - border-radius: 12px; - animation: suggestions-slide-up 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); - - &::-webkit-scrollbar { - width: 6px; - } - - &::-webkit-scrollbar-track { - background: rgba(var(--v-theme-on-surface), 0.05); - border-radius: 3px; - } - - &::-webkit-scrollbar-thumb { - background: rgba(var(--v-theme-on-surface), 0.2); - border-radius: 3px; - transition: background 0.2s ease; - - &:hover { - background: rgba(var(--v-theme-on-surface), 0.3); - } - } -} - -@keyframes suggestions-slide-up { - 0% { - opacity: 0; - transform: translateY(15px) scale(0.95); - filter: blur(2px); - } - 100% { - opacity: 1; - transform: translateY(0) scale(1); - filter: blur(0px); - } -} - -.suggestions-header { - font-weight: 500; - font-size: 0.75rem; - text-transform: uppercase; - letter-spacing: 0.5px; - animation: header-glow 0.5s ease-out 0.2s both; -} - -@keyframes header-glow { - 0% { - opacity: 0; - transform: translateY(5px); - } - 100% { - opacity: 1; - transform: translateY(0); - } -} - -.suggestion-item { - cursor: pointer; - transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); - margin-bottom: 2px; - border: 1px solid transparent; - animation: suggestion-fade-in 0.3s ease-out; - - &:nth-child(1) { animation-delay: 0.1s; } - &:nth-child(2) { animation-delay: 0.15s; } - &:nth-child(3) { animation-delay: 0.2s; } - &:nth-child(4) { animation-delay: 0.25s; } - - &:hover, - &.suggestion-selected { - background: rgba(var(--v-theme-primary), 0.12); - border-color: rgba(var(--v-theme-primary), 0.3); - transform: translateX(5px) scale(1.01); - box-shadow: 0 2px 8px rgba(var(--v-theme-primary), 0.15); - } - - &:last-child { - margin-bottom: 0; - } -} - -@keyframes suggestion-fade-in { - 0% { - opacity: 0; - transform: translateX(-10px) scale(0.98); - } - 100% { - opacity: 1; - transform: translateX(0) scale(1); - } -} - -.suggestion-text { - font-size: 0.875rem; - color: rgb(var(--v-theme-on-surface)); - flex-grow: 1; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -/* ========================================== - FILE UPLOAD COMPONENTS - ========================================== */ - -.border-dashed { - border: 2px dashed rgba(var(--v-theme-on-surface), 0.2); -} - -.upload-area { - cursor: pointer; - transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); - - &:hover { - background-color: rgba(var(--v-theme-on-surface), 0.08); - border-color: rgba(var(--v-theme-on-surface), 0.4); - transform: scale(1.02); - } -} - -.attachment-preview { - font-size: 0.85rem; - opacity: 0.9; - animation: preview-fade 0.3s ease-out; -} - -.attachment-chip-container { - overflow-x: auto; - padding-bottom: 4px; - margin-right: -8px; - margin-left: -8px; - padding-left: 8px; - padding-right: 8px; - -ms-overflow-style: none; - scrollbar-width: none; - - &::-webkit-scrollbar { - display: none; - } -} - -.attachment-chip { - white-space: nowrap; - max-width: 100%; - overflow: hidden; - animation: chip-slide 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); - - .attachment-name { - max-width: 120px; - overflow: hidden; - text-overflow: ellipsis; - display: inline-block; - vertical-align: middle; - } - - .attachment-size { - margin-left: 4px; - } -} - -/* ========================================== - QUICK REPLIES COMPONENTS - ========================================== */ - -.quick-replies-container { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); - grid-gap: 8px; - margin-bottom: 8px; - width: 100%; - margin-top: 1rem !important; - animation: replies-container-appear 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); - transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); -} - -@keyframes replies-container-appear { - 0% { - opacity: 0; - transform: translateY(20px) scale(0.98); - } - 100% { - opacity: 1; - transform: translateY(0) scale(1); - } -} - -.quick-reply-item { - width: 100%; - animation: reply-item-appear 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); - transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); -} - -@keyframes reply-item-appear { - 0% { - opacity: 0; - transform: translateY(15px) scale(0.95); - } - 100% { - opacity: 1; - transform: translateY(0) scale(1); - } -} - -/* Quick reply button styling */ -.quick-reply-transparent { - width: 100%; - background-color: transparent !important; - box-shadow: none !important; - color: rgba(var(--v-theme-on-background), var(--v-high-emphasis-opacity)) !important; - font-size: 0.78rem; - border-radius: 20px !important; - transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); - position: relative; - overflow: hidden; - - &::before { - content: ''; - position: absolute; - top: 0; - left: -100%; - width: 100%; - height: 100%; - background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent); - transition: left 0.5s ease; - } - - &:hover { - background-color: var(--hover-bg-color, rgba(var(--v-theme-primary), 0.1)) !important; - border-color: var(--hover-border-color, rgba(var(--v-theme-primary), 0.8)) !important; - transform: translateY(-5px) scale(1.05) rotateZ(0.5deg); - box-shadow: 0 12px 30px rgba(0, 0, 0, 0.25); - } - - &:hover::before { - left: 100%; - } -} - -/* Quick reply staggered animations */ -.quick-reply-item:nth-child(1) { - transition-delay: 0ms; - animation-delay: 0.05s; -} -.quick-reply-item:nth-child(2) { - transition-delay: 60ms; - animation-delay: 0.1s; -} -.quick-reply-item:nth-child(3) { - transition-delay: 120ms; - animation-delay: 0.15s; -} -.quick-reply-item:nth-child(4) { - transition-delay: 180ms; - animation-delay: 0.2s; -} -.quick-reply-item:nth-child(5) { - transition-delay: 240ms; - animation-delay: 0.25s; -} -.quick-reply-item:nth-child(6) { - transition-delay: 300ms; - animation-delay: 0.3s; -} - -/* Quick replies transitions */ -.quick-replies-enter-active, -.quick-replies-leave-active { - transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); -} - -.quick-replies-enter-from { - opacity: 0; - transform: translateY(30px) scale(0.9); - filter: blur(2px); -} - -.quick-replies-leave-to { - opacity: 0; - transform: translateY(-15px) scale(0.9); - filter: blur(1px); -} - -.quick-replies-enter-to, -.quick-replies-leave-from { - opacity: 1; - transform: translateY(0) scale(1); - filter: blur(0px); -} - -.quick-reply-enter-active { - transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); -} - -.quick-reply-leave-active { - transition: all 0.4s cubic-bezier(0.55, 0.085, 0.68, 0.53); -} - -.quick-reply-enter-from { - opacity: 0; - transform: translateY(20px) scale(0.85) rotateZ(2deg); - filter: blur(1px); -} - -.quick-reply-leave-to { - opacity: 0; - transform: translateY(-8px) scale(0.9) rotateZ(-1deg); - filter: blur(1px); -} - -.quick-reply-enter-to, -.quick-reply-leave-from { - opacity: 1; - transform: translateY(0) scale(1) rotateZ(0deg); - filter: blur(0px); -} - -.quick-replies-fade-enter-active, -.quick-replies-fade-leave-active { - transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); -} - -.quick-replies-fade-enter-from { - opacity: 0; - transform: translateY(25px) scale(0.95); - max-height: 0; - filter: blur(2px); -} - -.quick-replies-fade-leave-to { - opacity: 0; - transform: translateY(-15px) scale(0.95); - max-height: 0; - filter: blur(1px); -} - -.quick-replies-fade-enter-to, -.quick-replies-fade-leave-from { - opacity: 1; - transform: translateY(0) scale(1); - max-height: 100px; - filter: blur(0px); -} - -/* ========================================== - WEB SEARCH BUTTON - ========================================== */ - -/* Web search button animations */ -@keyframes webPulseImproved { - 0%, 100% { - transform: scale(1) rotate(0deg); - opacity: 1; - filter: drop-shadow(0 0 8px rgba(var(--v-theme-primary), 0.5)) brightness(1); - } - 25% { - transform: scale(1.1) rotate(90deg); - opacity: 0.9; - filter: drop-shadow(0 0 12px rgba(var(--v-theme-primary), 0.7)) brightness(1.1); - } - 50% { - transform: scale(1.05) rotate(180deg); - opacity: 0.8; - filter: drop-shadow(0 0 15px rgba(var(--v-theme-primary), 0.8)) brightness(1.2); - } - 75% { - transform: scale(1.08) rotate(270deg); - opacity: 0.9; - filter: drop-shadow(0 0 12px rgba(var(--v-theme-primary), 0.7)) brightness(1.1); - } -} - -@keyframes webActiveHoverImproved { - 0% { - transform: scale(1.1) rotate(-3deg); - filter: drop-shadow(0 0 10px rgba(var(--v-theme-primary), 0.6)) brightness(1.1); - } - 100% { - transform: scale(1.2) rotate(3deg); - filter: drop-shadow(0 0 16px rgba(var(--v-theme-primary), 0.8)) brightness(1.3); - } -} - -@keyframes webGlowImproved { - 0%, 100% { - box-shadow: - 0 0 20px rgba(var(--v-theme-primary), 0.4), - 0 4px 15px rgba(var(--v-theme-primary), 0.2), - inset 0 1px 0 rgba(255, 255, 255, 0.1); - } - 50% { - box-shadow: - 0 0 30px rgba(var(--v-theme-primary), 0.6), - 0 6px 20px rgba(var(--v-theme-primary), 0.3), - inset 0 1px 0 rgba(255, 255, 255, 0.15); - } -} - -/* Web search button styling */ -.web-search-btn { - position: relative; - overflow: hidden; - transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); - border-radius: 12px !important; - backdrop-filter: blur(10px); - min-width: 100px; - - &::before { - content: ''; - position: absolute; - top: 50%; - left: 50%; - width: 0; - height: 0; - background: radial-gradient( - circle, - rgba(var(--v-theme-primary), 0.15) 0%, - rgba(var(--v-theme-primary), 0.05) 50%, - transparent 70% - ); - border-radius: 50%; - transform: translate(-50%, -50%); - transition: all 0.5s cubic-bezier(0.25, 0.8, 0.25, 1); - z-index: 0; - opacity: 0; - } - - &::after { - content: ''; - position: absolute; - top: 0; - left: -100%; - width: 100%; - height: 100%; - background: linear-gradient( - 90deg, - transparent, - rgba(255, 255, 255, 0.1), - transparent - ); - transition: left 0.6s cubic-bezier(0.25, 0.8, 0.25, 1); - z-index: 1; - } - - &:hover::before { - width: 140px; - height: 140px; - opacity: 1; - } - - &:hover::after { - left: 100%; - } - - &:hover { - transform: scale(1.02); - } - - &:active { - transform: scale(0.98); - transition: all 0.1s cubic-bezier(0.25, 0.8, 0.25, 1); - } - - &:focus { - outline: none; - box-shadow: - 0 0 0 3px rgba(var(--v-theme-primary), 0.2), - 0 4px 15px rgba(var(--v-theme-primary), 0.1); - } - - &:disabled { - opacity: 0.5; - transform: none; - pointer-events: none; - } - - &:disabled::before, - &:disabled::after { - display: none; - } -} - -/* Web icon styling */ -.web-icon { - transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); - z-index: 2; - position: relative; - filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1)); -} - -.web-text { - z-index: 2; - position: relative; - font-weight: 500; - letter-spacing: 0.5px; - transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); -} - -.web-icon-active { - animation: webPulseImproved 2.5s ease-in-out infinite; - filter: drop-shadow(0 0 8px rgba(var(--v-theme-primary), 0.5)); -} - -.web-search-btn:hover .web-icon { - transform: scale(1.1) rotate(5deg); - filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.15)) brightness(1.1); -} - -.web-search-btn:hover .web-text { - transform: translateX(2px); - text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); -} - -.web-search-btn:hover .web-icon-active { - animation: webActiveHoverImproved 0.8s ease-in-out infinite alternate; -} - -/* Web search button states */ -.web-search-btn.web-search-active { - background: linear-gradient( - 135deg, - rgba(var(--v-theme-primary), 0.9) 0%, - rgba(var(--v-theme-primary), 0.7) 100% - ) !important; - border: 2px solid rgba(var(--v-theme-primary), 0.3); - box-shadow: - 0 0 20px rgba(var(--v-theme-primary), 0.4), - 0 4px 15px rgba(var(--v-theme-primary), 0.2), - inset 0 1px 0 rgba(255, 255, 255, 0.1); - animation: webGlowImproved 3s ease-in-out infinite; - - .web-text { - color: white !important; - font-weight: 600; - text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); - } - - .web-icon { - color: white !important; - } -} - -.web-search-btn:not(.web-search-active) { - background: rgba(var(--v-theme-surface), 0.8) !important; - border: 1px solid rgba(var(--v-theme-outline), 0.2); - backdrop-filter: blur(8px); - box-shadow: none; - - &:hover { - background: rgba(var(--v-theme-surface), 0.9) !important; - border: 1px solid rgba(var(--v-theme-primary), 0.3); - box-shadow: none; - } -} - -/* ========================================== - FORM COMPONENTS - ========================================== */ - -/* Form animations */ -@keyframes form-appear { - 0% { - opacity: 0; - transform: scale(0.9) translateY(30px); - filter: blur(2px); - } - 70% { - transform: scale(1.02) translateY(-5px); - } - 100% { - opacity: 1; - transform: scale(1) translateY(0); - filter: blur(0px); - } -} - -@keyframes header-slide { - 0% { - opacity: 0; - transform: translateX(-30px); - } - 60% { - transform: translateX(5px); - } - 100% { - opacity: 1; - transform: translateX(0); - } -} - -@keyframes title-fade { - 0% { - opacity: 0; - transform: translateY(15px); - } - 100% { - opacity: 1; - transform: translateY(0); - } -} - -@keyframes step-title-slide { - 0% { - opacity: 0; - transform: translateY(10px) scale(0.95); - } - 100% { - opacity: 1; - transform: translateY(0) scale(1); - } -} - -@keyframes question-fade { - 0% { - opacity: 0; - transform: translateY(15px); - filter: blur(1px); - } - 100% { - opacity: 1; - transform: translateY(0); - filter: blur(0px); - } -} - -@keyframes option-appear { - 0% { - opacity: 0; - transform: translateX(-25px) scale(0.9) rotateY(-10deg); - filter: blur(1px); - } - 60% { - transform: translateX(3px) scale(1.02) rotateY(2deg); - } - 100% { - opacity: 1; - transform: translateX(0) scale(1) rotateY(0deg); - filter: blur(0px); - } -} - -@keyframes confirmation-slide { - 0% { - opacity: 0; - transform: translateY(25px) scale(0.95); - filter: blur(2px); - } - 100% { - opacity: 1; - transform: translateY(0) scale(1); - filter: blur(0px); - } -} - -@keyframes data-highlight { - 0% { - opacity: 0; - background: rgba(var(--v-theme-on-surface), 0.02); - transform: scale(0.95); - border-color: rgba(var(--v-theme-primary), 0.05); - } - 50% { - background: rgba(var(--v-theme-primary), 0.08); - border-color: rgba(var(--v-theme-primary), 0.2); - } - 100% { - opacity: 1; - background: rgba(var(--v-theme-on-surface), 0.05); - transform: scale(1); - border-color: rgba(var(--v-theme-primary), 0.1); - } -} - -@keyframes item-fade { - 0% { - opacity: 0; - transform: translateX(-15px); - } - 100% { - opacity: 1; - transform: translateX(0); - } -} - -@keyframes actions-appear { - 0% { - opacity: 0; - transform: translateY(20px) scale(0.9); - } - 100% { - opacity: 1; - transform: translateY(0) scale(1); - } -} - -@keyframes step-container-appear { - 0% { - opacity: 0; - transform: scale(0.9) translateY(30px); - filter: blur(2px); - } - 100% { - opacity: 1; - transform: scale(1) translateY(0); - filter: blur(0px); - } -} - -@keyframes step-item-appear { - 0% { - opacity: 0; - transform: translateX(-25px) scale(0.9); - filter: blur(1px); - } - 60% { - transform: translateX(3px) scale(1.02); - } - 100% { - opacity: 1; - transform: translateX(0) scale(1); - filter: blur(0px); - } -} - -@keyframes simple-form-appear { - 0% { - opacity: 0; - transform: scale(0.95) translateY(20px); - } - 100% { - opacity: 1; - transform: scale(1) translateY(0); - } -} - -@keyframes gentle-pulse { - 0%, 100% { - box-shadow: 0 2px 8px rgba(var(--v-theme-primary), 0.2); - } - 50% { - box-shadow: 0 4px 15px rgba(var(--v-theme-primary), 0.4); - } -} - -/* Multi-form container */ -.multi-form-container { - max-width: 100%; - animation: form-appear 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275); - opacity: 0; - animation-fill-mode: forwards; - - .multi-form-header { - border-bottom: 1px solid rgba(var(--v-theme-on-surface), 0.1); - padding-bottom: 12px; - animation: header-slide 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.1s; - opacity: 0; - animation-fill-mode: forwards; - } - - .form-title { - font-size: 1.1rem; - color: rgb(var(--v-theme-on-surface)); - animation: title-fade 0.5s ease-out 0.2s; - opacity: 0; - animation-fill-mode: forwards; - } - - .step-title { - font-size: 0.95rem; - color: rgba(var(--v-theme-on-surface), 0.8); - animation: step-title-slide 0.5s ease-out 0.3s; - opacity: 0; - animation-fill-mode: forwards; - } - - .form-question { - font-size: 0.9rem; - line-height: 1.4; - animation: question-fade 0.6s ease-out 0.4s; - opacity: 0; - animation-fill-mode: forwards; - } - - .form-options { - .form-option-btn { - margin-bottom: 8px; - border-radius: 12px; - text-transform: none; - transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); - animation: option-appear 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); - opacity: 0; - animation-fill-mode: forwards; - transform: translateX(-25px) scale(0.9); - position: relative; - overflow: hidden; - - /* Staggered animations for each option */ - &:nth-child(1) { animation-delay: 0.5s; } - &:nth-child(2) { animation-delay: 0.6s; } - &:nth-child(3) { animation-delay: 0.7s; } - &:nth-child(4) { animation-delay: 0.8s; } - &:nth-child(5) { animation-delay: 0.9s; } - &:nth-child(6) { animation-delay: 1.0s; } - - &::before { - content: ''; - position: absolute; - top: 0; - left: -100%; - width: 100%; - height: 100%; - background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); - transition: left 0.5s ease; - z-index: 1; - } - - &:hover { - transform: translateY(-4px) scale(1.05); - box-shadow: 0 8px 25px rgba(var(--v-theme-primary), 0.25); - z-index: 1; - position: relative; - } - - &:hover::before { - left: 100%; - } - - &:active { - transform: translateY(-2px) scale(1.02); - transition: all 0.1s ease; - } - } - } -} - -/* Confirmation container */ -.confirmation-container { - max-width: 100%; - animation: confirmation-slide 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); - opacity: 0; - animation-fill-mode: forwards; - - .form-title { - font-size: 1.1rem; - color: rgb(var(--v-theme-on-surface)); - animation: title-fade 0.5s ease-out 0.1s; - opacity: 0; - animation-fill-mode: forwards; - } - - .confirmation-data { - background: rgba(var(--v-theme-on-surface), 0.05); - border-radius: 12px; - padding: 16px; - animation: data-highlight 0.8s ease-out 0.3s; - opacity: 0; - animation-fill-mode: forwards; - border: 1px solid rgba(var(--v-theme-primary), 0.1); - - .data-item { - font-size: 0.9rem; - line-height: 1.5; - animation: item-fade 0.4s ease-out; - opacity: 0; - animation-fill-mode: forwards; - - &:nth-child(1) { animation-delay: 0.5s; } - &:nth-child(2) { animation-delay: 0.6s; } - &:nth-child(3) { animation-delay: 0.7s; } - &:nth-child(4) { animation-delay: 0.8s; } - - span:first-child { - color: rgba(var(--v-theme-on-surface), 0.8); - font-weight: 500; - } - - span:last-child { - color: rgb(var(--v-theme-on-surface)); - font-weight: 400; - } - } - } - - .confirmation-actions { - animation: actions-appear 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 0.6s; - opacity: 0; - animation-fill-mode: forwards; - - .v-btn { - text-transform: none; - border-radius: 10px; - transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); - position: relative; - overflow: hidden; - - &::before { - content: ''; - position: absolute; - top: 0; - left: -100%; - width: 100%; - height: 100%; - background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); - transition: left 0.5s ease; - z-index: 1; - } - - &:hover { - transform: translateY(-3px) scale(1.03); - box-shadow: 0 8px 25px rgba(var(--v-theme-primary), 0.3); - } - - &:hover::before { - left: 100%; - } - - &:first-child { - animation: gentle-pulse 2s ease-in-out infinite; - } - } - } -} - -/* Step selection container */ -.step-selection-container { - max-width: 100%; - animation: step-container-appear 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); - opacity: 0; - animation-fill-mode: forwards; - - .form-title { - font-size: 1.1rem; - color: rgb(var(--v-theme-on-surface)); - animation: title-fade 0.5s ease-out 0.1s; - opacity: 0; - animation-fill-mode: forwards; - } - - .steps-list { - .v-btn { - text-transform: none; - border-radius: 12px; - padding: 16px 20px; - transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); - animation: step-item-appear 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); - opacity: 0; - animation-fill-mode: forwards; - margin-bottom: 8px; - position: relative; - overflow: hidden; - - &:nth-child(1) { animation-delay: 0.2s; } - &:nth-child(2) { animation-delay: 0.3s; } - &:nth-child(3) { animation-delay: 0.4s; } - &:nth-child(4) { animation-delay: 0.5s; } - - &::before { - content: ''; - position: absolute; - top: 0; - left: -100%; - width: 100%; - height: 100%; - background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); - transition: left 0.5s ease; - z-index: 1; - } - - &:hover { - transform: translateY(-4px) scale(1.02); - box-shadow: 0 8px 30px rgba(var(--v-theme-primary), 0.25); - } - - &:hover::before { - left: 100%; - } - } - } -} - -/* Simple form container */ -.form-container { - animation: simple-form-appear 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); - opacity: 0; - animation-fill-mode: forwards; - - .form-title { - animation: title-fade 0.5s ease-out 0.1s; - opacity: 0; - animation-fill-mode: forwards; - } - - .form-question { - animation: question-fade 0.5s ease-out 0.2s; - opacity: 0; - animation-fill-mode: forwards; - } - - .form-options { - .form-option-btn { - animation: option-appear 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); - opacity: 0; - animation-fill-mode: forwards; - margin-bottom: 8px; - border-radius: 10px; - transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); - position: relative; - overflow: hidden; - - &:nth-child(1) { animation-delay: 0.3s; } - &:nth-child(2) { animation-delay: 0.4s; } - &:nth-child(3) { animation-delay: 0.5s; } - &:nth-child(4) { animation-delay: 0.6s; } - - &::before { - content: ''; - position: absolute; - top: 0; - left: -100%; - width: 100%; - height: 100%; - background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); - transition: left 0.5s ease; - z-index: 1; - } - - &:hover { - transform: translateY(-3px) scale(1.05); - box-shadow: 0 6px 20px rgba(var(--v-theme-primary), 0.2); - } - - &:hover::before { - left: 100%; - } - } - } -} - -/* ========================================== - WELCOME MESSAGE - ========================================== */ - -.welcome-message { - width: 100%; - position: absolute; - top: 30%; - left: 50%; - transform: translate(-50%, -50%); - color: rgb(var(--v-theme-on-surface)); - z-index: 9; - animation: welcome-float 0.8s cubic-bezier(0.34, 1.56, 0.64, 1); -} - -/* ========================================== - UNDO POPUP - ========================================== */ - -.undo-popup { - z-index: 9999 !important; - - .v-snackbar__wrapper { - min-width: 300px !important; - max-width: 400px !important; - animation: undo-slide-bounce 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); - } - - .v-snackbar__content { - padding: 12px 16px !important; - } - - .v-btn:hover { - background-color: rgba(255, 255, 255, 0.15) !important; - transform: scale(1.05); - } -} - -/* ========================================== - RESPONSIVE DESIGN - ========================================== */ - -@media (max-width: 600px) { - /* Main layout adjustments */ - .message-bubble { - max-width: 90%; - } - - .welcome-message { - top: 15%; - - h2 { - font-size: 1.75rem !important; - } - } - - .bottom-input { - padding: 0 10px 10px; - } - - /* Toolbar adjustments */ - .toolbar-buttons { - flex-wrap: wrap; - gap: 4px !important; - } - - .web-search-btn, - .model-select-btn { - min-width: auto; - padding: 0 8px; - } - - .web-search-btn { - min-width: 60px; - padding: 8px 12px; - - &:hover { - transform: scale(1.01); - } - } - - /* Form adjustments */ - .multi-form-container, - .confirmation-container, - .step-selection-container { - .form-options .form-option-btn, - .confirmation-actions .v-btn, - .steps-list .v-btn { - width: 100%; - margin-bottom: 12px; - } - } - - .form-options .form-option-btn { - &:hover { - transform: translateY(-2px) scale(1.02); - } - } - - .confirmation-container { - .confirmation-actions { - flex-direction: column; - - .v-btn { - width: 100%; - } - } - } - - .step-selection-container { - .steps-list { - .v-btn { - width: 100%; - } - } - } - - /* Quick replies adjustments */ - .quick-replies-container { - grid-template-columns: repeat(2, 1fr); - } - - /* Suggestions adjustments */ - .suggestions-dropdown { - max-height: 200px; - } - - .suggestion-text { - font-size: 0.8rem; - } -} - -@media (max-width: 480px) { - .toolbar-buttons { - gap: 0 !important; - } - - .input-toolbar { - flex-wrap: nowrap; - } -} - -/* ========================================== - DARK MODE OPTIMIZATIONS - ========================================== */ - -@media (prefers-color-scheme: dark) { - .web-search-btn:not(.web-search-active) { - background: rgba(var(--v-theme-surface), 0.6) !important; - border: 1px solid rgba(var(--v-theme-outline), 0.3); - } - - .web-search-btn::before { - background: radial-gradient( - circle, - rgba(var(--v-theme-primary), 0.2) 0%, - rgba(var(--v-theme-primary), 0.1) 50%, - transparent 70% - ); - } -} \ No newline at end of file diff --git a/chat.vue b/chat.vue deleted file mode 100644 index ec1ca3f..0000000 --- a/chat.vue +++ /dev/null @@ -1,1555 +0,0 @@ - - - - - \ No newline at end of file diff --git a/resources/js/pages/dashboards/gantt.vue b/resources/js/pages/dashboards/gantt.vue index 0398845..c2930ec 100644 --- a/resources/js/pages/dashboards/gantt.vue +++ b/resources/js/pages/dashboards/gantt.vue @@ -2,12 +2,6 @@ import { gantt } from 'dhtmlx-gantt' import 'dhtmlx-gantt/codebase/dhtmlxgantt.css' -definePage({ - meta: { - hideFooter: true, - }, -}); - export default { name: 'GanttChart', data() {