Skip to content

Commit 0bb3110

Browse files
committed
fixed window bug
1 parent 88efcc8 commit 0bb3110

2 files changed

Lines changed: 39 additions & 14 deletions

File tree

backend/src/models/UserPoint.js

Whitespace-only changes.

frontend/src/components/HUDleftPoints.jsx

Lines changed: 39 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ function LogoBlock() {
1919
const [filteredList, setFilteredList] = useState([]);
2020
const [sortOrder, setSortOrder] = useState(null);
2121
const [showSortMenu, setShowSortMenu] = useState(false);
22-
const [unit, setUnit] = useState(window.temperatureUnit || 'C');
22+
// Fix: Initialize with 'C' and update in useEffect
23+
const [unit, setUnit] = useState('C');
2324
const [showFilterModal, setShowFilterModal] = useState(false);
2425
const [tempFilter, setTempFilter] = useState({ min: '', max: '' });
2526

@@ -152,15 +153,27 @@ const resetTempFilter = () => {
152153
setShowSuggestions(false);
153154
};
154155

156+
// Update the useEffect that handles unit changes
155157
useEffect(() => {
156158
const handleUnitChange = () => {
157-
setUnit(window.temperatureUnit || 'C');
159+
// Check if window exists before accessing it
160+
if (typeof window !== 'undefined') {
161+
setUnit(window.temperatureUnit || 'C');
162+
}
158163
};
159-
window.addEventListener('unitchange', handleUnitChange);
160-
// initialize on mount
164+
165+
// Initialize on mount
161166
handleUnitChange();
167+
168+
// Add event listener
169+
if (typeof window !== 'undefined') {
170+
window.addEventListener('unitchange', handleUnitChange);
171+
}
172+
162173
return () => {
163-
window.removeEventListener('unitchange', handleUnitChange);
174+
if (typeof window !== 'undefined') {
175+
window.removeEventListener('unitchange', handleUnitChange);
176+
}
164177
};
165178
}, []);
166179

@@ -435,7 +448,8 @@ const resetTempFilter = () => {
435448
lineHeight: 1.4,
436449
transition: 'color 0.3s ease'
437450
}}>
438-
{item.siteName}
451+
{/* Display "User Point" for user-generated points, otherwise use siteName */}
452+
{item.isUserPoint ? 'User Point' : (item.siteName || 'User Point')}
439453
</h2>
440454
<p style={{
441455
fontSize: '0.75rem',
@@ -445,14 +459,25 @@ const resetTempFilter = () => {
445459
: 'rgba(0,0,0,0.6)'
446460
}}>
447461
{ item.timestamp
448-
? new Date(
449-
// drop the "Z" so this is parsed as local midnight
450-
item.timestamp.replace(' ', 'T')
451-
).toLocaleDateString('en-US', {
452-
day: 'numeric',
453-
month: 'short',
454-
year: 'numeric'
455-
})
462+
? (() => {
463+
// Handle different timestamp formats
464+
let date;
465+
if (item.isUserPoint) {
466+
// For user points, timestamp is from updatedAt (ISO string)
467+
date = new Date(item.timestamp);
468+
} else {
469+
// For official data, timestamp might be in different format
470+
date = new Date(item.timestamp.replace(' ', 'T'));
471+
}
472+
473+
return date.toLocaleDateString('en-US', {
474+
day: 'numeric',
475+
month: 'short',
476+
year: 'numeric',
477+
hour: item.isUserPoint ? '2-digit' : undefined,
478+
minute: item.isUserPoint ? '2-digit' : undefined
479+
});
480+
})()
456481
: '—' }
457482
</p>
458483
</div>

0 commit comments

Comments
 (0)