chore(ui-toolkit): adjust nav styles and banner (#3865)

This commit is contained in:
Matthew Russell 2023-05-22 13:20:17 -07:00 committed by GitHub
parent 6dd4536fdd
commit e9cb2ad217
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 51 additions and 24 deletions

View File

@ -16,10 +16,11 @@ import {
NavigationItem,
NavigationLink,
ExternalLink,
Icon,
NavigationBreakpoint,
NavigationTrigger,
NavigationContent,
VegaIconNames,
VegaIcon,
} from '@vegaprotocol/ui-toolkit';
import { Links, Routes } from '../../pages/client-router';
@ -146,7 +147,7 @@ const NavExternalLink = ({
<ExternalLink href={href}>
<span className="flex items-center gap-2">
<span>{children}</span>
<Icon name="arrow-top-right" size={3} />
<VegaIcon name={VegaIconNames.OPEN_EXTERNAL} />
</span>
</ExternalLink>
);

View File

@ -2,9 +2,10 @@ import { useEffect, useState } from 'react';
import type { AppNameType, Announcement } from './schema';
import { useAnnouncement } from './hooks/use-announcement';
import {
Icon,
AnnouncementBanner as Banner,
ExternalLink,
VegaIcon,
VegaIconNames,
} from '@vegaprotocol/ui-toolkit';
export type AnnouncementBannerProps = {
@ -75,22 +76,22 @@ export const AnnouncementBanner = ({
return (
<Banner className="relative px-10">
<button
className="absolute left-0 top-0 w-10 h-full flex items-center justify-center"
data-testid="app-announcement-close"
onClick={() => setVisible(false)}
>
<Icon name="cross" className="w-6 h-6" ariaLabel="dismiss" />
</button>
<div
data-testid="app-announcement"
className="relative font-alpha flex gap-2 justify-center calt uppercase text-center text-lg text-white"
className="relative font-alpha flex gap-2 justify-center text-center text-lg text-white"
>
<span className="pr-4">{data.text}</span>
<span>{data.text}</span>{' '}
{data.urlText && data.url && (
<ExternalLink href={data.url}>{data.urlText}</ExternalLink>
)}
</div>
<button
className="absolute right-0 top-0 p-4 w-10 h-full flex items-center justify-center text-white"
data-testid="app-announcement-close"
onClick={() => setVisible(false)}
>
<VegaIcon name={VegaIconNames.CROSS} size={24} />
</button>
</Banner>
);
};

View File

@ -7,6 +7,8 @@ import {
DropdownMenuItem,
DropdownMenuTrigger,
ExternalLink,
VegaIcon,
VegaIconNames,
} from '@vegaprotocol/ui-toolkit';
import { useEnvironment } from '../../hooks/use-environment';
import { Networks } from '../../types';
@ -114,7 +116,10 @@ export const NetworkSwitcher = ({
className
)}
>
<span className="mr-2"> {envTriggerMapping[current]}</span>
<span className="flex justify-between items-center gap-2">
<span>{envTriggerMapping[current]}</span>
<VegaIcon name={VegaIconNames.CHEVRON_DOWN} />
</span>
</DropdownMenuTrigger>
}
>

View File

@ -0,0 +1,7 @@
export const IconArrowDown = ({ size = 16 }: { size: number }) => {
return (
<svg width={size} height={size} viewBox="0 0 16 16">
<path d="M8.53 12.3705L13.6252 7.27524L14.3748 8.02477L8 14.3995L1.62523 8.02477L2.37477 7.27524L7.47 12.3705V1.64999H8.53V12.3705Z" />
</svg>
);
};

View File

@ -0,0 +1,7 @@
export const IconChevronDown = ({ size = 16 }: { size: number }) => {
return (
<svg width={size} height={size} viewBox="0 0 16 16">
<path d="M1.62 5.62L2.38 4.87L8 10.5L13.62 4.87L14.38 5.62L8 12L1.62 5.62Z" />
</svg>
);
};

View File

@ -16,6 +16,8 @@ import { IconChevronUp } from './svg-icons/icon-chevron-up';
import { IconTrendUp } from './svg-icons/icon-trend-up';
import { IconCross } from './svg-icons/icon-cross';
import { IconKebab } from './svg-icons/icon-kebab';
import { IconArrowDown } from './svg-icons/icon-arrow-down';
import { IconChevronDown } from './svg-icons/icon-chevron-down';
export enum VegaIconNames {
BREAKDOWN = 'breakdown',
@ -32,7 +34,9 @@ export enum VegaIconNames {
OPEN_EXTERNAL = 'open-external',
QUESTION_MARK = 'question-mark',
ARROW_RIGHT = 'arrow-right',
ARROW_DOWN = 'arrow-down',
CHEVRON_UP = 'chevron-up',
CHEVRON_DOWN = 'chevron-down',
TREND_UP = 'trend-up',
CROSS = 'cross',
KEBAB = 'kebab',
@ -56,7 +60,9 @@ export const VegaIconNameMap: Record<
forum: IconForum,
'open-external': IconOpenExternal,
'arrow-right': IconArrowRight,
'arrow-down': IconArrowDown,
'chevron-up': IconChevronUp,
'chevron-down': IconChevronDown,
'trend-up': IconTrendUp,
cross: IconCross,
kebab: IconKebab,

View File

@ -44,7 +44,7 @@ export const ExternalLink = ({ children, className, ...props }: LinkProps) => (
<Link
className={classNames(
className,
'inline-flex items-baseline underline-offset-4'
'inline-flex gap-1 items-baseline underline-offset-4'
)}
target="_blank"
data-testid="external-link"

View File

@ -5,7 +5,7 @@ import { useContext } from 'react';
import { useRef } from 'react';
import { VegaLogo } from '../vega-logo';
import * as NavigationMenu from '@radix-ui/react-navigation-menu';
import { Icon } from '../icon';
import { VegaIcon, VegaIconNames } from '../icon';
import { Drawer } from '../drawer';
import { NavLink } from 'react-router-dom';
import type {
@ -152,8 +152,8 @@ export const NavigationTrigger = ({
{...props}
>
<span>{children}</span>
<span className="rotate-90 group-data-open/drawer:hidden">
<Icon name="arrow-right" size={3} />
<span className="flex items-center group-data-open/drawer:hidden">
<VegaIcon name={VegaIconNames.ARROW_DOWN} />
</span>
<div
aria-hidden="true"
@ -189,15 +189,15 @@ export const NavigationContent = ({
className={classNames(
'navigation-content',
'absolute z-20 top-12 w-max',
'p-2 mt-1',
'p-6 mt-1 min-w-[290px]',
'text-vega-light-300 dark:text-vega-dark-300',
'border rounded border-vega-light-200 dark:border-vega-dark-200',
'shadow-[8px_8px_16px_0_rgba(0,0,0,0.4)]',
'text-vega-light-300 dark:text-vega-light-300',
{
'bg-white dark:bg-black': theme === 'system' || theme === 'yellow',
'bg-white': theme === 'light',
'bg-black': theme === 'dark',
'bg-vega-light-100 dark:bg-vega-dark-100':
theme === 'system' || theme === 'yellow',
'bg-vega-light-100': theme === 'light',
'bg-vega-dark-100': theme === 'dark',
}
)}
>
@ -348,7 +348,7 @@ export const Navigation = ({
<div
className={classNames(
'navbar',
'flex gap-4 h-12 items-center font-alpha text-lg calt',
'flex gap-4 h-12 items-center font-alpha text-lg',
{
'text-vega-light-300 dark:text-vega-dark-300': theme === 'system',
'text-vega-light-300': theme === 'light',