/* To be replaced in `head` to control optm data location */; (function() { ace.require(["ace/snippets/lisp"], function(m) { if (typeof module == "object" && typeof exports == "object" && module) { module.exports = m; } }); })();

Posted

in

by

Tags:

LetBoomSpeak
import React, { useState } from 'react' import { MemoryRouter as Router } from 'react-router' import ExtensionsToken from './ExtensionsToken' import GlobalConfigProvider from '../Contexts/GlobalConfigProvider' export default { title: 'token/Verify' } const SucessfulPaidToken = () => { const defaultLoadingState = { loading: true, data: null, error: null } const successLoadingState = { loading: false, data: { valid: true, token: '12345', status: 'paid' }, error: null } const [fakeApiHookState, setFakeApiHookState] = useState(defaultLoadingState) return ( { // After a little while we change to success state: setTimeout(() => { setFakeApiHookState(successLoadingState) }, 500) return fakeApiHookState }} /> ) } export const successfulPaidToken = () => const FailedFreeToken = () => { const defaultLoadingState = { loading: true, data: null, error: null } const freeLoadingState = { loading: false, data: { error: { code: 'no_paid_account' } }, error: true } const [fakeApiHookState, setFakeApiHookState] = useState(defaultLoadingState) return ( { // After a little while we change to success state: setTimeout(() => { setFakeApiHookState(freeLoadingState) }, 500) return fakeApiHookState }} /> ) } export const failedFreeToken = () => const InvalidToken = () => { const defaultLoadingState = { loading: true, data: null, error: null } const failureLoadingState = { loading: false, data: { error: { code: 'invalid_token' } }, error: true } const [fakeApiHookState, setFakeApiHookState] = useState(defaultLoadingState) return ( { // After a little while we change to success state: setTimeout(() => { setFakeApiHookState(failureLoadingState) }, 500) return fakeApiHookState }} /> ) } export const invalidToken = () => @import '../../../../scss/mixins'; .modalInner { width: 1200px; max-width: 90vw; min-height: 200px; height: 80vh; display: flex; flex-direction: column; color: $textColorLight; p { @include copy; > a { color: $textColorLight; text-decoration: underline; } } } .modalHeader { align-items: center; background-color: #26292c; display: flex; flex-direction: row; padding: 0 13px; } $leftRightGutter: 80px; .modalLogo { flex: 0 0 $leftRightGutter; } .headerNav { color: #fff; display: flex; flex-direction: row; font-size: 15px; justify-content: center; margin: auto; text-align: center; width: 50%; } .menuLink { display: flex; align-items: center; text-align: center; justify-content: center; font-size: 13px; text-decoration: none; color: #fff; height: 55px; padding: 0 30px; cursor: pointer; &:hover { color: #222; background: #f0f2f4; } &:active, &:focus { outline: 0; border: 0; box-shadow: none; } } .menuLinkActive, .menuLinkActive:active, .menuLinkActive:focus { background-color: #f0f2f4; box-shadow: inset 0 -1px 0 0 #87e64b; color: #555d66; .subNavWrap & { box-shadow: none; } } .headerActions { display: flex; justify-content: flex-end; flex-direction: row; flex: 0 0 $leftRightGutter; } .closeButton { cursor: pointer; color: #919191; border: 0; background: transparent; margin-left: 12px; padding-right: 6px; display: flex; [dir='rtl'] & { margin-left: 0; margin-right: 12px; } &::before { content: ''; display: inline-block; border-left: 1px solid #a5afb7; color: #fff; margin-right: 10px; height: 20px; opacity: 0.3; [dir='rtl'] & { margin-right: 0; margin-left: 10px; } } } .dismissIcon { @include dismiss; } .magicInner { overflow-y: auto; } https://letboomspeak.com/wp-sitemap-posts-page-1.xml