Skip to content

Instantly share code, notes, and snippets.

View emanuelgsouza's full-sized avatar
🏠
Working from home

Emanuel Gonçalves emanuelgsouza

🏠
Working from home
View GitHub Profile
@emanuelgsouza
emanuelgsouza / server.js
Last active September 27, 2022 20:12
Example to check the signature of the Storyblok webhook
require('dotenv').config()
const express = require('express')
const crypto = require('crypto')
function verifySignature(body, signature) {
const webhookSecret = process.env.STORYBLOK_WEBHOOK_SECRET
let bodyHmac = crypto.createHmac('sha1', webhookSecret)
.update(body)
.digest('hex')
WIN = "win"
LOSS = "loss"
DRAW = "draw"
class Game
attr_accessor :player1
attr_accessor :player2
attr_accessor :result
def initialize(player1, player2, result)
@emanuelgsouza
emanuelgsouza / lazyload-v2.js
Created August 25, 2021 12:10 — forked from sergiolopes/lazyload-v2.js
Lazy load de imagens beeem simples
(function(){
// como vamos usar o throttle varias vezes (no scroll e no resize),
// encapsulei essa funcionalidade numa função
function throttle(fn) {
fn.jarodei = false;
return function(){
if (fn.jarodei) return;
fn.jarodei = true;
@emanuelgsouza
emanuelgsouza / StoryblokEntry.vue
Created February 23, 2021 00:18
Second Way - Get global content from Storyblok API in a Gridsome App
<template>
<Layout :global-content="globalContent">
<component
v-if="story.content.component"
:key="story.content._uid"
:blok="story.content"
:is="story.content.component"
/>
</Layout>
</template>
@emanuelgsouza
emanuelgsouza / StoryblokEntry.vue
Created February 23, 2021 00:14
First Way - Get global content from Storyblok API in a Gridsome App
<template>
<Layout :global-content="globalContent">
<component
v-if="story.content.component"
:key="story.content._uid"
:blok="story.content"
:is="story.content.component"
/>
</Layout>
</template>
@emanuelgsouza
emanuelgsouza / correct-tabs.spec.js
Last active September 25, 2020 21:42
Vue Test Utils Entendimento
/**
Meu erro foi achar que o objeto wrapper era a própria instância de Tabs. A solução foi usar a função mockada para testar se o evento input foi emitido após o click na Tab.
*/
import { mount } from '@vue/test-utils'
import { Tabs, Tab } from '..'
describe('Test Tabs and Tab component', () => {
describe('when default behavior', () => {
const onInput = jest.fn()
/*!
* storyblok-js-client v0.0.0-development
* Universal JavaScript SDK for Storyblok's API
* (c) 2018-2020 Stobylok
*/
var Storyblok = (function (exports, axios) {
'use strict';
axios = axios && Object.prototype.hasOwnProperty.call(axios, 'default') ? axios['default'] : axios;
const [ normalElements, starredElements ] = elements.reduce(
(acc, space) => {
const [ normalElements, starredElements ] = acc
if (_.contains(this.favouriteElements, space.id)) {
starredElements.push(space)
return [ normalElements, starredElements ]
}
normalElements.push(space)
@emanuelgsouza
emanuelgsouza / index.html
Created April 22, 2019 22:22
Test de Geolocation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title> Test Geocalization </title>
</head>
<body>
<button id="button"> Click </button>
class Tarefa3 {
constructor () {
this.fila = []
this.quantidadeMaxima = 50
this.inicio = 0
this.fimN = -1
this.fimG = -1
this.fimP = -1
this.fimFila = 0
}