Skip to content

Instantly share code, notes, and snippets.

View mciastek's full-sized avatar

Mirek Ciastek mciastek

View GitHub Profile
@mciastek
mciastek / Dockerfile-e2e
Last active May 21, 2020 13:34
Set of files for running TestCafe with BrowserStack in Docker
FROM alpine:edge
RUN addgroup -g 1000 node \
&& adduser -u 1000 -G node -s /bin/sh -D node
RUN mkdir -p /app
# Install required dependencies (with Chromium and Firefox)
RUN apk update && \
echo "http://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories && \
<img data-src="path/to/image.png" alt="" />
import throttle from 'lodash/throttle';
const images = [...document.querySelectorAll('img')];
let windowHeight = window.innerHeight;
// We need to store images' sizes in a WeakMap
// to get them later in scroll handler
const imagesSizes = new WeakMap();
const isInViewport = ({ top, height, windowHeight }) => {
const scroll = window.scrollY || window.pageYOffset;
const boundsTop = top + scroll;
const viewport = {
top: scroll,
bottom: scroll + windowHeight,
};
const bounds = {
const images = [...document.querySelectorAll('img')];
const onIntersection = (entries, observer) => {
entries.forEach(async (entry) => {
if (entry.isIntersecting) {
try {
// We use loadImage method from previous example
await loadImage(entry.target.src);
} catch (error) {
console.error(error);
<img src="path/to/image.png" loading="lazy" alt="" width="500" height="350">
const loadImage = (src) => {
const img = new Image();
return new Promise((resolve, reject) => {
img.onload = () => resolve(src);
img.onerror = reject;
img.src = src;
});
};
import { VRInstance } from 'react-vr-web';
import RCTTorusKnot from '../TorusKnot';
function init(bundle, parent, options) {
const vr = new VRInstance(bundle, 'WelcomeToVR', parent, {
// Register RCTTorusKnot as 'TorusKnot' custom view
customViews: [{
name: 'TorusKnot',
import React from 'react';
import PropTypes from 'prop-types';
import createReactClass from 'create-react-class';
import {
AppRegistry,
asset,
Pano,
DirectionalLight,
View,
import * as ReactVR from 'react-vr-web';
import * as OVRUI from 'ovrui';
import * as THREE from 'three';
import merge from 'react-vr-web/js/Utils/merge';
class RCTTorusKnot extends ReactVR.RCTBaseView {
constructor(guiSys) {
super();
this.mesh = null;