import { useQuery } from '@apollo/client' import gql from 'graphql-tag' import { Container, OverlayTrigger, Popover } from 'react-bootstrap' import { CopyInput } from './form' import styles from './footer.module.css' import Texas from '../svgs/texas.svg' import Github from '../svgs/github-fill.svg' import Twitter from '../svgs/twitter-fill.svg' import Link from 'next/link' import useDarkMode from 'use-dark-mode' import Sun from '../svgs/sun-fill.svg' import Moon from '../svgs/moon-fill.svg' import { useEffect, useState } from 'react' // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX // if you update this you need to update /public/darkmode // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX const COLORS = { light: { body: '#f5f5f5', color: '#212529', navbarVariant: 'light', navLink: 'rgba(0, 0, 0, 0.5)', navLinkFocus: 'rgba(0, 0, 0, 0.7)', navLinkActive: 'rgba(0, 0, 0, 0.9)', borderColor: '#ced4da', inputBg: '#ffffff', inputDisabledBg: '#e9ecef', dropdownItemColor: 'rgba(0, 0, 0, 0.7)', dropdownItemColorHover: 'rgba(0, 0, 0, 0.9)', commentBg: 'rgba(0, 0, 0, 0.03)', clickToContextColor: 'rgba(0, 0, 0, 0.05)', brandColor: 'rgba(0, 0, 0, 0.9)' }, dark: { body: '#000000', inputBg: '#000000', inputDisabledBg: '#000000', navLink: 'rgba(255, 255, 255, 0.5)', navLinkFocus: 'rgba(255, 255, 255, 0.75)', navLinkActive: 'rgba(255, 255, 255, 0.9)', borderColor: 'rgba(255, 255, 255, 0.5)', dropdownItemColor: 'rgba(255, 255, 255, 0.7)', dropdownItemColorHover: 'rgba(255, 255, 255, 0.9)', commentBg: 'rgba(255, 255, 255, 0.04)', clickToContextColor: 'rgba(255, 255, 255, 0.08)', color: '#f8f9fa', brandColor: 'var(--primary)' } } const handleThemeChange = (dark) => { const root = window.document.documentElement const colors = COLORS[dark ? 'dark' : 'light'] Object.entries(colors).forEach(([varName, value]) => { const cssVarName = `--theme-${varName}` root.style.setProperty(cssVarName, value) }) } const ChatPopover = ( sphinx \ telegram ) export default function Footer ({ noLinks }) { const query = gql` { connectAddress } ` const { data } = useQuery(query, { fetchPolicy: 'cache-first' }) const darkMode = useDarkMode(false, { // set this so it doesn't try to use classes onChange: handleThemeChange }) const [mounted, setMounted] = useState() useEffect(() => { setMounted(true) }) return ( ) }