This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Teach a user morse code | |
*/ | |
g.clear() | |
let index = 0; | |
const MORSE_MAP = { | |
a: '.-', | |
b: '-...', |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* So you get 240 x 240 so you can technically do different things right? | |
* Colors? | |
*/ | |
g.clear() | |
//g.drawImage(img, 100,100); | |
class Ring { | |
constructor() { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let buzzing = false | |
/** | |
* Hard-coded interval for now is not ideal | |
*/ | |
const minutes = 10 | |
const interval = minutes * (1000 * 60) | |
/** | |
* Can you detect if the Bangle is Buzzing or in Buzz in progress? |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="UTF-8"> | |
</head> | |
<body> | |
<div> | |
<div> | |
<h1>Get system information</h1> | |
<i>Supports: Win, macOS, Linux <span>|</span> Process: Both</i> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Create a new bookmark in your browsers' Bookmark Manager pointing at the following script: | |
javascript:(function(){let a;const b=new CSSStyleSheet;b.insertRule("header, [data-testid=\"sidebarColumn\"] { transition: opacity .5s ease; }"),b.insertRule(".fade-noise header, .fade-noise [data-testid=\"sidebarColumn\"] { opacity: 0.005; }"),document.adoptedStyleSheets=[b];const c=()=>{document.body.classList.add("fade-noise"),a&&clearTimeout(a),a=setTimeout(()=>{document.body.classList.remove("fade-noise")},2500)};window.addEventListener("scroll",c)})(); | |
// NOTE:: You can modify the behavior by updating the values in the injected CSS | |
// 1. transition time for opacity (0.5s default) | |
// 2. opacity of non-focussed items (0.05 default) | |
// 3. time it takes for non-focussed items to return to full opacity (2500ms default) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const PROB = 0.2 | |
const grabIngredient = ingredient => () => { | |
return new Promise((resolve, reject) => { | |
setTimeout(() => { | |
if (Math.random() > PROB) { | |
resolve(ingredient) | |
} else { | |
reject(`Sorry, we've got no ${ingredient}`) | |
} | |
}, Math.random() * 1000) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* shows a position marker that highlights where the cursor is | |
* @param {object} e - the input or click event that has been fired | |
*/ | |
const showPositionMarker = e => { | |
// grab the input element | |
const { currentTarget: input } = e | |
// create a function that will handle clicking off of the input and hide the marker | |
const processClick = evt => { | |
if (e !== evt && evt.target !== e.target) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* returns x, y coordinates for absolute positioning of a span within a given text input | |
* at a given selection point | |
* @param {object} input - the input element to obtain coordinates for | |
* @param {number} selectionPoint - the selection point for the input | |
*/ | |
const getCursorXY = (input, selectionPoint) => { | |
const { | |
offsetLeft: inputX, | |
offsetTop: inputY, |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const HtmlWebpackPlugin = require('html-webpack-plugin'); | |
const ExtractTextPlugin = require('extract-text-webpack-plugin'); | |
const autoprefixer = require('autoprefixer'); | |
const webpack = require('webpack'); | |
const path = require('path'); | |
const IS_DIST = (process.argv.indexOf('--dist') !== -1) ? true : false; | |
const config = { | |
devServer: { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.carousel { | |
height: 300px; | |
width: 400px; | |
overflow: hidden; | |
text-align: center; | |
position: relative; | |
padding: 0; | |
list-style: none; | |
} | |
.carousel__controls, |