Skip to content

Instantly share code, notes, and snippets.

@slauzinho
slauzinho / MenuAnchorLinks.vue
Last active January 31, 2024 16:48
MenuAnchorLinks.vue
{% assign current_timestamp = 'now' | date: '%s' %}
{% assign secret_string = customer.id | append: customer.email | append: shop.permanent_domain | append: current_timestamp %}
{% assign hmac = secret_string | hmac_sha256: "xxxxxxxxxxxxxxxxx" %}
<script>
const replaceButtonWithForm = () => {
const elements = document.querySelectorAll('a[href="/products/box"]');
if (elements.length > 0) {
const checkoutForm = `
<form action="https://pensa.pastaevangelists.com/api/v1/checkout" method="post" novalidate id="cart_form">
<input name="timestamp" type="hidden" value="{{ current_timestamp }}">
<script type="application/ld+json" class="richsnippets">
{
"@context": "http://schema.org",
"@type": "BlogPosting",
"url": "https:\/\/rnukzuarwno7ht0r-17255449.shopifypreview.com\/blogs\/blog\/how-to-make-our-delicious-trenette-al-pesto",
"mainEntityOfPage": "https:\/\/rnukzuarwno7ht0r-17255449.shopifypreview.com\/blogs\/blog\/how-to-make-our-delicious-trenette-al-pesto",
"name": "Trenette al Pesto Recipe: How to Make the Pasta From Luca",
"headline": "Trenette al Pesto Recipe: How to Make the Pasta From Luca","image": {"@type": "ImageObject","width": 1024,"height": 1024,"url": "https://cdn.shopify.com/s/files/1/1725/5449/articles/Trenette_pesto_1024x1024.png?v=1660580194"},"keywords": "Recipes",
"wordcount": 301,
"datePublished": "2022-08-15",
export type ToCamelCase<S extends string> =
S extends `${infer Head}_${infer Tail}`
? `${Head}${Capitalize<ToCamelCase<Tail>>}`
: S;
export type ObjectToCamel<T> = T extends readonly unknown[]
? { [K in keyof T]: ObjectToCamel<T[K]> }
: T extends object
? {
[K in keyof T as ToCamelCase<Extract<K, string>>]: ObjectToCamel<T[K]>;
<script setup lang="ts">
import jwtDecode from "jwt-decode";
const token =
"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJkdXJnYSIsImV4cCI6MTY1OTk1NTI4NSwiaWF0IjoxNjU3NTM2MDg1LCJpc3MiOiJkdXJnYSIsImp0aSI6IjI2OTk1NWQyLTQwMzAtNGFkZS05YTgxLTg5MDg0NjQ1NTQwZSIsIm5iZiI6MTY1NzUzNjA4NCwic3ViIjoiMiIsInR5cCI6ImFjY2VzcyJ9.qWI5umsmYubVu1bSvje-nT9gUSi0PphsPnyWiY8_PDTYHHF-ATSNvsD2hZpUad7AgluUE-i1S103-GYiKkf6Ag";
interface JWTPayload {
aud: string;
exp: number;
iat: number;
/* eslint-disable @typescript-eslint/no-explicit-any */
/*
THIS IS A COPY OF https://github.com/yury-dymov/json-api-normalizer/blob/master/src/normalize.js
WE JUST UPDATED THE LODASH DEPENDANCIES TO REDUCE BUNDLE SIZE
*/
import camelCase from 'lodash.camelcase';
import isNull from 'lodash.isnull';
import keys from 'lodash.keys';
import merge from 'lodash.merge';
import React from 'react';
import { createMaterialTopTabNavigator } from 'react-navigation-tabs';
import { Dimensions } from 'react-native';
import {
SafeAreaView,
NavigationNavigator,
AnimatedValue,
} from 'react-navigation';
import Animated, { diffClamp } from 'react-native-reanimated';
import { getActiveRouteState } from 'utils';

Keybase proof

I hereby claim:

  • I am slauzinho on github.
  • I am teerryn (https://keybase.io/teerryn) on keybase.
  • I have a public key ASAYEVpl5Rp53AZnioxMWUa5GGj4xv7qGRlVzqcPDBmiMwo

To claim this, I am signing this object: