fix: incident header margin, run prettier

pull/142/head
lyc8503 2025-09-21 15:28:59 +08:00
parent 41257c6ae9
commit 65408d4962
6 changed files with 24 additions and 20 deletions

View File

@ -57,7 +57,7 @@ Please refer to [Wiki](https://github.com/lyc8503/UptimeFlare/wiki)
- [x] Remove old incidents - [x] Remove old incidents
- [x] ~~Known issue~~: `fetch` doesn't support non-standard port (resolved after CF update) - [x] ~~Known issue~~: `fetch` doesn't support non-standard port (resolved after CF update)
- [x] Compatibility date update - [x] Compatibility date update
- [x] Scheduled Maintenance - [x] Scheduled Maintenance
- [ ] Update wiki/README and add docs for dev - [ ] Update wiki/README and add docs for dev
- [ ] Migration to Terraform Cloudflare provider version 5.x - [ ] Migration to Terraform Cloudflare provider version 5.x
- [ ] Cloudflare D1 database - [ ] Cloudflare D1 database

View File

@ -3,7 +3,7 @@ import classes from '@/styles/Header.module.css'
import { pageConfig } from '@/uptime.config' import { pageConfig } from '@/uptime.config'
import { PageConfigLink } from '@/types/config' import { PageConfigLink } from '@/types/config'
export default function Header() { export default function Header({ style }: { style?: React.CSSProperties }) {
const linkToElement = (link: PageConfigLink, i: number) => { const linkToElement = (link: PageConfigLink, i: number) => {
return ( return (
<a <a
@ -21,7 +21,7 @@ export default function Header() {
const links = [{ label: 'Incident History', link: '/incidents' }, ...(pageConfig.links || [])] const links = [{ label: 'Incident History', link: '/incidents' }, ...(pageConfig.links || [])]
return ( return (
<header className={classes.header}> <header className={classes.header} style={style}>
<Container size="md" className={classes.inner}> <Container size="md" className={classes.inner}>
<div> <div>
<a <a
@ -48,7 +48,7 @@ export default function Header() {
</Group> </Group>
<Group gap={5} hiddenFrom="sm"> <Group gap={5} hiddenFrom="sm">
{links?.filter((link) => (link.highlight || link.link.startsWith('/'))).map(linkToElement)} {links?.filter((link) => link.highlight || link.link.startsWith('/')).map(linkToElement)}
</Group> </Group>
</Container> </Container>
</header> </header>

View File

@ -42,7 +42,9 @@ export default function MonitorList({
// Load expanded groups from localStorage // Load expanded groups from localStorage
const savedExpandedGroups = localStorage.getItem('expandedGroups') const savedExpandedGroups = localStorage.getItem('expandedGroups')
const expandedInitial = savedExpandedGroups ? JSON.parse(savedExpandedGroups) : Object.keys(group || {}) const expandedInitial = savedExpandedGroups
? JSON.parse(savedExpandedGroups)
: Object.keys(group || {})
const [expandedGroups, setExpandedGroups] = useState<string[]>(expandedInitial) const [expandedGroups, setExpandedGroups] = useState<string[]>(expandedInitial)
useEffect(() => { useEffect(() => {
localStorage.setItem('expandedGroups', JSON.stringify(expandedGroups)) localStorage.setItem('expandedGroups', JSON.stringify(expandedGroups))

View File

@ -58,15 +58,16 @@ export default function OverallStatus({
}) })
const now = new Date() const now = new Date()
let filteredMaintenances: (Omit<MaintenanceConfig, 'monitors'> & { monitors?: MonitorTarget[] })[] = let filteredMaintenances: (Omit<MaintenanceConfig, 'monitors'> & {
maintenances monitors?: MonitorTarget[]
.filter((m) => now >= new Date(m.start) && (!m.end || now <= new Date(m.end))) })[] = maintenances
.map((maintenance) => ({ .filter((m) => now >= new Date(m.start) && (!m.end || now <= new Date(m.end)))
...maintenance, .map((maintenance) => ({
monitors: maintenance.monitors?.map( ...maintenance,
(monitorId) => monitors.find((mon) => monitorId === mon.id)! monitors: maintenance.monitors?.map(
), (monitorId) => monitors.find((mon) => monitorId === mon.id)!
})) ),
}))
return ( return (
<Container size="md" mt="xl"> <Container size="md" mt="xl">

View File

@ -85,7 +85,11 @@ export default function IncidentsPage() {
</Head> </Head>
<main className={inter.className}> <main className={inter.className}>
<Header /> <Header
style={{
marginBottom: '40px',
}}
/>
<Center> <Center>
<Container size="md" style={{ width: '100%' }}> <Container size="md" style={{ width: '100%' }}>
<Group justify="end" mb="md"> <Group justify="end" mb="md">
@ -103,10 +107,7 @@ export default function IncidentsPage() {
<NoIncidentsAlert /> <NoIncidentsAlert />
) : ( ) : (
monitorFilteredIncidents.map((incident, i) => ( monitorFilteredIncidents.map((incident, i) => (
<MaintenanceAlert <MaintenanceAlert key={i} maintenance={incident} />
key={i}
maintenance={incident}
/>
)) ))
)} )}
</Box> </Box>

View File

@ -38,7 +38,7 @@ const Worker = {
new Date(timeNow * 1000) >= new Date(m.start) && new Date(timeNow * 1000) >= new Date(m.start) &&
(!m.end || new Date(timeNow * 1000) <= new Date(m.end)) (!m.end || new Date(timeNow * 1000) <= new Date(m.end))
) )
.map((e) => (e.monitors || [])) .map((e) => e.monitors || [])
.flat() .flat()
if (maintenanceList.includes(monitor.id)) { if (maintenanceList.includes(monitor.id)) {