Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,7 @@
"react": "^16.8.0",
"react-dom": "^16.8.0",
"react-emotion": "^10.0.0",
"react-helmet": "^5.2.0",
"typescript": "^3.1.1"
"react-helmet": "^5.2.0"
},
"keywords": [
"gatsby",
Expand Down
13 changes: 1 addition & 12 deletions src/pages/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,7 @@ import React from 'react';
import Hero from '../components/hero';
import Layout from '../components/layout';

import './konami.js';

let discoMode: NodeJS.Timeout | null = null;
document.addEventListener('konamiCode', (): void => {
if (discoMode) {
return clearInterval(discoMode);
}
discoMode = setInterval(
(): boolean => document.body.classList.toggle('dark-mode'),
300
);
});
import '../util/konami';

export default function HomePage(): JSX.Element {
const title = 'Home Page';
Expand Down
60 changes: 0 additions & 60 deletions src/pages/konami.js

This file was deleted.

45 changes: 45 additions & 0 deletions src/util/konami.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
// SSR Protection
if (typeof window !== `undefined`) {
// eslint-disable-next-line no-bitwise
const contains = (a: string, b: string): boolean => !!~a.indexOf(b);

// Left, Up, Right, Down, A, B
const VALID_KEYS = new Set([37, 38, 39, 40, 65, 66]);
// ⬆ ⬆ ⬇ ⬇ ⬅ ➡ ⬅ ➡ b a
const CODE_SEQUENCE = '38384040373937396665';
// 1.5s cooldown
const MAX_DELAY = 1500;
// Our Custom Event
const KONAMI_EVENT = new Event('konamiCode');

(function initKonami(): void {
let buffer = '';
let lastDate = Date.now();

document.addEventListener('keyup', function triggerKonami({
keyCode,
}): void {
if (!VALID_KEYS.has(keyCode)) {
return;
}
buffer = `${Date.now() - lastDate >= MAX_DELAY ? '' : buffer}${keyCode}`;
lastDate = Date.now();
if (!contains(buffer, CODE_SEQUENCE)) {
return;
}
document.dispatchEvent(KONAMI_EVENT);
buffer = '';
});
})();

let discoMode: NodeJS.Timeout | null = null;
document.addEventListener('konamiCode', (): void => {
if (discoMode) {
return clearInterval(discoMode);
}
discoMode = setInterval(
(): boolean => document.body.classList.toggle('dark-mode'),
300
);
});
}
2 changes: 1 addition & 1 deletion test/components/__snapshots__/authors-list.test.tsx.snap
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ exports[`AuthorsList component renders correctly 1`] = `
css={
Object {
"map": undefined,
"name": "1bgkbt8",
"name": "ekkwel",
"next": undefined,
"styles": "
display: flex;
Expand Down
2 changes: 1 addition & 1 deletion test/components/__snapshots__/edit-link.test.tsx.snap
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ exports[`EditLink component renders correctly 1`] = `
css={
Object {
"map": undefined,
"name": "1dmmrc2",
"name": "1fo9rdi",
"next": undefined,
"styles": "
color: var(--black7) !important;
Expand Down
81 changes: 74 additions & 7 deletions test/components/__snapshots__/header.test.tsx.snap
Original file line number Diff line number Diff line change
Expand Up @@ -43,30 +43,97 @@ exports[`Tests for Header component renders correctly 1`] = `
className="nav__tabs"
>
<a
href="https://nodejs.org/en/download/"
target="_blank"
href="/learn"
>
Download
Learn
</a>
</li>
<li
className="nav__tabs"
>
<a
href="https://nodejs.org/en/docs/"
target="_blank"
href="/docs"
>
Docs
</a>
</li>
<li
className="nav__tabs"
>
<a
href="/community"
>
Community
</a>
</li>
<li
className="nav__tabs"
>
<a
href="/download"
>
API Docs
Download
</a>
</li>
<li
style={
Object {
"flexGrow": 1,
}
}
/>
<li
className="nav__tabs nav__tabs--right"
>
<button
className="dark-mode-toggle"
onClick={[Function]}
type="button"
>
<span
className="sr-only"
>
Toggle Dark Mode
</span>
<i
className="material-icons light-mode-only"
>
nights_stay
</i>
<i
className="material-icons dark-mode-only"
>
wb_sunny
</i>
</button>
</li>
<li
className="nav__tabs"
>
<a
href="https://github.com/nodejs/nodejs.dev"
rel="noreferrer noopener"
target="_blank"
>
GitHub
<span
className="sr-only"
>
GitHub
</span>
<svg
height="2.0rem"
style={
Object {
"fill": "var(--color-text-accent)",
}
}
viewBox="0 0 438.549 438.549"
width="2.0rem"
>
<path
d="M409.132,114.573c-19.608-33.596-46.205-60.194-79.798-79.8C295.736,15.166,259.057,5.365,219.271,5.365 c-39.781,0-76.472,9.804-110.063,29.408c-33.596,19.605-60.192,46.204-79.8,79.8C9.803,148.168,0,184.854,0,224.63 c0,47.78,13.94,90.745,41.827,128.906c27.884,38.164,63.906,64.572,108.063,79.227c5.14,0.954,8.945,0.283,11.419-1.996 c2.475-2.282,3.711-5.14,3.711-8.562c0-0.571-0.049-5.708-0.144-15.417c-0.098-9.709-0.144-18.179-0.144-25.406l-6.567,1.136 c-4.187,0.767-9.469,1.092-15.846,1c-6.374-0.089-12.991-0.757-19.842-1.999c-6.854-1.231-13.229-4.086-19.13-8.559 c-5.898-4.473-10.085-10.328-12.56-17.556l-2.855-6.57c-1.903-4.374-4.899-9.233-8.992-14.559 c-4.093-5.331-8.232-8.945-12.419-10.848l-1.999-1.431c-1.332-0.951-2.568-2.098-3.711-3.429c-1.142-1.331-1.997-2.663-2.568-3.997 c-0.572-1.335-0.098-2.43,1.427-3.289c1.525-0.859,4.281-1.276,8.28-1.276l5.708,0.853c3.807,0.763,8.516,3.042,14.133,6.851 c5.614,3.806,10.229,8.754,13.846,14.842c4.38,7.806,9.657,13.754,15.846,17.847c6.184,4.093,12.419,6.136,18.699,6.136 c6.28,0,11.704-0.476,16.274-1.423c4.565-0.952,8.848-2.383,12.847-4.285c1.713-12.758,6.377-22.559,13.988-29.41 c-10.848-1.14-20.601-2.857-29.264-5.14c-8.658-2.286-17.605-5.996-26.835-11.14c-9.235-5.137-16.896-11.516-22.985-19.126 c-6.09-7.614-11.088-17.61-14.987-29.979c-3.901-12.374-5.852-26.648-5.852-42.826c0-23.035,7.52-42.637,22.557-58.817 c-7.044-17.318-6.379-36.732,1.997-58.24c5.52-1.715,13.706-0.428,24.554,3.853c10.85,4.283,18.794,7.952,23.84,10.994 c5.046,3.041,9.089,5.618,12.135,7.708c17.705-4.947,35.976-7.421,54.818-7.421s37.117,2.474,54.823,7.421l10.849-6.849 c7.419-4.57,16.18-8.758,26.262-12.565c10.088-3.805,17.802-4.853,23.134-3.138c8.562,21.509,9.325,40.922,2.279,58.24 c15.036,16.18,22.559,35.787,22.559,58.817c0,16.178-1.958,30.497-5.853,42.966c-3.9,12.471-8.941,22.457-15.125,29.979 c-6.191,7.521-13.901,13.85-23.131,18.986c-9.232,5.14-18.182,8.85-26.84,11.136c-8.662,2.286-18.415,4.004-29.263,5.146 c9.894,8.562,14.842,22.077,14.842,40.539v60.237c0,3.422,1.19,6.279,3.572,8.562c2.379,2.279,6.136,2.95,11.276,1.995 c44.163-14.653,80.185-41.062,108.068-79.226c27.88-38.161,41.825-81.126,41.825-128.906 C438.536,184.851,428.728,148.168,409.132,114.573z"
/>
</svg>
</a>
</li>
</ul>
Expand Down
10 changes: 5 additions & 5 deletions test/components/__snapshots__/pagination.test.tsx.snap
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ exports[`Pagination component only renders links to pages that has a title 1`] =
css={
Object {
"map": undefined,
"name": "u0j7sy",
"name": "1guobqr",
"next": undefined,
"styles": "
color: var(--black7) !important;
Expand Down Expand Up @@ -71,7 +71,7 @@ exports[`Pagination component renders correctly when there is no next page 1`] =
css={
Object {
"map": undefined,
"name": "u0j7sy",
"name": "1guobqr",
"next": undefined,
"styles": "
color: var(--black7) !important;
Expand Down Expand Up @@ -121,7 +121,7 @@ exports[`Pagination component renders correctly when there is no previous page 1
css={
Object {
"map": undefined,
"name": "u0j7sy",
"name": "1guobqr",
"next": undefined,
"styles": "
color: var(--black7) !important;
Expand Down Expand Up @@ -169,7 +169,7 @@ exports[`Pagination component renders links to the next and previous page 1`] =
css={
Object {
"map": undefined,
"name": "u0j7sy",
"name": "1guobqr",
"next": undefined,
"styles": "
color: var(--black7) !important;
Expand Down Expand Up @@ -197,7 +197,7 @@ exports[`Pagination component renders links to the next and previous page 1`] =
css={
Object {
"map": undefined,
"name": "u0j7sy",
"name": "1guobqr",
"next": undefined,
"styles": "
color: var(--black7) !important;
Expand Down
3 changes: 1 addition & 2 deletions test/pages/__snapshots__/404.test.tsx.snap
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,12 @@ exports[`404 page renders correctly 1`] = `
The page you're trying to access does not exist. Go back to the Homepage or find what you're looking for in the menu.
</p>
<p>
Take me back to the
Take me back to the
<a
href="/"
>
Homepage
</a>
</p>
</article>
</Layout>
Expand Down
3 changes: 0 additions & 3 deletions test/templates/__snapshots__/learn.test.tsx.snap
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@ exports[`Learn Template renders correctly 1`] = `
description="test-description"
title="test-title"
>
<Hero
title="test-title"
/>
<Navigation
currentSlug="test-slug"
sections={
Expand Down
8 changes: 4 additions & 4 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -13881,10 +13881,10 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=

typescript@^3.1.1:
version "3.5.3"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.5.3.tgz#c830f657f93f1ea846819e929092f5fe5983e977"
integrity sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==
typescript@~3.2.1:
version "3.2.4"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.4.tgz#c585cb952912263d915b462726ce244ba510ef3d"
integrity sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==

ua-parser-js@^0.7.18:
version "0.7.20"
Expand Down