possibly useful snippets - bgoonz/BGOONZ_BLOG_2.0 GitHub Wiki

Puppeteer:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.emulate(puppeteer.devices['iPhone 6']);
  await page.goto('https://www.nytimes.com/');
  await page.screenshot({ path: 'full.png', fullPage: true });
  await browser.close();
})();


Dark Mode:


import { useState, useEffect } from 'react';

export const useLocalStorage = (key, initialValue) => {
  const [storedValue, setStoredValue] = useState(() => {
    const value = localStorage.getItem(key);
    return value ? JSON.parse(value) : initialValue;
  });

  const setValue = value => {
    setStoredValue(value);
    localStorage.setItem(key, JSON.stringify(value));
  }

  return [storedValue, setValue];
}

export const useDarkMode = () => {
  const [isDark, setIsdark] = useLocalStorage('dark', false);

  const toggleDark = () => {
    document.body.classList.toggle('dark-mode')
    setIsdark(!isDark);
  }

  useEffect(() => {
    isDark
      ? document.body.classList.add('dark-mode')
      : document.body.classList.remove('dark-mode');
  }, [isDark])

  return [isDark, toggleDark];
}