Skip to content

Instantly share code, notes, and snippets.

Testcase Shop

We want you to create a very basic ecommerce project in React by creating the homepage of a web shop.

We are interested in the way you:

  • setup database
  • connect to this external resource from Next.js
  • manage state
  • work with asynchronous data
@ludder
ludder / getParentByTagName.js
Created November 9, 2012 11:36
getParentByTagName - Get parent node for given tagname
/**
* Get parent node for given tagname
* @param {Object} node DOM node
* @param {String} tagname HTML tagName
* @return {Object} Parent node
*/
function getParentByTagName(node, tagname) {
var parent;
if (node === null || tagname === '') return;
parent = node.parentNode;
@ludder
ludder / slideDown.js
Created December 6, 2012 17:25
Vanilla JavaScript slideUp and slideDown functions
/*
Element to slide gets the following CSS:
max-height: 0;
opacity: 0;
overflow: hidden;
transition: max-height 0.4s ease 0s;
*/
/**
* Like jQuery's slideDown function - uses CSS3 transitions
@ludder
ludder / _document.tsx
Created February 17, 2021 20:25
Typed example of _document.js in Next.js with styled components as in: https://github.com/vercel/next.js/blob/master/examples/with-styled-components/pages/_document.js
import Document, { DocumentContext, DocumentInitialProps } from "next/document";
import { ReactElement } from "react";
import { ServerStyleSheet } from "styled-components";
interface InitialProps extends DocumentInitialProps {
styles: ReactElement;
}
export default class MyDocument extends Document {
static async getInitialProps(ctx: DocumentContext): Promise<InitialProps> {
@ludder
ludder / fadeInSection.js
Created February 4, 2020 19:42
Fade in React elements when scrolling in view
// https://dev.to/selbekk/how-to-fade-in-content-as-it-scrolls-into-view-10j4
import React from "react";
import styled from "styled-components";
const Section = styled.div`
opacity: 0;
transform: translateY(20vh);
visibility: hidden;
transition: opacity 1200ms ease-out, transform 600ms ease-out,
visibility 1200ms ease-out;
@ludder
ludder / ios-hacks.js
Created December 6, 2012 17:27
iOS hacks
/*! A fix for the iOS orientationchange zoom bug.
Script by @scottjehl, rebound by @wilto.
MIT / GPLv2 License.
Source: https://github.com/scottjehl/iOS-Orientationchange-Fix
Explanation: http://adactio.com/journal/4470/
*/
// No code, check source above
@ludder
ludder / .bashrc
Created November 1, 2016 14:55
Open ios simulator from command line in OSX
# Add to .bashrc
alias ios='open /Applications/Xcode.app/Contents/Developer/Applications/Simulator.app'
@ludder
ludder / grep-search
Last active December 28, 2015 19:49
Simple grep command looking for string in files in (sub)directories
@ludder
ludder / Running Grunt or Codeception on Git pre-commit hook
Last active December 27, 2015 12:29
Running Grunt or Codeception on Git pre-commit hook
echo "Start Git pre commit hook"
#!/bin/sh
# stash unstaged changes, run release task, stage release updates and restore stashed files
NAME=$(git branch | grep '*' | sed 's/* //')
# don't run on rebase
if [ $NAME != '(no branch)' ]
then
/*
Returns true if element has next sibling (of type element)
*/
function hasNextSibling(node) {
var bln = false;
while( (node = node.nextSibling) !== null ) {
if (node.nodeType !== 1) {
continue;
}
bln = true;