Skip to content

Instantly share code, notes, and snippets.

View sadewole's full-sized avatar
🎯
CREATOR

Samador sadewole

🎯
CREATOR
View GitHub Profile
@sadewole
sadewole / SessionTimeout.js
Last active January 5, 2021 09:00
imports for auto-session-timeout
import React, {
useState,
useEffect,
useCallback,
useRef,
Fragment,
} from 'react';
import moment from 'moment';
const SessionTimeout =()=> {
@sadewole
sadewole / SessionTimeout.js
Created January 4, 2021 15:35
states needed for auto session timeout
const SessionTimeout = () => {
const [events, setEvents] = useState(['click', 'load', 'scroll']);
const [second, setSecond] = useState(0);
@sadewole
sadewole / SessionTimeout.js
Created January 4, 2021 15:57
Defines functions for auto session timeout
let timeStamp;
let warningInactiveInterval = useRef();
let startTimerInterval = useRef();
// start inactive check
let timeChecker = () => {
startTimerInterval.current = setTimeout(() => {
let storedTimeStamp = sessionStorage.getItem('lastTimeStamp');
warningInactive(storedTimeStamp);
}, 60000);
@sadewole
sadewole / SessionTimeout.js
Last active January 4, 2021 18:11
last part for session timer
// reset interval timer
let resetTimer = useCallback(() => {
clearTimeout(startTimerInterval.current);
clearInterval(warningInactiveInterval.current);
if (isAuthenticated) {
timeStamp = moment();
sessionStorage.setItem('lastTimeStamp', timeStamp);
} else {
clearInterval(warningInactiveInterval.current);
@sadewole
sadewole / SessionTimeout.js
Last active January 5, 2021 12:39
initial function
const SessionTimeout = () => {
const [events, setEvents] = useState(['click', 'load', 'scroll']);
const [second, setSecond] = useState(0);
// reset interval timer
let resetTimer = useCallback(() => {
if (isAuthenticated) {
timeStamp = moment();
sessionStorage.setItem('lastTimeStamp', timeStamp);
@sadewole
sadewole / SessionTimeout.js
Last active January 5, 2021 12:53
setTimeout func.
const SessionTimeout = () => {
const [events, setEvents] = useState(['click', 'load', 'scroll']);
const [second, setSecond] = useState(0);
let timeStamp;
let warningInactiveInterval = useRef();
let startTimerInterval = useRef();
// start inactive check
let timeChecker = () => {
@sadewole
sadewole / SessionTimeout.js
Last active January 5, 2021 13:09
Running timeChecker func.
let timeStamp;
let warningInactiveInterval = useRef();
let startTimerInterval = useRef();
// start inactive check
let timeChecker = () => {
startTimerInterval.current = setTimeout(() => {
let storedTimeStamp = sessionStorage.getItem('lastTimeStamp');
warningInactive(storedTimeStamp);
}, 60000);
@sadewole
sadewole / GenerateMap.js
Last active July 6, 2021 23:12
Initial imports for map.js
import React, { useEffect, useRef, useCallback } from 'react';
import mapboxgl from '!mapbox-gl'; // eslint-disable-line import/no-webpack-loader-syntax
import mbxGeocoding from '@mapbox/mapbox-sdk/services/geocoding';
const GenerateMap = () => {
return <React.Fragment />
}
export default GenerateMap;
@sadewole
sadewole / GenerateMap.js
Last active July 6, 2021 23:37
Load map
const map = useRef(null);
const mapContainerRef = useRef(null);
mapboxgl.accessToken = process.env.REACT_APP_MAPBOX_API; // your mapbox api
useEffect(() => {
if (map.current) return; // Checks if there's an already existing map initialised.
map.current = new mapboxgl.Map({
container: mapContainerRef.current,
style: 'mapbox://styles/mapbox/streets-v11',
@sadewole
sadewole / GenerateMap.js
Created July 6, 2021 10:45
return statement
return (
<div>
<div ref={mapContainerRef} className='map-container' />
</div>
);