diff --git a/hyperglass/ui/components/footer/footer.tsx b/hyperglass/ui/components/footer/footer.tsx
index 05df35b..006aa04 100644
--- a/hyperglass/ui/components/footer/footer.tsx
+++ b/hyperglass/ui/components/footer/footer.tsx
@@ -1,13 +1,12 @@
-import { useMemo } from 'react';
import { Flex, HStack, useToken } from '@chakra-ui/react';
-import { If, Then } from 'react-if';
+import { useMemo } from 'react';
import { useConfig } from '~/context';
import { DynamicIcon } from '~/elements';
-import { useStrf, useMobile, useColorValue, useBreakpointValue } from '~/hooks';
+import { useBreakpointValue, useColorValue, useMobile, useStrf } from '~/hooks';
+import { isLink, isMenu } from '~/types';
import { FooterButton } from './button';
import { ColorModeToggle } from './color-mode';
import { FooterLink } from './link';
-import { isLink, isMenu } from '~/types';
import type { ButtonProps, LinkProps } from '@chakra-ui/react';
import type { Link, Menu } from '~/types';
@@ -85,16 +84,15 @@ export const Footer = (): JSX.Element => {
);
}
})}
-
-
- }
- />
-
-
+ {web.credit.enable && (
+ }
+ />
+ )}
+
);
diff --git a/hyperglass/ui/components/header/title.tsx b/hyperglass/ui/components/header/title.tsx
index 4e3dcd3..caabd56 100644
--- a/hyperglass/ui/components/header/title.tsx
+++ b/hyperglass/ui/components/header/title.tsx
@@ -1,9 +1,9 @@
-import { Flex, Button, VStack } from '@chakra-ui/react';
+import { Button, Flex, VStack } from '@chakra-ui/react';
import { motion } from 'framer-motion';
import { isSafari } from 'react-device-detect';
-import { Switch, Case } from 'react-if';
+import { Case, Switch } from 'react-if';
import { useConfig } from '~/context';
-import { useFormState, useFormInteractive, useMobile } from '~/hooks';
+import { useFormInteractive, useFormState, useMobile } from '~/hooks';
import { Logo } from './logo';
import { SubtitleOnly } from './subtitle-only';
import { TitleOnly } from './title-only';
@@ -13,7 +13,7 @@ import type { MotionProps } from 'framer-motion';
type DWrapperProps = Omit & MotionProps;
type MWrapperProps = Omit & MotionProps;
-type TextOnlyProps = Partial>;
+type WrapperProps = Partial>;
const AnimatedVStack = motion(VStack);
const AnimatedFlex = motion(Flex);
@@ -28,6 +28,7 @@ const MWrapper = (props: MWrapperProps): JSX.Element => {
layout
spacing={1}
alignItems={formInteractive ? 'center' : 'flex-start'}
+ maxWidth="25%"
{...props}
/>
);
@@ -46,6 +47,7 @@ const DWrapper = (props: DWrapperProps): JSX.Element => {
animate={formInteractive}
transition={{ damping: 15, type: 'spring', stiffness: 100 }}
variants={{ results: { scale: 0.5 }, form: { scale: 1 } }}
+ maxWidth="25%"
{...props}
/>
);
@@ -71,7 +73,7 @@ const TitleWrapper = (props: DWrapperProps | MWrapperProps): JSX.Element => {
/**
* Title sub-component if `title_mode` is set to `text_only`.
*/
-const TextOnly = (props: TextOnlyProps): JSX.Element => {
+const TextOnly = (props: WrapperProps): JSX.Element => {
return (
@@ -83,8 +85,8 @@ const TextOnly = (props: TextOnlyProps): JSX.Element => {
/**
* Title sub-component if `title_mode` is set to `logo_only`. Renders only the logo.
*/
-const LogoOnly = (): JSX.Element => (
-
+const LogoOnly = (props: WrapperProps): JSX.Element => (
+
);
@@ -93,8 +95,8 @@ const LogoOnly = (): JSX.Element => (
* Title sub-component if `title_mode` is set to `logo_subtitle`. Renders the logo with the
* subtitle underneath.
*/
-const LogoSubtitle = (): JSX.Element => (
-
+const LogoSubtitle = (props: WrapperProps): JSX.Element => (
+
@@ -103,8 +105,8 @@ const LogoSubtitle = (): JSX.Element => (
/**
* Title sub-component if `title_mode` is set to `all`. Renders the logo, title, and subtitle.
*/
-const All = (): JSX.Element => (
-
+const All = (props: WrapperProps): JSX.Element => (
+
@@ -149,16 +151,16 @@ export const Title = (props: FlexProps): JSX.Element => {
>
-
+
-
+
-
+
-
+