Skip to content

Commit 5788bfd

Browse files
authored
Merge pull request HarshYadav152#65 from KARTIK001-CODER/main
fix: prevent today's notes from showing as yesterday
2 parents 0340712 + 046b94e commit 5788bfd

File tree

1 file changed

+28
-24
lines changed

1 file changed

+28
-24
lines changed

savebook/components/notes/NoteItem.js

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -41,32 +41,36 @@ export default function NoteItem(props) {
4141

4242
// Format date with relative time - with error handling
4343
const formatDate = (dateString) => {
44-
try {
45-
const date = new Date(dateString);
46-
// Check if date is valid
47-
if (isNaN(date.getTime())) {
48-
return 'Unknown date';
49-
}
50-
51-
const now = new Date();
52-
const diffTime = Math.abs(now - date);
53-
const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
54-
55-
if (diffDays === 1) return 'Yesterday';
56-
if (diffDays < 7) return `${diffDays} days ago`;
57-
if (diffDays < 30) return `${Math.ceil(diffDays / 7)} weeks ago`;
58-
59-
return date.toLocaleDateString('en-US', {
60-
month: 'short',
61-
day: 'numeric',
62-
year: date.getFullYear() !== now.getFullYear() ? 'numeric' : undefined
63-
});
64-
} catch (error) {
65-
console.error("Date formatting error:", error);
66-
return 'Unknown date';
67-
}
44+
try {
45+
const date = new Date(dateString);
46+
if (isNaN(date.getTime())) return 'Unknown date';
47+
48+
const now = new Date();
49+
50+
// Compare calendar dates in LOCAL timezone
51+
const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
52+
const noteDay = new Date(date.getFullYear(), date.getMonth(), date.getDate());
53+
54+
const diffTime = today - noteDay;
55+
const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));
56+
57+
if (diffDays === 0) return 'Today';
58+
if (diffDays === 1) return 'Yesterday';
59+
if (diffDays < 7) return `${diffDays} days ago`;
60+
if (diffDays < 30) return `${Math.floor(diffDays / 7)} weeks ago`;
61+
62+
return date.toLocaleDateString('en-US', {
63+
month: 'short',
64+
day: 'numeric',
65+
year: date.getFullYear() !== now.getFullYear() ? 'numeric' : undefined
66+
});
67+
} catch (err) {
68+
console.error("Date formatting error:", err);
69+
return 'Unknown date';
70+
}
6871
};
6972

73+
7074
// Calculate reading time - with error handling
7175
const getReadingTime = (text) => {
7276
try {

0 commit comments

Comments
 (0)