Skip to content

Instantly share code, notes, and snippets.

[
{
"schemaVersion": 2,
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"config": {
"mediaType": "application/vnd.docker.container.image.v1+json",
"size": 7700,
"digest": "sha256:7614ae9453d1d87e740a2056257a6de7135c84037c367e1fffa92ae922784631"
},
"layers": [
[
{
"schemaVersion": 2,
"mediaType": "application/vnd.docker.distribution.manifest.v2+json",
"config": {
"mediaType": "application/vnd.docker.container.image.v1+json",
"size": 7700,
"digest": "sha256:7614ae9453d1d87e740a2056257a6de7135c84037c367e1fffa92ae922784631"
},
"layers": [
{"nodes":[{"id":"Italy","type":"nationNode","parent":"","color":"green","nationSize":10},{"id":"Switzerland","type":"nationNode","parent":"","color":"green","nationSize":10},{"id":"Turkey","type":"nationNode","parent":"","color":"green","nationSize":10},{"id":"Wales","type":"nationNode","parent":"","color":"green","nationSize":10},{"id":"Belgium","type":"nationNode","parent":"","color":"green","nationSize":10},{"id":"Denmark","type":"nationNode","parent":"","color":"green","nationSize":10},{"id":"Finland","type":"nationNode","parent":"","color":"green","nationSize":10},{"id":"Russia","type":"nationNode","parent":"","color":"green","nationSize":10},{"id":"Austria","type":"nationNode","parent":"","color":"green","nationSize":10},{"id":"Netherlands","type":"nationNode","parent":"","color":"green","nationSize":10},{"id":"North Macedonia","type":"nationNode","parent":"","color":"green","nationSize":10},{"id":"Ukraine","type":"nationNode","parent":"","color":"green","nationSize":10},{"id":"Croatia","type":"nationNo
{"nodes":[{"name":"Italy","type":"nationNode","parent":"","color":"green","nationSize":10},{"name":"Switzerland","type":"nationNode","parent":"","color":"green","nationSize":10},{"name":"Turkey","type":"nationNode","parent":"","color":"green","nationSize":10},{"name":"Wales","type":"nationNode","parent":"","color":"green","nationSize":10},{"name":"Belgium","type":"nationNode","parent":"","color":"green","nationSize":10},{"name":"Denmark","type":"nationNode","parent":"","color":"green","nationSize":10},{"name":"Finland","type":"nationNode","parent":"","color":"green","nationSize":10},{"name":"Russia","type":"nationNode","parent":"","color":"green","nationSize":10},{"name":"Austria","type":"nationNode","parent":"","color":"green","nationSize":10},{"name":"Netherlands","type":"nationNode","parent":"","color":"green","nationSize":10},{"name":"North Macedonia","type":"nationNode","parent":"","color":"green","nationSize":10},{"name":"Ukraine","type":"nationNode","parent":"","color":"green","nationSize":10},{"name":
@MikeGajdos
MikeGajdos / themeToggleinituseState.js
Created September 21, 2021 08:14
Dark Mode Rises
// components/themeToggle.js
import { useState } from "react";
//...
const ThemeToggle = () => {
const [activeTheme, setActiveTheme] = useState("light");
const inactiveTheme = activeTheme === "light" ? "dark" : "light";
//...
@MikeGajdos
MikeGajdos / indexdynamicimport.js
Created September 20, 2021 18:30
Dark Mode Rises
//pages/index.js
/*!! Do not forget to import dynamic */
import dynamic from "next/dynamic";
import styled from "styled-components";
const ThemeToggle = dynamic(() => import("../components/themeToggle"), {
ssr: false,
});
@MikeGajdos
MikeGajdos / themeTogglerefactor.js
Created September 20, 2021 18:29
Dark Mode Rises
// components/themeToggle.js
//...
const ThemeToggle = () => {
const [activeTheme, setActiveTheme] = useState(document.body.dataset.theme);
const inactiveTheme = activeTheme === "light" ? "dark" : "light";
useEffect(() => {
document.body.dataset.theme = activeTheme;
@MikeGajdos
MikeGajdos / _document.js
Created September 20, 2021 18:28
Dark Mode Rises
//pages/_document.js
import Document, { Html, Head, Main, NextScript } from "next/document";
import { ServerStyleSheet } from "styled-components";
export default class MyDocument extends Document {
static async getInitialProps(ctx) {
const sheet = new ServerStyleSheet();
const originalRenderPage = ctx.renderPage;
try {
// components/themeToggle.js
//...
const ThemeToggle = () => {
//...
useEffect(() => {
const savedTheme = window.localStorage.getItem("theme");
@MikeGajdos
MikeGajdos / toggleThemeaccessibilty.js
Created September 20, 2021 18:26
Dark Mode Rises
//components/toggleTheme.js
//...
const ToggleButton = styled.button`
//...
transition: background 0.25s ease-in-out, box-shadow 0.25s ease-in-out;
&:focus {
outline-offset: 8px;
}