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) => (
))}