half-working local storage version
This commit is contained in:
		
							parent
							
								
									20b3a5af63
								
							
						
					
					
						commit
						c6e6ddfa65
					
				@ -7,8 +7,10 @@ import Texas from '../svgs/texas.svg'
 | 
				
			|||||||
import Github from '../svgs/github-fill.svg'
 | 
					import Github from '../svgs/github-fill.svg'
 | 
				
			||||||
import Twitter from '../svgs/twitter-fill.svg'
 | 
					import Twitter from '../svgs/twitter-fill.svg'
 | 
				
			||||||
import Link from 'next/link'
 | 
					import Link from 'next/link'
 | 
				
			||||||
 | 
					import useDarkMode from 'use-dark-mode'
 | 
				
			||||||
import styled from 'styled-components'
 | 
					import styled from 'styled-components'
 | 
				
			||||||
 | 
					import Sun from '../svgs/sun-fill.svg'
 | 
				
			||||||
 | 
					import Moon from '../svgs/moon-fill.svg'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const ChatPopover = (
 | 
					const ChatPopover = (
 | 
				
			||||||
  <Popover>
 | 
					  <Popover>
 | 
				
			||||||
@ -49,11 +51,21 @@ export default function Footer ({ noLinks }) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  const { data } = useQuery(query, { fetchPolicy: 'cache-first' })
 | 
					  const { data } = useQuery(query, { fetchPolicy: 'cache-first' })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  const darkMode = useDarkMode(false, {
 | 
				
			||||||
 | 
					    // set this so it doesn't try to use classes
 | 
				
			||||||
 | 
					    onChange: () => { }
 | 
				
			||||||
 | 
					  })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  return (
 | 
					  return (
 | 
				
			||||||
    <footer>
 | 
					    <footer>
 | 
				
			||||||
      <Container className='mb-3 mt-4'>
 | 
					      <Container className='mb-3 mt-4'>
 | 
				
			||||||
        {!noLinks &&
 | 
					        {!noLinks &&
 | 
				
			||||||
          <div className='mb-2' style={{ fontWeight: 500, opacity: 0.5 }}>
 | 
					          <div className='mb-2' style={{ fontWeight: 500, opacity: 0.5 }}>
 | 
				
			||||||
 | 
					            <div className='mb-2'>
 | 
				
			||||||
 | 
					              {darkMode.value
 | 
				
			||||||
 | 
					                ? <Sun onClick={() => darkMode.toggle()} className='theme' />
 | 
				
			||||||
 | 
					                : <Moon onClick={() => darkMode.toggle()} className='theme' />}
 | 
				
			||||||
 | 
					            </div>
 | 
				
			||||||
            <Link href='/faq' passHref>
 | 
					            <Link href='/faq' passHref>
 | 
				
			||||||
              <a className='text-reset d-inline-flex'>
 | 
					              <a className='text-reset d-inline-flex'>
 | 
				
			||||||
                faq
 | 
					                faq
 | 
				
			||||||
 | 
				
			|||||||
@ -12,9 +12,6 @@ import { useLightning } from './lightning'
 | 
				
			|||||||
import { useEffect, useState } from 'react'
 | 
					import { useEffect, useState } from 'react'
 | 
				
			||||||
import { randInRange } from '../lib/rand'
 | 
					import { randInRange } from '../lib/rand'
 | 
				
			||||||
import styled from 'styled-components'
 | 
					import styled from 'styled-components'
 | 
				
			||||||
import Sun from '../svgs/sun-fill.svg'
 | 
					 | 
				
			||||||
import Moon from '../svgs/moon-fill.svg'
 | 
					 | 
				
			||||||
import { gql, useMutation } from '@apollo/client'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
const Brand = styled(Navbar.Brand)`
 | 
					const Brand = styled(Navbar.Brand)`
 | 
				
			||||||
  color: ${({ theme }) => theme.brandColor}
 | 
					  color: ${({ theme }) => theme.brandColor}
 | 
				
			||||||
@ -68,12 +65,6 @@ export default function Header () {
 | 
				
			|||||||
  const [session, loading] = useSession()
 | 
					  const [session, loading] = useSession()
 | 
				
			||||||
  const [sort, setSort] = useState('recent')
 | 
					  const [sort, setSort] = useState('recent')
 | 
				
			||||||
  const [within, setWithin] = useState()
 | 
					  const [within, setWithin] = useState()
 | 
				
			||||||
  const [setTheme] = useMutation(
 | 
					 | 
				
			||||||
    gql`
 | 
					 | 
				
			||||||
      mutation setTheme($theme: String!) {
 | 
					 | 
				
			||||||
        setTheme(theme: $theme)
 | 
					 | 
				
			||||||
      }`
 | 
					 | 
				
			||||||
  )
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  useEffect(() => {
 | 
					  useEffect(() => {
 | 
				
			||||||
    setSort(localStorage.getItem('sort') || 'recent')
 | 
					    setSort(localStorage.getItem('sort') || 'recent')
 | 
				
			||||||
@ -145,9 +136,6 @@ export default function Header () {
 | 
				
			|||||||
                <Link href='/settings' passHref>
 | 
					                <Link href='/settings' passHref>
 | 
				
			||||||
                  <NavDropdown.Item>settings</NavDropdown.Item>
 | 
					                  <NavDropdown.Item>settings</NavDropdown.Item>
 | 
				
			||||||
                </Link>
 | 
					                </Link>
 | 
				
			||||||
                {me?.theme === 'light'
 | 
					 | 
				
			||||||
                  ? <Moon onClick={() => setTheme({ variables: { theme: 'dark' } })} className='theme' />
 | 
					 | 
				
			||||||
                  : <Sun onClick={() => setTheme({ variables: { theme: 'light' } })} className='theme' />}
 | 
					 | 
				
			||||||
              </div>
 | 
					              </div>
 | 
				
			||||||
              <NavDropdown.Divider />
 | 
					              <NavDropdown.Divider />
 | 
				
			||||||
              <NavDropdown.Item onClick={signOut}>logout</NavDropdown.Item>
 | 
					              <NavDropdown.Item onClick={signOut}>logout</NavDropdown.Item>
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										102
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										102
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@ -43,6 +43,7 @@
 | 
				
			|||||||
        "secp256k1": "^4.0.2",
 | 
					        "secp256k1": "^4.0.2",
 | 
				
			||||||
        "styled-components": "^5.3.3",
 | 
					        "styled-components": "^5.3.3",
 | 
				
			||||||
        "swr": "^0.5.4",
 | 
					        "swr": "^0.5.4",
 | 
				
			||||||
 | 
					        "use-dark-mode": "^2.3.1",
 | 
				
			||||||
        "webln": "^0.2.2",
 | 
					        "webln": "^0.2.2",
 | 
				
			||||||
        "yup": "^0.32.9"
 | 
					        "yup": "^0.32.9"
 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
@ -1221,6 +1222,14 @@
 | 
				
			|||||||
      "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz",
 | 
				
			||||||
      "integrity": "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw=="
 | 
					      "integrity": "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/@use-it/event-listener": {
 | 
				
			||||||
 | 
					      "version": "0.1.6",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@use-it/event-listener/-/event-listener-0.1.6.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-e6V7vbU8xpuqy4GZkTLExHffOFgxmGHo3kNWnlhzM/zcX2v+idbD/HaJ9sKdQMgTh+L7MIhdRDXGX3SdAViZzA==",
 | 
				
			||||||
 | 
					      "peerDependencies": {
 | 
				
			||||||
 | 
					        "react": "^16.8.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/@wry/context": {
 | 
					    "node_modules/@wry/context": {
 | 
				
			||||||
      "version": "0.6.1",
 | 
					      "version": "0.6.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.6.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.6.1.tgz",
 | 
				
			||||||
@ -11116,6 +11125,18 @@
 | 
				
			|||||||
        "react": "^16.8.0 || ^17.0.0"
 | 
					        "react": "^16.8.0 || ^17.0.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/use-dark-mode": {
 | 
				
			||||||
 | 
					      "version": "2.3.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/use-dark-mode/-/use-dark-mode-2.3.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-hmcdJR96tTustRQdaQwe6jMrZHnmPqXBxgy4jaQ4gsfhwajsCpjECuq9prgDe9XxMx/f9r96o2/md6O4Lwhwjg==",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "@use-it/event-listener": "^0.1.2",
 | 
				
			||||||
 | 
					        "use-persisted-state": "^0.3.0"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "peerDependencies": {
 | 
				
			||||||
 | 
					        "react": "^16.8.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/use-isomorphic-layout-effect": {
 | 
					    "node_modules/use-isomorphic-layout-effect": {
 | 
				
			||||||
      "version": "1.1.1",
 | 
					      "version": "1.1.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz",
 | 
				
			||||||
@ -11145,6 +11166,17 @@
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "node_modules/use-persisted-state": {
 | 
				
			||||||
 | 
					      "version": "0.3.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/use-persisted-state/-/use-persisted-state-0.3.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-pCNlvYC8+XjRxwnIut4teGC9f2p9aD88R8OGseQGZa2dvqG/h1vEGk1vRE1IZG0Vf161UDpn+NlW4+UGubQflQ==",
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "@use-it/event-listener": "^0.1.2"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "peerDependencies": {
 | 
				
			||||||
 | 
					        "react": "^16.8.0 || ^17.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "node_modules/use-subscription": {
 | 
					    "node_modules/use-subscription": {
 | 
				
			||||||
      "version": "1.5.1",
 | 
					      "version": "1.5.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.5.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.5.1.tgz",
 | 
				
			||||||
@ -11990,8 +12022,7 @@
 | 
				
			|||||||
    "@graphql-typed-document-node/core": {
 | 
					    "@graphql-typed-document-node/core": {
 | 
				
			||||||
      "version": "3.1.0",
 | 
					      "version": "3.1.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-wYn6r8zVZyQJ6rQaALBEln5B1pzxb9shV5Ef97kTvn6yVGrqyXVnDqnU24MXnFubR+rZjBY9NWuxX3FB2sTsjg==",
 | 
					      "integrity": "sha512-wYn6r8zVZyQJ6rQaALBEln5B1pzxb9shV5Ef97kTvn6yVGrqyXVnDqnU24MXnFubR+rZjBY9NWuxX3FB2sTsjg=="
 | 
				
			||||||
      "requires": {}
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "@grpc/grpc-js": {
 | 
					    "@grpc/grpc-js": {
 | 
				
			||||||
      "version": "1.3.7",
 | 
					      "version": "1.3.7",
 | 
				
			||||||
@ -12214,8 +12245,7 @@
 | 
				
			|||||||
    "@next/react-refresh-utils": {
 | 
					    "@next/react-refresh-utils": {
 | 
				
			||||||
      "version": "11.1.2",
 | 
					      "version": "11.1.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@next/react-refresh-utils/-/react-refresh-utils-11.1.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@next/react-refresh-utils/-/react-refresh-utils-11.1.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-hsoJmPfhVqjZ8w4IFzoo8SyECVnN+8WMnImTbTKrRUHOVJcYMmKLL7xf7T0ft00tWwAl/3f3Q3poWIN2Ueql/Q==",
 | 
					      "integrity": "sha512-hsoJmPfhVqjZ8w4IFzoo8SyECVnN+8WMnImTbTKrRUHOVJcYMmKLL7xf7T0ft00tWwAl/3f3Q3poWIN2Ueql/Q=="
 | 
				
			||||||
      "requires": {}
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "@next/swc-darwin-arm64": {
 | 
					    "@next/swc-darwin-arm64": {
 | 
				
			||||||
      "version": "11.1.2",
 | 
					      "version": "11.1.2",
 | 
				
			||||||
@ -12334,8 +12364,7 @@
 | 
				
			|||||||
    "@restart/context": {
 | 
					    "@restart/context": {
 | 
				
			||||||
      "version": "2.1.4",
 | 
					      "version": "2.1.4",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@restart/context/-/context-2.1.4.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@restart/context/-/context-2.1.4.tgz",
 | 
				
			||||||
      "integrity": "sha512-INJYZQJP7g+IoDUh/475NlGiTeMfwTXUEr3tmRneckHIxNolGOW9CTq83S8cxq0CgJwwcMzMJFchxvlwe7Rk8Q==",
 | 
					      "integrity": "sha512-INJYZQJP7g+IoDUh/475NlGiTeMfwTXUEr3tmRneckHIxNolGOW9CTq83S8cxq0CgJwwcMzMJFchxvlwe7Rk8Q=="
 | 
				
			||||||
      "requires": {}
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "@restart/hooks": {
 | 
					    "@restart/hooks": {
 | 
				
			||||||
      "version": "0.3.27",
 | 
					      "version": "0.3.27",
 | 
				
			||||||
@ -12639,6 +12668,11 @@
 | 
				
			|||||||
      "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz",
 | 
				
			||||||
      "integrity": "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw=="
 | 
					      "integrity": "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw=="
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "@use-it/event-listener": {
 | 
				
			||||||
 | 
					      "version": "0.1.6",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@use-it/event-listener/-/event-listener-0.1.6.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-e6V7vbU8xpuqy4GZkTLExHffOFgxmGHo3kNWnlhzM/zcX2v+idbD/HaJ9sKdQMgTh+L7MIhdRDXGX3SdAViZzA=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "@wry/context": {
 | 
					    "@wry/context": {
 | 
				
			||||||
      "version": "0.6.1",
 | 
					      "version": "0.6.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.6.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.6.1.tgz",
 | 
				
			||||||
@ -12691,8 +12725,7 @@
 | 
				
			|||||||
      "version": "5.3.2",
 | 
					      "version": "5.3.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
 | 
					      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
 | 
				
			||||||
      "dev": true,
 | 
					      "dev": true
 | 
				
			||||||
      "requires": {}
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "agent-base": {
 | 
					    "agent-base": {
 | 
				
			||||||
      "version": "5.1.1",
 | 
					      "version": "5.1.1",
 | 
				
			||||||
@ -12881,8 +12914,7 @@
 | 
				
			|||||||
    "apollo-server-errors": {
 | 
					    "apollo-server-errors": {
 | 
				
			||||||
      "version": "2.5.0",
 | 
					      "version": "2.5.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.5.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/apollo-server-errors/-/apollo-server-errors-2.5.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-lO5oTjgiC3vlVg2RKr3RiXIIQ5pGXBFxYGGUkKDhTud3jMIhs+gel8L8zsEjKaKxkjHhCQAA/bcEfYiKkGQIvA==",
 | 
					      "integrity": "sha512-lO5oTjgiC3vlVg2RKr3RiXIIQ5pGXBFxYGGUkKDhTud3jMIhs+gel8L8zsEjKaKxkjHhCQAA/bcEfYiKkGQIvA=="
 | 
				
			||||||
      "requires": {}
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "apollo-server-micro": {
 | 
					    "apollo-server-micro": {
 | 
				
			||||||
      "version": "2.25.2",
 | 
					      "version": "2.25.2",
 | 
				
			||||||
@ -13386,8 +13418,7 @@
 | 
				
			|||||||
    "bootstrap": {
 | 
					    "bootstrap": {
 | 
				
			||||||
      "version": "4.6.0",
 | 
					      "version": "4.6.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==",
 | 
					      "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw=="
 | 
				
			||||||
      "requires": {}
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "brace-expansion": {
 | 
					    "brace-expansion": {
 | 
				
			||||||
      "version": "1.1.11",
 | 
					      "version": "1.1.11",
 | 
				
			||||||
@ -16967,14 +16998,12 @@
 | 
				
			|||||||
    "next-plausible": {
 | 
					    "next-plausible": {
 | 
				
			||||||
      "version": "2.1.3",
 | 
					      "version": "2.1.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/next-plausible/-/next-plausible-2.1.3.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/next-plausible/-/next-plausible-2.1.3.tgz",
 | 
				
			||||||
      "integrity": "sha512-EyKvwYs+5zSPbjdsX8sWZs23LfwhsaDUMjdUitj07GADAuKwCM3w29LBmjhf0cp6QqZi79y3o76+fXVYutsyuw==",
 | 
					      "integrity": "sha512-EyKvwYs+5zSPbjdsX8sWZs23LfwhsaDUMjdUitj07GADAuKwCM3w29LBmjhf0cp6QqZi79y3o76+fXVYutsyuw=="
 | 
				
			||||||
      "requires": {}
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "next-seo": {
 | 
					    "next-seo": {
 | 
				
			||||||
      "version": "4.28.1",
 | 
					      "version": "4.28.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/next-seo/-/next-seo-4.28.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/next-seo/-/next-seo-4.28.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-WZgwdM+UhpNF3A37zFllzmPhnOVJ9vYeYlc0n3Z/kYfz/QQgy8NEdncNNggS9dU4JD8xriaCcyknhy5OsrFsJw==",
 | 
					      "integrity": "sha512-WZgwdM+UhpNF3A37zFllzmPhnOVJ9vYeYlc0n3Z/kYfz/QQgy8NEdncNNggS9dU4JD8xriaCcyknhy5OsrFsJw=="
 | 
				
			||||||
      "requires": {}
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "node-addon-api": {
 | 
					    "node-addon-api": {
 | 
				
			||||||
      "version": "2.0.2",
 | 
					      "version": "2.0.2",
 | 
				
			||||||
@ -17946,8 +17975,7 @@
 | 
				
			|||||||
        "ws": {
 | 
					        "ws": {
 | 
				
			||||||
          "version": "7.5.5",
 | 
					          "version": "7.5.5",
 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz",
 | 
					          "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz",
 | 
				
			||||||
          "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==",
 | 
					          "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w=="
 | 
				
			||||||
          "requires": {}
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@ -18130,8 +18158,7 @@
 | 
				
			|||||||
    "react-longpressable": {
 | 
					    "react-longpressable": {
 | 
				
			||||||
      "version": "1.1.1",
 | 
					      "version": "1.1.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/react-longpressable/-/react-longpressable-1.1.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/react-longpressable/-/react-longpressable-1.1.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-Q8S7CzZVNmP123tHrMp0U0+/fgDEZCi5CpOGkabz3a2zQ0aek5IAizetxtxBAt1hQHHaAYynPHhtcSkLIkqEzQ==",
 | 
					      "integrity": "sha512-Q8S7CzZVNmP123tHrMp0U0+/fgDEZCi5CpOGkabz3a2zQ0aek5IAizetxtxBAt1hQHHaAYynPHhtcSkLIkqEzQ=="
 | 
				
			||||||
      "requires": {}
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "react-markdown": {
 | 
					    "react-markdown": {
 | 
				
			||||||
      "version": "6.0.3",
 | 
					      "version": "6.0.3",
 | 
				
			||||||
@ -18864,15 +18891,13 @@
 | 
				
			|||||||
          "version": "16.0.2",
 | 
					          "version": "16.0.2",
 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz",
 | 
					          "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz",
 | 
				
			||||||
          "integrity": "sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw==",
 | 
					          "integrity": "sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw==",
 | 
				
			||||||
          "dev": true,
 | 
					          "dev": true
 | 
				
			||||||
          "requires": {}
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "eslint-config-standard-jsx": {
 | 
					        "eslint-config-standard-jsx": {
 | 
				
			||||||
          "version": "10.0.0",
 | 
					          "version": "10.0.0",
 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-10.0.0.tgz",
 | 
					          "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-10.0.0.tgz",
 | 
				
			||||||
          "integrity": "sha512-hLeA2f5e06W1xyr/93/QJulN/rLbUVUmqTlexv9PRKHFwEC9ffJcH2LvJhMoEqYQBEYafedgGZXH2W8NUpt5lA==",
 | 
					          "integrity": "sha512-hLeA2f5e06W1xyr/93/QJulN/rLbUVUmqTlexv9PRKHFwEC9ffJcH2LvJhMoEqYQBEYafedgGZXH2W8NUpt5lA==",
 | 
				
			||||||
          "dev": true,
 | 
					          "dev": true
 | 
				
			||||||
          "requires": {}
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "eslint-plugin-import": {
 | 
					        "eslint-plugin-import": {
 | 
				
			||||||
          "version": "2.22.1",
 | 
					          "version": "2.22.1",
 | 
				
			||||||
@ -19483,8 +19508,7 @@
 | 
				
			|||||||
    "stylis-rule-sheet": {
 | 
					    "stylis-rule-sheet": {
 | 
				
			||||||
      "version": "0.0.10",
 | 
					      "version": "0.0.10",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz",
 | 
				
			||||||
      "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==",
 | 
					      "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw=="
 | 
				
			||||||
      "requires": {}
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "subscriptions-transport-ws": {
 | 
					    "subscriptions-transport-ws": {
 | 
				
			||||||
      "version": "0.9.19",
 | 
					      "version": "0.9.19",
 | 
				
			||||||
@ -19506,8 +19530,7 @@
 | 
				
			|||||||
        "ws": {
 | 
					        "ws": {
 | 
				
			||||||
          "version": "7.5.5",
 | 
					          "version": "7.5.5",
 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz",
 | 
					          "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz",
 | 
				
			||||||
          "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==",
 | 
					          "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w=="
 | 
				
			||||||
          "requires": {}
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
@ -20104,11 +20127,19 @@
 | 
				
			|||||||
        "ts-essentials": "^2.0.3"
 | 
					        "ts-essentials": "^2.0.3"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "use-dark-mode": {
 | 
				
			||||||
 | 
					      "version": "2.3.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/use-dark-mode/-/use-dark-mode-2.3.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-hmcdJR96tTustRQdaQwe6jMrZHnmPqXBxgy4jaQ4gsfhwajsCpjECuq9prgDe9XxMx/f9r96o2/md6O4Lwhwjg==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@use-it/event-listener": "^0.1.2",
 | 
				
			||||||
 | 
					        "use-persisted-state": "^0.3.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "use-isomorphic-layout-effect": {
 | 
					    "use-isomorphic-layout-effect": {
 | 
				
			||||||
      "version": "1.1.1",
 | 
					      "version": "1.1.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ==",
 | 
					      "integrity": "sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ=="
 | 
				
			||||||
      "requires": {}
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "use-latest": {
 | 
					    "use-latest": {
 | 
				
			||||||
      "version": "1.2.0",
 | 
					      "version": "1.2.0",
 | 
				
			||||||
@ -20118,6 +20149,14 @@
 | 
				
			|||||||
        "use-isomorphic-layout-effect": "^1.0.0"
 | 
					        "use-isomorphic-layout-effect": "^1.0.0"
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
 | 
					    "use-persisted-state": {
 | 
				
			||||||
 | 
					      "version": "0.3.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/use-persisted-state/-/use-persisted-state-0.3.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-pCNlvYC8+XjRxwnIut4teGC9f2p9aD88R8OGseQGZa2dvqG/h1vEGk1vRE1IZG0Vf161UDpn+NlW4+UGubQflQ==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@use-it/event-listener": "^0.1.2"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    "use-subscription": {
 | 
					    "use-subscription": {
 | 
				
			||||||
      "version": "1.5.1",
 | 
					      "version": "1.5.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.5.1.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.5.1.tgz",
 | 
				
			||||||
@ -20382,8 +20421,7 @@
 | 
				
			|||||||
    "ws": {
 | 
					    "ws": {
 | 
				
			||||||
      "version": "8.2.2",
 | 
					      "version": "8.2.2",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.2.tgz",
 | 
					      "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.2.tgz",
 | 
				
			||||||
      "integrity": "sha512-Q6B6H2oc8QY3llc3cB8kVmQ6pnJWVQbP7Q5algTcIxx7YEpc0oU4NBVHlztA7Ekzfhw2r0rPducMUiCGWKQRzw==",
 | 
					      "integrity": "sha512-Q6B6H2oc8QY3llc3cB8kVmQ6pnJWVQbP7Q5algTcIxx7YEpc0oU4NBVHlztA7Ekzfhw2r0rPducMUiCGWKQRzw=="
 | 
				
			||||||
      "requires": {}
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "xdg-basedir": {
 | 
					    "xdg-basedir": {
 | 
				
			||||||
      "version": "4.0.0",
 | 
					      "version": "4.0.0",
 | 
				
			||||||
 | 
				
			|||||||
@ -44,6 +44,7 @@
 | 
				
			|||||||
    "secp256k1": "^4.0.2",
 | 
					    "secp256k1": "^4.0.2",
 | 
				
			||||||
    "styled-components": "^5.3.3",
 | 
					    "styled-components": "^5.3.3",
 | 
				
			||||||
    "swr": "^0.5.4",
 | 
					    "swr": "^0.5.4",
 | 
				
			||||||
 | 
					    "use-dark-mode": "^2.3.1",
 | 
				
			||||||
    "webln": "^0.2.2",
 | 
					    "webln": "^0.2.2",
 | 
				
			||||||
    "yup": "^0.32.9"
 | 
					    "yup": "^0.32.9"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
 | 
				
			|||||||
@ -2,12 +2,13 @@ import '../styles/globals.scss'
 | 
				
			|||||||
import { ApolloProvider, gql } from '@apollo/client'
 | 
					import { ApolloProvider, gql } from '@apollo/client'
 | 
				
			||||||
import { Provider } from 'next-auth/client'
 | 
					import { Provider } from 'next-auth/client'
 | 
				
			||||||
import { FundErrorModal, FundErrorProvider } from '../components/fund-error'
 | 
					import { FundErrorModal, FundErrorProvider } from '../components/fund-error'
 | 
				
			||||||
import { MeProvider, useMe } from '../components/me'
 | 
					import { MeProvider } from '../components/me'
 | 
				
			||||||
import PlausibleProvider from 'next-plausible'
 | 
					import PlausibleProvider from 'next-plausible'
 | 
				
			||||||
import { LightningProvider } from '../components/lightning'
 | 
					import { LightningProvider } from '../components/lightning'
 | 
				
			||||||
import { ItemActModal, ItemActProvider } from '../components/item-act'
 | 
					import { ItemActModal, ItemActProvider } from '../components/item-act'
 | 
				
			||||||
import getApolloClient from '../lib/apollo'
 | 
					import getApolloClient from '../lib/apollo'
 | 
				
			||||||
import { createGlobalStyle, ThemeProvider } from 'styled-components'
 | 
					import { createGlobalStyle, ThemeProvider } from 'styled-components'
 | 
				
			||||||
 | 
					import useDarkMode from 'use-dark-mode'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const GlobalStyle = createGlobalStyle`
 | 
					const GlobalStyle = createGlobalStyle`
 | 
				
			||||||
  body {
 | 
					  body {
 | 
				
			||||||
@ -86,18 +87,12 @@ const darkTheme = {
 | 
				
			|||||||
  brandColor: 'var(--primary) !important'
 | 
					  brandColor: 'var(--primary) !important'
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function ThemeProviderWrapper ({ children }) {
 | 
					 | 
				
			||||||
  const me = useMe()
 | 
					 | 
				
			||||||
  console.log(me)
 | 
					 | 
				
			||||||
  return (
 | 
					 | 
				
			||||||
    <ThemeProvider theme={!me || me?.theme === 'light' ? lightTheme : darkTheme}>
 | 
					 | 
				
			||||||
      {children}
 | 
					 | 
				
			||||||
    </ThemeProvider>
 | 
					 | 
				
			||||||
  )
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
function MyApp ({ Component, pageProps: { session, ...props } }) {
 | 
					function MyApp ({ Component, pageProps: { session, ...props } }) {
 | 
				
			||||||
  const client = getApolloClient()
 | 
					  const client = getApolloClient()
 | 
				
			||||||
 | 
					  const darkMode = useDarkMode(false, {
 | 
				
			||||||
 | 
					    // set this so it doesn't try to use clas
 | 
				
			||||||
 | 
					    onChange: (e) => { console.log(e) }
 | 
				
			||||||
 | 
					  })
 | 
				
			||||||
  /*
 | 
					  /*
 | 
				
			||||||
    If we are on the client, we populate the apollo cache with the
 | 
					    If we are on the client, we populate the apollo cache with the
 | 
				
			||||||
    ssr data
 | 
					    ssr data
 | 
				
			||||||
@ -118,7 +113,7 @@ function MyApp ({ Component, pageProps: { session, ...props } }) {
 | 
				
			|||||||
      <Provider session={session}>
 | 
					      <Provider session={session}>
 | 
				
			||||||
        <ApolloProvider client={client}>
 | 
					        <ApolloProvider client={client}>
 | 
				
			||||||
          <MeProvider>
 | 
					          <MeProvider>
 | 
				
			||||||
            <ThemeProviderWrapper>
 | 
					            <ThemeProvider theme={darkMode.value ? darkTheme : lightTheme}>
 | 
				
			||||||
              <GlobalStyle />
 | 
					              <GlobalStyle />
 | 
				
			||||||
              <LightningProvider>
 | 
					              <LightningProvider>
 | 
				
			||||||
                <FundErrorProvider>
 | 
					                <FundErrorProvider>
 | 
				
			||||||
@ -129,7 +124,7 @@ function MyApp ({ Component, pageProps: { session, ...props } }) {
 | 
				
			|||||||
                  </ItemActProvider>
 | 
					                  </ItemActProvider>
 | 
				
			||||||
                </FundErrorProvider>
 | 
					                </FundErrorProvider>
 | 
				
			||||||
              </LightningProvider>
 | 
					              </LightningProvider>
 | 
				
			||||||
            </ThemeProviderWrapper>
 | 
					            </ThemeProvider>
 | 
				
			||||||
          </MeProvider>
 | 
					          </MeProvider>
 | 
				
			||||||
        </ApolloProvider>
 | 
					        </ApolloProvider>
 | 
				
			||||||
      </Provider>
 | 
					      </Provider>
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user