mirror of
https://github.com/tormachris/cf-workers-status-page.git
synced 2024-11-23 22:45:43 +01:00
Merge pull request #6 from aexvir/aexvir/header-component
chore: move status header to its own component
This commit is contained in:
commit
24b927dc18
148
.gitignore
vendored
148
.gitignore
vendored
@ -1,29 +1,135 @@
|
|||||||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
|
||||||
|
|
||||||
# dependencies
|
# Created by https://www.toptal.com/developers/gitignore/api/node,react
|
||||||
/node_modules
|
# Edit at https://www.toptal.com/developers/gitignore?templates=node,react
|
||||||
/.pnp
|
|
||||||
.pnp.js
|
|
||||||
|
|
||||||
# testing
|
### Node ###
|
||||||
/coverage
|
# Logs
|
||||||
|
logs
|
||||||
out/*
|
*.log
|
||||||
!out/.gitkeep
|
|
||||||
|
|
||||||
# production
|
|
||||||
/dist/
|
|
||||||
|
|
||||||
# misc
|
|
||||||
.DS_Store
|
|
||||||
*.pem
|
|
||||||
|
|
||||||
# debug
|
|
||||||
npm-debug.log*
|
npm-debug.log*
|
||||||
yarn-debug.log*
|
yarn-debug.log*
|
||||||
yarn-error.log*
|
yarn-error.log*
|
||||||
|
lerna-debug.log*
|
||||||
|
|
||||||
# local env files
|
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||||
|
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||||
|
|
||||||
|
# Runtime data
|
||||||
|
pids
|
||||||
|
*.pid
|
||||||
|
*.seed
|
||||||
|
*.pid.lock
|
||||||
|
|
||||||
|
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||||
|
lib-cov
|
||||||
|
|
||||||
|
# Coverage directory used by tools like istanbul
|
||||||
|
coverage
|
||||||
|
*.lcov
|
||||||
|
|
||||||
|
# nyc test coverage
|
||||||
|
.nyc_output
|
||||||
|
|
||||||
|
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||||
|
.grunt
|
||||||
|
|
||||||
|
# Bower dependency directory (https://bower.io/)
|
||||||
|
bower_components
|
||||||
|
|
||||||
|
# node-waf configuration
|
||||||
|
.lock-wscript
|
||||||
|
|
||||||
|
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||||
|
build/Release
|
||||||
|
|
||||||
|
# Dependency directories
|
||||||
|
node_modules/
|
||||||
|
jspm_packages/
|
||||||
|
|
||||||
|
# TypeScript v1 declaration files
|
||||||
|
typings/
|
||||||
|
|
||||||
|
# TypeScript cache
|
||||||
|
*.tsbuildinfo
|
||||||
|
|
||||||
|
# Optional npm cache directory
|
||||||
|
.npm
|
||||||
|
|
||||||
|
# Optional eslint cache
|
||||||
|
.eslintcache
|
||||||
|
|
||||||
|
# Microbundle cache
|
||||||
|
.rpt2_cache/
|
||||||
|
.rts2_cache_cjs/
|
||||||
|
.rts2_cache_es/
|
||||||
|
.rts2_cache_umd/
|
||||||
|
|
||||||
|
# Optional REPL history
|
||||||
|
.node_repl_history
|
||||||
|
|
||||||
|
# Output of 'npm pack'
|
||||||
|
*.tgz
|
||||||
|
|
||||||
|
# Yarn Integrity file
|
||||||
|
.yarn-integrity
|
||||||
|
|
||||||
|
# dotenv environment variables file
|
||||||
.env
|
.env
|
||||||
|
.env.test
|
||||||
|
.env*.local
|
||||||
|
|
||||||
/worker
|
# parcel-bundler cache (https://parceljs.org/)
|
||||||
|
.cache
|
||||||
|
.parcel-cache
|
||||||
|
|
||||||
|
# Next.js build output
|
||||||
|
.next
|
||||||
|
|
||||||
|
# Nuxt.js build / generate output
|
||||||
|
.nuxt
|
||||||
|
dist
|
||||||
|
|
||||||
|
# Gatsby files
|
||||||
|
.cache/
|
||||||
|
# Comment in the public line in if your project uses Gatsby and not Next.js
|
||||||
|
# https://nextjs.org/blog/next-9-1#public-directory-support
|
||||||
|
# public
|
||||||
|
|
||||||
|
# vuepress build output
|
||||||
|
.vuepress/dist
|
||||||
|
|
||||||
|
# Serverless directories
|
||||||
|
.serverless/
|
||||||
|
|
||||||
|
# FuseBox cache
|
||||||
|
.fusebox/
|
||||||
|
|
||||||
|
# DynamoDB Local files
|
||||||
|
.dynamodb/
|
||||||
|
|
||||||
|
# TernJS port file
|
||||||
|
.tern-port
|
||||||
|
|
||||||
|
# Stores VSCode versions used for testing VSCode extensions
|
||||||
|
.vscode-test
|
||||||
|
|
||||||
|
### react ###
|
||||||
|
.DS_*
|
||||||
|
**/*.backup.*
|
||||||
|
**/*.back.*
|
||||||
|
|
||||||
|
node_modules
|
||||||
|
|
||||||
|
*.sublime*
|
||||||
|
|
||||||
|
psd
|
||||||
|
thumb
|
||||||
|
sketch
|
||||||
|
|
||||||
|
# End of https://www.toptal.com/developers/gitignore/api/node,react
|
||||||
|
|
||||||
|
worker/
|
||||||
|
.envrc
|
||||||
|
.direnv/
|
||||||
|
out/
|
||||||
|
package-lock.json
|
||||||
|
8595
package-lock.json
generated
8595
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -9,6 +9,7 @@ import {
|
|||||||
|
|
||||||
import config from '../config.yaml'
|
import config from '../config.yaml'
|
||||||
import MonitorStatusLabel from '../src/components/monitorStatusLabel'
|
import MonitorStatusLabel from '../src/components/monitorStatusLabel'
|
||||||
|
import MonitorStatusHeader from '../src/components/monitorStatusHeader'
|
||||||
|
|
||||||
export async function getEdgeProps() {
|
export async function getEdgeProps() {
|
||||||
// get KV data
|
// get KV data
|
||||||
@ -68,24 +69,10 @@ export default function Index({
|
|||||||
/>
|
/>
|
||||||
{config.settings.title}
|
{config.settings.title}
|
||||||
</h1>
|
</h1>
|
||||||
<div
|
<MonitorStatusHeader
|
||||||
className={`ui inverted segment ${
|
operational={monitorsOperational}
|
||||||
monitorsOperational ? 'green' : 'yellow'
|
lastUpdate={kvLastUpdate}
|
||||||
}`}
|
/>
|
||||||
>
|
|
||||||
<div className="horizontal flex between">
|
|
||||||
<div className="ui marginless header black-text">
|
|
||||||
{monitorsOperational
|
|
||||||
? config.settings.allmonitorsOperational
|
|
||||||
: config.settings.notAllmonitorsOperational}
|
|
||||||
</div>
|
|
||||||
{kvLastUpdate.metadata && typeof window !== 'undefined' && (
|
|
||||||
<div className="black-text">
|
|
||||||
checked {Math.round((Date.now() - kvLastUpdate.value) / 1000)} sec ago (from {kvLastUpdate.metadata.loc})
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{config.monitors.map((monitor, key) => {
|
{config.monitors.map((monitor, key) => {
|
||||||
return (
|
return (
|
||||||
<div key={key} className="ui segment">
|
<div key={key} className="ui segment">
|
||||||
|
31
src/components/monitorStatusHeader.js
Normal file
31
src/components/monitorStatusHeader.js
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
import config from '../../config.yaml'
|
||||||
|
|
||||||
|
export default function MonitorStatusHeader({ operational, lastUpdate }) {
|
||||||
|
let backgroundColor = 'green'
|
||||||
|
let headerText = config.settings.allmonitorsOperational
|
||||||
|
let textColor = 'black'
|
||||||
|
|
||||||
|
if (!operational) {
|
||||||
|
backgroundColor = 'yellow'
|
||||||
|
headerText = config.settings.notAllmonitorsOperational
|
||||||
|
}
|
||||||
|
|
||||||
|
const lastCheckAgo = Math.round((Date.now() - lastUpdate.value) / 1000)
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className={`ui inverted segment ${backgroundColor}`}>
|
||||||
|
<div className="horizontal flex between">
|
||||||
|
<div className={`ui marginless header ${textColor}-text`}>
|
||||||
|
{headerText}
|
||||||
|
</div>
|
||||||
|
{
|
||||||
|
lastUpdate.metadata && typeof window !== 'undefined' && (
|
||||||
|
<div className={`${textColor}-text`}>
|
||||||
|
checked {lastCheckAgo} sec ago (from {lastUpdate.metadata.loc})
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user