Skip to content

Instantly share code, notes, and snippets.

View itwasmattgregg's full-sized avatar
:octocat:
Artisinally crafting interwebs

Matt Gregg itwasmattgregg

:octocat:
Artisinally crafting interwebs
View GitHub Profile
import { withSessionRoute } from '@utils/session';
export default withSessionRoute(async (req, res) => {
const user = req.session.get('user');
if (user) {
// in a real world application you might read the user id from the session and then do a database request
// to get more information on the user if needed
res.json({
isLoggedIn: true,
import { withSessionRoute } from '@utils/session';
export default withSessionRoute(async (req, res) => {
req.session.destroy();
res.json({ isLoggedIn: false });
});
import { withSessionRoute } from '@utils/session';
export default withSessionRoute(async (req, res) => {
const { password } = await req.body;
try {
if (password === process.env.PASSWORD) {
const user = { isLoggedIn: true };
req.session.user = user;
await req.session.save();
import { withIronSessionApiRoute, withIronSessionSsr } from 'iron-session/next';
const sessionOptions = {
password: process.env.SECRET_COOKIE_PASSWORD,
cookieName: 'next-iron-session/examples/next.js',
// secure: true should be used in production (HTTPS) but can't be used in development (HTTP)
cookieOptions: {
secure: process.env.NODE_ENV === 'production',
},
};
@itwasmattgregg
itwasmattgregg / DOM3D.js
Created March 27, 2024 14:47 — forked from OrionReed/dom3d.js
3D DOM viewer, copy-paste this into your console to visualise the DOM topographically.
// 3D Dom viewer, copy-paste this into your console to visualise the DOM as a stack of solid blocks.
// You can also minify and save it as a bookmarklet (https://www.freecodecamp.org/news/what-are-bookmarklets/)
(() => {
const SHOW_SIDES = false; // color sides of DOM nodes?
const COLOR_SURFACE = true; // color tops of DOM nodes?
const COLOR_RANDOM = false; // randomise color?
const COLOR_HUE = 190; // hue in HSL (https://hslpicker.com)
const MAX_ROTATION = 180; // set to 360 to rotate all the way round
const THICKNESS = 20; // thickness of layers
const DISTANCE = 10000; // ¯\\_(ツ)_/¯