Skip to content

Instantly share code, notes, and snippets.

View emanueleDiVizio's full-sized avatar

Emanuele emanueleDiVizio

View GitHub Profile
const CoolButton = () => {
const [play] = useAudioPlayer('filename.wav');
const onPress = () => play();
return (
<Button
title="Play!"
onPress={onPress}
/>
function useInterval(callback, delay) {
const savedCallback = useRef();
useEffect(() => {
savedCallback.current = callback;
});
useEffect(() => {
function tick() {
savedCallback.current();
function useCurrentTime(delay = 1000){
const [currentTime, setCurrentTime] = useState(moment());
useInterval(() => {
setCurrentTime(moment())
}, delay)
return currentTime;
}
function useCurrentTime(){
const [currentTime, setCurrentTime] = useState(moment());
return currentTime;
}
function useCurrentTime(){
const [currentTime, setCurrentTime] = useState(moment());
useInterval(() => {
setCurrentTime(moment())
}), 1000)
return currentTime;
}
function useCurrentTime(){
const [currentTime, setCurrentTime] = useState(moment());
useInterval(() => {
setCurrentTime(moment())
}, 1000)
return currentTime;
}
const CurrentTime = () => {
const time = useCurrentTime();
return (
<Text>
{time.format("HH : mm : ss")}
</Text>
)
}
const shiftSlice = createSlice({
name: 'shifts',
initialState: [],
reducers: {
startShift: state => [
...state,
{
startTime: moment().valueOf(),
endTime: moment()
.add(DEFAULT_SHIFT_DURATION, 'h')
const shiftSlice = createSlice({
name: 'shifts',
initialState: [],
reducers: {
startShift: state => [
...state,
{
startTime: moment().valueOf(),
endTime: moment()
.add(DEFAULT_SHIFT_DURATION, 'h')
const lastShiftSelector = state => state.shifts.slice(-1)[0]
const ShiftButton = () => {
const dispatch = useDispatch()
const currentTime = useCurrentTime()
const lastShift = useSelector(lastShiftSelector)
const [isOnShift, setIsOnShift] = useState(false)
useEffect(() => {