Skip to content

Commit

Permalink
Merge pull request #1434 from kadena-community/refactor/breadcrumbs-i…
Browse files Browse the repository at this point in the history
…con-and-composition

used starticon in Breadcrumbs and exposed individual components for composing
  • Loading branch information
ferreroltd authored Jan 8, 2024
2 parents 9d3aab7 + f98db2f commit 16e815a
Show file tree
Hide file tree
Showing 28 changed files with 156 additions and 148 deletions.
6 changes: 6 additions & 0 deletions .changeset/plenty-otters-yell.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@kadena/react-ui': minor
---

Breadcrumbs accepts an icon element to be rendered and exposed the components in
order to compose.
18 changes: 11 additions & 7 deletions packages/apps/docs/src/components/Breadcrumbs/Breadcrumbs.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import type { IMenuItem } from '@kadena/docs-tools';
import { Box, Breadcrumbs as StyledBreadcrumbs } from '@kadena/react-ui';
import {
Box,
BreadcrumbsItem,
Breadcrumbs as StyledBreadcrumbs,
} from '@kadena/react-ui';
import Link from 'next/link';
import type { FC } from 'react';
import React, { useMemo } from 'react';
Expand Down Expand Up @@ -50,19 +54,19 @@ export const Breadcrumbs: FC<IProps> = ({ menuItems }) => {

return (
<Box data-cy="breadcrumbs" marginBlockStart="xxxl" marginBlockEnd="md">
<StyledBreadcrumbs.Root>
<StyledBreadcrumbs>
{items.map((item, idx) =>
idx < items.length - 1 ? (
<StyledBreadcrumbs.Item key={`${item.root}${idx}`} asChild>
<BreadcrumbsItem key={`${item.root}${idx}`} asChild>
<Link href={`${item.root}`}>{item.title}</Link>
</StyledBreadcrumbs.Item>
</BreadcrumbsItem>
) : (
<StyledBreadcrumbs.Item key={`${item.root}${idx}`}>
<BreadcrumbsItem key={`${item.root}${idx}`}>
{item.title}
</StyledBreadcrumbs.Item>
</BreadcrumbsItem>
),
)}
</StyledBreadcrumbs.Root>
</StyledBreadcrumbs>
</Box>
);
};
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import routes from '@constants/routes';
import {
Box,
Breadcrumbs,
BreadcrumbsItem,
Notification,
Stack,
TabItem,
Expand All @@ -36,10 +37,10 @@ const Account: React.FC = () => {
return (
<>
<Stack justifyContent="space-between">
<Breadcrumbs.Root>
<Breadcrumbs.Item href={`${routes.HOME}`}>Home</Breadcrumbs.Item>
<Breadcrumbs.Item>Account Overview</Breadcrumbs.Item>
</Breadcrumbs.Root>
<Breadcrumbs>
<BreadcrumbsItem href={`${routes.HOME}`}>Home</BreadcrumbsItem>
<BreadcrumbsItem>Account Overview</BreadcrumbsItem>
</Breadcrumbs>
<GraphQLQueryDialog
queries={[{ query: getNonFungibleAccount, variables }]}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import routes from '@constants/routes';
import {
Box,
Breadcrumbs,
BreadcrumbsItem,
Grid,
GridItem,
Stack,
Expand All @@ -36,17 +37,17 @@ const ChainAccount: React.FC = () => {
return (
<>
<Stack justifyContent="space-between">
<Breadcrumbs.Root>
<Breadcrumbs.Item href={`${routes.HOME}`}>Home</Breadcrumbs.Item>
<Breadcrumbs.Item
<Breadcrumbs>
<BreadcrumbsItem href={`${routes.HOME}`}>Home</BreadcrumbsItem>
<BreadcrumbsItem
href={`${routes.ACCOUNT}/${router.query.fungible as string}/${
router.query.account as string
}`}
>
Account Overview
</Breadcrumbs.Item>
<Breadcrumbs.Item>Chain</Breadcrumbs.Item>
</Breadcrumbs.Root>
</BreadcrumbsItem>
<BreadcrumbsItem>Chain</BreadcrumbsItem>
</Breadcrumbs>
<GraphQLQueryDialog
queries={[{ query: getFungibleChainAccount, variables }]}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { getNonFungibleAccount } from '@/graphql/queries.graph';
import {
Box,
Breadcrumbs,
BreadcrumbsItem,
Link,
Notification,
Stack,
Expand All @@ -33,10 +34,10 @@ const NonFungibleAccount: React.FC = () => {
return (
<>
<Stack justifyContent="space-between">
<Breadcrumbs.Root>
<Breadcrumbs.Item href={`${routes.HOME}`}>Home</Breadcrumbs.Item>
<Breadcrumbs.Item>Account Overview</Breadcrumbs.Item>
</Breadcrumbs.Root>
<Breadcrumbs>
<BreadcrumbsItem href={`${routes.HOME}`}>Home</BreadcrumbsItem>
<BreadcrumbsItem>Account Overview</BreadcrumbsItem>
</Breadcrumbs>
<GraphQLQueryDialog
queries={[{ query: getNonFungibleAccount, variables }]}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { getChainNonFungibleAccount } from '@/graphql/queries.graph';
import {
Box,
Breadcrumbs,
BreadcrumbsItem,
Grid,
GridItem,
Stack,
Expand All @@ -34,17 +35,17 @@ const FungibleChainAccount: React.FC = () => {
return (
<>
<Stack justifyContent="space-between">
<Breadcrumbs.Root>
<Breadcrumbs.Item href={`${routes.HOME}`}>Home</Breadcrumbs.Item>
<Breadcrumbs.Item
<Breadcrumbs>
<BreadcrumbsItem href={`${routes.HOME}`}>Home</BreadcrumbsItem>
<BreadcrumbsItem
href={`${routes.ACCOUNT}/${router.query.fungible as string}/${
router.query.account as string
}`}
>
Account Overview
</Breadcrumbs.Item>
<Breadcrumbs.Item>Chain</Breadcrumbs.Item>
</Breadcrumbs.Root>
</BreadcrumbsItem>
<BreadcrumbsItem>Chain</BreadcrumbsItem>
</Breadcrumbs>
<GraphQLQueryDialog
queries={[{ query: getChainNonFungibleAccount, variables }]}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import LoaderAndError from '@/components/loader-and-error/loader-and-error';
import { NON_FUNGIBLE_TRANSACTION } from '@/constants/non-fungible';
import routes from '@/constants/routes';
import { getTransactions } from '@/graphql/queries.graph';
import { Box, Breadcrumbs, Stack } from '@kadena/react-ui';
import { Box, Breadcrumbs, BreadcrumbsItem, Stack } from '@kadena/react-ui';
import { useRouter } from 'next/router';
import React from 'react';

Expand Down Expand Up @@ -33,13 +33,13 @@ const AccountTransactions: React.FC = () => {
return (
<>
<Stack justifyContent="space-between">
<Breadcrumbs.Root>
<Breadcrumbs.Item href={`${routes.HOME}`}>Home</Breadcrumbs.Item>
<Breadcrumbs.Item href={accountOverviewUrl}>
<Breadcrumbs>
<BreadcrumbsItem href={`${routes.HOME}`}>Home</BreadcrumbsItem>
<BreadcrumbsItem href={accountOverviewUrl}>
Account Overview
</Breadcrumbs.Item>
<Breadcrumbs.Item>Transactions</Breadcrumbs.Item>
</Breadcrumbs.Root>
</BreadcrumbsItem>
<BreadcrumbsItem>Transactions</BreadcrumbsItem>
</Breadcrumbs>
<GraphQLQueryDialog queries={[{ query: getTransactions, variables }]} />
</Stack>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { GraphQLQueryDialog } from '@/components/graphql-query-dialog/graphql-qu
import LoaderAndError from '@/components/loader-and-error/loader-and-error';
import { getTransfers } from '@/graphql/queries.graph';
import routes from '@constants/routes';
import { Box, Breadcrumbs, Stack } from '@kadena/react-ui';
import { Box, Breadcrumbs, BreadcrumbsItem, Stack } from '@kadena/react-ui';
import { useRouter } from 'next/router';
import React from 'react';

Expand All @@ -25,17 +25,17 @@ const AccountTransfers: React.FC = () => {
return (
<>
<Stack justifyContent="space-between">
<Breadcrumbs.Root>
<Breadcrumbs.Item href={`${routes.HOME}`}>Home</Breadcrumbs.Item>
<Breadcrumbs.Item
<Breadcrumbs>
<BreadcrumbsItem href={`${routes.HOME}`}>Home</BreadcrumbsItem>
<BreadcrumbsItem
href={`${routes.ACCOUNT}/${router.query.fungible as string}/${
router.query.account as string
}`}
>
Account Overview
</Breadcrumbs.Item>
<Breadcrumbs.Item>Transfers</Breadcrumbs.Item>
</Breadcrumbs.Root>
</BreadcrumbsItem>
<BreadcrumbsItem>Transfers</BreadcrumbsItem>
</Breadcrumbs>
<GraphQLQueryDialog queries={[{ query: getTransfers, variables }]} />
</Stack>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import {
Accordion,
Box,
Breadcrumbs,
BreadcrumbsItem,
Link,
Stack,
Table,
Expand Down Expand Up @@ -47,10 +48,10 @@ const Block: React.FC = () => {
<div className={centerBlockStyle}>
<div style={{ maxWidth: '1000px' }}>
<Stack justifyContent="space-between">
<Breadcrumbs.Root>
<Breadcrumbs.Item href={`${routes.HOME}`}>Home</Breadcrumbs.Item>
<Breadcrumbs.Item>Block Overview</Breadcrumbs.Item>
</Breadcrumbs.Root>
<Breadcrumbs>
<BreadcrumbsItem href={`${routes.HOME}`}>Home</BreadcrumbsItem>
<BreadcrumbsItem>Block Overview</BreadcrumbsItem>
</Breadcrumbs>
<GraphQLQueryDialog
queries={[
{ query: getBlockFromHash, variables: getBlockFromHashVariables },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { GraphQLQueryDialog } from '@/components/graphql-query-dialog/graphql-qu
import LoaderAndError from '@/components/loader-and-error/loader-and-error';
import routes from '@/constants/routes';
import { getTransactions } from '@/graphql/queries.graph';
import { Box, Breadcrumbs, Stack } from '@kadena/react-ui';
import { Box, Breadcrumbs, BreadcrumbsItem, Stack } from '@kadena/react-ui';
import { useRouter } from 'next/router';
import React from 'react';

Expand All @@ -20,15 +20,15 @@ const BlockTransactions: React.FC = () => {
return (
<>
<Stack justifyContent="space-between">
<Breadcrumbs.Root>
<Breadcrumbs.Item href={`${routes.HOME}`}>Home</Breadcrumbs.Item>
<Breadcrumbs.Item
<Breadcrumbs>
<BreadcrumbsItem href={`${routes.HOME}`}>Home</BreadcrumbsItem>
<BreadcrumbsItem
href={`${routes.BLOCK_OVERVIEW}/${router.query.hash as string}`}
>
Block Overview
</Breadcrumbs.Item>
<Breadcrumbs.Item>Transactions</Breadcrumbs.Item>
</Breadcrumbs.Root>
</BreadcrumbsItem>
<BreadcrumbsItem>Transactions</BreadcrumbsItem>
</Breadcrumbs>
<GraphQLQueryDialog queries={[{ query: getTransactions, variables }]} />
</Stack>

Expand Down
9 changes: 5 additions & 4 deletions packages/apps/graph-client/src/pages/event/[key].tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import routes from '@constants/routes';
import {
Box,
Breadcrumbs,
BreadcrumbsItem,
Grid,
GridItem,
Heading,
Expand Down Expand Up @@ -186,10 +187,10 @@ const Event: React.FC = () => {
return (
<>
<Stack justifyContent="space-between">
<Breadcrumbs.Root>
<Breadcrumbs.Item href={`${routes.HOME}`}>Home</Breadcrumbs.Item>
<Breadcrumbs.Item>Events</Breadcrumbs.Item>
</Breadcrumbs.Root>
<Breadcrumbs>
<BreadcrumbsItem href={`${routes.HOME}`}>Home</BreadcrumbsItem>
<BreadcrumbsItem>Events</BreadcrumbsItem>
</Breadcrumbs>
<GraphQLQueryDialog
queries={[
{
Expand Down
16 changes: 11 additions & 5 deletions packages/apps/graph-client/src/pages/gas/estimation/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,13 @@ import { GraphQLQueryDialog } from '@/components/graphql-query-dialog/graphql-qu
import LoaderAndError from '@/components/loader-and-error/loader-and-error';
import routes from '@/constants/routes';
import { estimateGasLimit } from '@/graphql/queries.graph';
import { Box, Breadcrumbs, Stack, Table } from '@kadena/react-ui';
import {
Box,
Breadcrumbs,
BreadcrumbsItem,
Stack,
Table,
} from '@kadena/react-ui';
import { useRouter } from 'next/router';
import React from 'react';

Expand All @@ -25,10 +31,10 @@ const GasEstimation: React.FC = () => {
return (
<>
<Stack justifyContent="space-between">
<Breadcrumbs.Root>
<Breadcrumbs.Item href={`${routes.HOME}`}>Home</Breadcrumbs.Item>
<Breadcrumbs.Item>Gas Estimation</Breadcrumbs.Item>
</Breadcrumbs.Root>
<Breadcrumbs>
<BreadcrumbsItem href={`${routes.HOME}`}>Home</BreadcrumbsItem>
<BreadcrumbsItem>Gas Estimation</BreadcrumbsItem>
</Breadcrumbs>
<GraphQLQueryDialog
queries={[{ query: estimateGasLimit, variables }]}
/>
Expand Down
13 changes: 7 additions & 6 deletions packages/apps/graph-client/src/pages/transactions/[key].tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { formatCode, formatLisp } from '@/utils/formatter';
import {
Box,
Breadcrumbs,
BreadcrumbsItem,
Link,
Notification,
Stack,
Expand All @@ -28,13 +29,13 @@ const RequestKey: React.FC = () => {
return (
<>
<Stack justifyContent="space-between">
<Breadcrumbs.Root>
<Breadcrumbs.Item href={`${routes.HOME}`}>Home</Breadcrumbs.Item>
<Breadcrumbs.Item href={`${routes.TRANSACTIONS}`}>
<Breadcrumbs>
<BreadcrumbsItem href={`${routes.HOME}`}>Home</BreadcrumbsItem>
<BreadcrumbsItem href={`${routes.TRANSACTIONS}`}>
Transactions
</Breadcrumbs.Item>
<Breadcrumbs.Item>Transaction</Breadcrumbs.Item>
</Breadcrumbs.Root>
</BreadcrumbsItem>
<BreadcrumbsItem>Transaction</BreadcrumbsItem>
</Breadcrumbs>
<GraphQLQueryDialog
queries={[{ query: getTransactionByRequestKey, variables }]}
/>
Expand Down
10 changes: 5 additions & 5 deletions packages/apps/graph-client/src/pages/transactions/index.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Box, Breadcrumbs, Stack } from '@kadena/react-ui';
import { Box, Breadcrumbs, BreadcrumbsItem, Stack } from '@kadena/react-ui';

import { useGetTransactionsQuery } from '@/__generated__/sdk';
import { ExtendedTransactionsTable } from '@/components/extended-transactions-table/extended-transactions-table';
Expand All @@ -18,10 +18,10 @@ const Transactions: React.FC = () => {
return (
<>
<Stack justifyContent="space-between">
<Breadcrumbs.Root>
<Breadcrumbs.Item href={`${routes.HOME}`}>Home</Breadcrumbs.Item>
<Breadcrumbs.Item>Transactions</Breadcrumbs.Item>
</Breadcrumbs.Root>
<Breadcrumbs>
<BreadcrumbsItem href={`${routes.HOME}`}>Home</BreadcrumbsItem>
<BreadcrumbsItem>Transactions</BreadcrumbsItem>
</Breadcrumbs>
<GraphQLQueryDialog queries={[{ query: getTransactions, variables }]} />
</Stack>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import { zodResolver } from '@hookform/resolvers/zod';
import {
Box,
Breadcrumbs,
BreadcrumbsItem,
Button,
Card,
Grid,
Expand Down Expand Up @@ -72,11 +73,11 @@ const CheckTransactions: FC = () => {

return (
<div>
<Breadcrumbs.Root>
<Breadcrumbs.Item>{t('Account')}</Breadcrumbs.Item>
<Breadcrumbs.Item>{t('Transactions')}</Breadcrumbs.Item>
<Breadcrumbs.Item>{t('Filters')}</Breadcrumbs.Item>
</Breadcrumbs.Root>
<Breadcrumbs>
<BreadcrumbsItem>{t('Account')}</BreadcrumbsItem>
<BreadcrumbsItem>{t('Transactions')}</BreadcrumbsItem>
<BreadcrumbsItem>{t('Filters')}</BreadcrumbsItem>
</Breadcrumbs>
<Box marginBlockEnd="sm" />
<Heading bold={false} as="h5">
{t('Account Transaction Filters')}
Expand Down
Loading

4 comments on commit 16e815a

@vercel
Copy link

@vercel vercel bot commented on 16e815a Jan 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

react-ui – ./packages/libs/react-ui

react-ui-delta.vercel.app
react-ui.kadena.io
react-ui-git-main-kadena-js.vercel.app
react-ui-kadena-js.vercel.app

@vercel
Copy link

@vercel vercel bot commented on 16e815a Jan 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

docs-storybook – ./packages/apps/docs

docs-storybook-git-main-kadena-js.vercel.app
kadena-js-docs.vercel.app
docs-storybook-kadena-js.vercel.app

@vercel
Copy link

@vercel vercel bot commented on 16e815a Jan 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

tools – ./packages/apps/tools

kadena-js-transfer.vercel.app
tools-git-main-kadena-js.vercel.app
tools.kadena.io
tools-kadena-js.vercel.app

@vercel
Copy link

@vercel vercel bot commented on 16e815a Jan 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

alpha-docs – ./packages/apps/docs

alpha-docs-git-main-kadena-js.vercel.app
docs.kadena.io
alpha-docs.kadena.io
docs-silk-two.vercel.app
alpha-docs-kadena-js.vercel.app

Please sign in to comment.