blob: 50e57645d0f0cff7291dd34d6575477cc006affc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# useSunlight
[![CircleCI](https://circleci.com/gh/nvandoorn/useSunlight.svg?style=shield)](https://circleci.com/gh/nvandoorn/useSunlight)
A React hook for the current level of sunlight on an integer scale from `[0,10]`. Solar altitudes in the range `[0, PI]` are mapped to their height above the horizon on the unit circle (scaled up by 10), and all range below the horizon (`[PI, 2PI]`) are mapped to zero.
## Demo
[https://jolly-nobel-4ebf9d.netlify.com](https://jolly-nobel-4ebf9d.netlify.com)
## Usage
```javascript
// src/demo-component.js
export const DemoComponent = ({ children }) => {
const [sunlight] = useSunlight()
const theme = sunlightToTheme(sunlight)
const style = sunlightToStyle(theme)
return <div style={style}>{children}</div>
}
```
## Bugs
1. According to tests, solar "height" seems to max out at `7`. This means the solar altitude never reaches `PI/2`.
1. Bundle size is too large. This is likely from the `suncalc` dependency.
|