Skip to content

Instantly share code, notes, and snippets.

View jasminabasurita's full-sized avatar

Jasmina Jacquelina jasminabasurita

View GitHub Profile
{
"course": {
"title": "Tabs",
"ids": [ "my-tab-id-1", "my-tab-id-3", "my-tab-id-4", "my-tab-id-6" ]
},
"tabs": [
{
"_id": "my-tab-id-1",
"header": "Pink Dahlia",
"content": "<p>Pink Dahlia symbolizes kindness and grace. Color pink in general symbolizes everything that is good and kind in this world.</p>",
{
"course": {
"title": "Quiz",
"ids": [ 0, 2 ]
},
"blocks": [
{
"type": "KnowledgeCheck",
"data": {
"prompt": "What is this a picture of?",
export function unsubscribePush() {
navigator.serviceWorker.ready.then(registration => {
//Find the registered push subscription in the service worker
registration.pushManager
.getSubscription()
.then(subscription => {
if (!subscription) {
return
//If there isn't a subscription, then there's nothing to do
}
import axios from "axios"
export default function subscribePush() {
navigator.serviceWorker.ready.then(registration => {
if (!registration.pushManager) {
alert("Push Unsupported")
return
}
registration.pushManager
.subscribe({
const vapidPublicKey =
"< Your Public VAPID Key Here >"
const convertedVapidKey = urlBase64ToUint8Array(vapidPublicKey)
function urlBase64ToUint8Array(base64String) {
const padding = "=".repeat((4 - base64String.length % 4) % 4)
const base64 = (base64String + padding).replace(/\-/g, "+").replace(/_/g, "/")
const rawData = window.atob(base64)
const outputArray = new Uint8Array(rawData.length)
self.addEventListener("push", event => {
const data = event.data.json()
const { title } = data
const body = {
body: data.body,
icon: data.icon
}
event.waitUntil(self.registration.showNotification(title, body))
@jasminabasurita
jasminabasurita / webPushBoilerplate.js
Created January 28, 2018 22:52
webPushBoilerplate for Push Tutorial
const router = require("express").Router()
module.exports = router
const webpush = require("web-push")
webpush.setGCMAPIKey(process.env.GOOGLE_API_KEY)
webpush.setVapidDetails(
"mailto:your-email-address@example-domain.com",
process.env.PUBLIC_VAPID_KEY,
process.env.PRIVATE_VAPID_KEY
)
@jasminabasurita
jasminabasurita / register.js
Last active January 29, 2018 02:49
register for Push tutorial
const testData = {
title: "Testing",
body: "It's a success!",
icon: "/path/to/an/icon.png"
}
let subscription
let pushIntervalID
router.post("/register", (req, res, next) => {
@jasminabasurita
jasminabasurita / aSyncLog
Created November 11, 2017 21:36
A-Sync Console Log, for logging at the end of a chai/mocha test spec
const aSyncLog = (...args) => setTimeout(() => args.forEach(arg => console.log(arg)), 5000)