mirror of
https://github.com/seigler/triplebyte-react-spa
synced 2025-07-26 23:26:10 +00:00
Initial commit from Create Next App
This commit is contained in:
commit
5684ef36ec
10 changed files with 7925 additions and 0 deletions
41
components/clock.js
Normal file
41
components/clock.js
Normal file
|
@ -0,0 +1,41 @@
|
|||
import React from 'react'
|
||||
import { useSelector, shallowEqual } from 'react-redux'
|
||||
|
||||
const useClock = () => {
|
||||
return useSelector(
|
||||
state => ({
|
||||
lastUpdate: state.lastUpdate,
|
||||
light: state.light,
|
||||
}),
|
||||
shallowEqual
|
||||
)
|
||||
}
|
||||
|
||||
const formatTime = time => {
|
||||
// cut off except hh:mm:ss
|
||||
return new Date(time).toJSON().slice(11, 19)
|
||||
}
|
||||
|
||||
const Clock = () => {
|
||||
const { lastUpdate, light } = useClock()
|
||||
return (
|
||||
<div className={light ? 'light' : ''}>
|
||||
{formatTime(lastUpdate)}
|
||||
<style jsx>{`
|
||||
div {
|
||||
padding: 15px;
|
||||
display: inline-block;
|
||||
color: #82fa58;
|
||||
font: 50px menlo, monaco, monospace;
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.light {
|
||||
background-color: #999;
|
||||
}
|
||||
`}</style>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default Clock
|
Loading…
Add table
Add a link
Reference in a new issue