diff --git a/apps/mail/app/globals.css b/apps/mail/app/globals.css index 9109f6a099..7a9f735095 100644 --- a/apps/mail/app/globals.css +++ b/apps/mail/app/globals.css @@ -201,10 +201,9 @@ } } -.compose-gradient { - background: linear-gradient(90deg, rgba(255, 213, 208, 1), rgba(219, 255, 228, 1), rgba(226, 214, 255, 1), rgba(255, 213, 208, 1)); - background-size: 400% 400%; - animation: gradient-flow 3s ease infinite; +.compose-loading { + background: #016FFE; + animation: none; } .compose-gradient-animated { diff --git a/apps/mail/components/draft/drafts.tsx b/apps/mail/components/draft/drafts.tsx index e18df13a13..df296e3d23 100644 --- a/apps/mail/components/draft/drafts.tsx +++ b/apps/mail/components/draft/drafts.tsx @@ -55,7 +55,7 @@ export function DraftsLayout() {
diff --git a/apps/mail/components/mail/mail-display.tsx b/apps/mail/components/mail/mail-display.tsx index 4b14b7b580..36fd6c0853 100644 --- a/apps/mail/components/mail/mail-display.tsx +++ b/apps/mail/components/mail/mail-display.tsx @@ -87,10 +87,11 @@ type Props = { isMuted: boolean; isLoading: boolean; index: number; + totalEmails?: number; demo?: boolean; }; -const MailDisplay = ({ emailData, isMuted, index, demo }: Props) => { +const MailDisplay = ({ emailData, isMuted, index, totalEmails, demo }: Props) => { const [isCollapsed, setIsCollapsed] = useState(true); const [unsubscribed, setUnsubscribed] = useState(false); const [isUnsubscribing, setIsUnsubscribing] = useState(false); @@ -113,10 +114,16 @@ const MailDisplay = ({ emailData, isMuted, index, demo }: Props) => { : useSummary(emailData.id); useEffect(() => { - if (index === 0) { + if (totalEmails && index === totalEmails - 1) { setIsCollapsed(false); + if (totalEmails > 5) { + setTimeout(() => { + const element = document.getElementById(`mail-${emailData.id}`); + element?.scrollIntoView({ behavior: 'smooth' }); + }, 100); + } } - }, [index]); + }, [index, emailData.id, totalEmails]); const listUnsubscribeAction = useMemo( () => @@ -144,7 +151,7 @@ const MailDisplay = ({ emailData, isMuted, index, demo }: Props) => { }; return ( -
+
diff --git a/apps/mail/components/mail/mail.tsx b/apps/mail/components/mail/mail.tsx index c5b5294400..4e9e23c507 100644 --- a/apps/mail/components/mail/mail.tsx +++ b/apps/mail/components/mail/mail.tsx @@ -123,7 +123,7 @@ export function DemoMailLayout() {
@@ -304,7 +304,7 @@ export function MailLayout() {
diff --git a/apps/mail/components/mail/search-bar.tsx b/apps/mail/components/mail/search-bar.tsx index 9f2b1f1a13..7fe0edb100 100644 --- a/apps/mail/components/mail/search-bar.tsx +++ b/apps/mail/components/mail/search-bar.tsx @@ -634,7 +634,7 @@ export function SearchBar() { setIsFocused(true)} diff --git a/apps/mail/components/mail/thread-display.tsx b/apps/mail/components/mail/thread-display.tsx index 58977dc349..849c007318 100644 --- a/apps/mail/components/mail/thread-display.tsx +++ b/apps/mail/components/mail/thread-display.tsx @@ -464,7 +464,7 @@ export function ThreadDisplay({ mail, onClose, isMobile, id }: ThreadDisplayProp
- {[...(emailData || [])].reverse().map((message, index) => ( + {(emailData || []).map((message, index) => (
))}