Skip to content

Commit 8dd6aad

Browse files
committed
Integrate breadcrumbs component from UI
1 parent c85650d commit 8dd6aad

12 files changed

Lines changed: 208 additions & 336 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"@internxt/inxt-js": "=1.2.21",
1010
"@internxt/lib": "^1.2.0",
1111
"@internxt/sdk": "=1.9.1",
12-
"@internxt/ui": "^0.0.12",
12+
"@internxt/ui": "^0.0.13",
1313
"@phosphor-icons/react": "^2.1.7",
1414
"@popperjs/core": "^2.11.6",
1515
"@reduxjs/toolkit": "^1.6.0",

src/app/shared/components/Breadcrumbs/Breadcrumbs.tsx

Lines changed: 0 additions & 99 deletions
This file was deleted.

src/app/shared/components/Breadcrumbs/BreadcrumbsItem/BreadcrumbsItem.tsx

Lines changed: 0 additions & 147 deletions
This file was deleted.

src/app/shared/components/Breadcrumbs/BreadcrumbsMenu/BreadcrumbsMenuBackups.tsx

Lines changed: 25 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import { Menu, Transition } from '@headlessui/react';
21
import { CaretDown, Trash, DownloadSimple } from '@phosphor-icons/react';
32
import { useTranslationContext } from '../../../../i18n/provider/TranslationProvider';
43
import { downloadItemsThunk } from '../../../../store/slices/storage/storage.thunks/downloadItemsThunk';
54
import { useAppDispatch, useAppSelector } from '../../../../store/hooks';
65
import { uiActions } from '../../../../store/slices/ui';
76
import { getAppConfig } from '../../../../core/services/config.service';
8-
import { BreadcrumbsMenuProps } from '../types';
97
import { DriveItemData } from '../../../../drive/types';
8+
import { BreadcrumbsMenuProps } from '@internxt/ui/dist/components/breadcrumbs/BreadcrumbsItem';
9+
import { Dropdown } from '@internxt/ui';
1010

1111
const BreadcrumbsMenuBackups = (props: BreadcrumbsMenuProps): JSX.Element => {
1212
const { translate } = useTranslationContext();
@@ -31,61 +31,34 @@ const BreadcrumbsMenuBackups = (props: BreadcrumbsMenuProps): JSX.Element => {
3131
};
3232

3333
return (
34-
<Menu as="div" className="relative">
35-
<Menu.Button
36-
className="flex max-w-fit flex-1 cursor-pointer flex-row items-center truncate rounded-md p-1 px-1.5 font-medium text-gray-100 outline-none hover:bg-gray-5
37-
focus-visible:bg-gray-5"
38-
>
34+
<Dropdown
35+
classButton="flex max-w-fit flex-1 cursor-pointer flex-row items-center truncate rounded-md p-1 px-1.5 font-medium text-gray-100 outline-none hover:bg-gray-5 focus-visible:bg-gray-5"
36+
classMenuItems={`absolute z-10 mt-1 w-56 rounded-md border border-gray-10 bg-surface text-base shadow-subtle-hard outline-none dark:bg-gray-5 ${
37+
isSharedView && 'hidden'
38+
}`}
39+
openDirection="left"
40+
dropdownActionsContext={[
41+
{
42+
icon: DownloadSimple,
43+
name: translate('backups.dropdown.download'),
44+
action: onDownloadBackupButtonClicked,
45+
},
46+
{
47+
icon: Trash,
48+
name: translate('backups.dropdown.delete'),
49+
action: onDeleteBackupButtonClicked,
50+
},
51+
]}
52+
item={props.item.label}
53+
children={
3954
<div className="flex max-w-fit flex-1 flex-row items-center truncate">
4055
<span title={props.item.label} className="max-w-sm flex-1 truncate">
4156
{props.item.label}
4257
</span>
43-
<CaretDown weight="fill" className={`ml-1 h-3 w-3 ${isSharedView && 'hidden'}`} />
58+
{!isSharedView && <CaretDown weight="fill" className="ml-1 h-3 w-3" />}
4459
</div>
45-
</Menu.Button>
46-
<Transition
47-
className={'absolute left-0'}
48-
enter="transition origin-top-left duration-100 ease-out"
49-
enterFrom="scale-95 opacity-0"
50-
enterTo="scale-100 opacity-100"
51-
leave="transition origin-top-left duration-100 ease-out"
52-
leaveFrom="scale-95 opacity-100"
53-
leaveTo="scale-100 opacity-0"
54-
>
55-
<Menu.Items
56-
className={`absolute z-10 mt-1 w-56 rounded-md border border-gray-10 bg-surface py-1.5 text-base shadow-subtle-hard outline-none dark:bg-gray-5 ${
57-
isSharedView && 'hidden'
58-
}`}
59-
>
60-
<Menu.Item>
61-
{({ active }) => (
62-
<button
63-
onClick={onDownloadBackupButtonClicked}
64-
className={`${
65-
active && 'bg-gray-5'
66-
} flex w-full cursor-pointer items-center px-3 py-2 text-gray-80 hover:bg-gray-5 dark:hover:bg-gray-10`}
67-
>
68-
<DownloadSimple size={20} />
69-
<p className="ml-3">{translate('backups.dropdown.download')}</p>
70-
</button>
71-
)}
72-
</Menu.Item>
73-
<Menu.Item>
74-
{({ active }) => (
75-
<button
76-
onClick={onDeleteBackupButtonClicked}
77-
className={`${
78-
active && 'bg-gray-5'
79-
} flex w-full cursor-pointer items-center px-3 py-2 text-gray-80 hover:bg-gray-5 dark:hover:bg-gray-10`}
80-
>
81-
<Trash size={20} />
82-
<p className="ml-3">{translate('backups.dropdown.delete')}</p>
83-
</button>
84-
)}
85-
</Menu.Item>
86-
</Menu.Items>
87-
</Transition>
88-
</Menu>
60+
}
61+
/>
8962
);
9063
};
9164

src/app/shared/components/Breadcrumbs/BreadcrumbsMenu/BreadcrumbsMenuDrive.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,10 @@ import { DriveItemData, DriveItemDetails, FolderPath } from '../../../../drive/t
1515
import { useAppDispatch, useAppSelector } from '../../../../store/hooks';
1616
import { uiActions } from '../../../../store/slices/ui';
1717
import { getAppConfig } from '../../../../core/services/config.service';
18-
import { BreadcrumbsMenuProps } from '../types';
1918
import storageThunks from '../../../../store/slices/storage/storage.thunks';
2019
import { storageActions } from '../../../../store/slices/storage';
2120
import shareService from '../../../../share/services/share.service';
22-
import { Dropdown } from '@internxt/ui';
21+
import { BreadcrumbsMenuProps, Dropdown } from '@internxt/ui';
2322

2423
const BreadcrumbsMenuDrive = (props: BreadcrumbsMenuProps): JSX.Element => {
2524
const { onItemClicked } = props;

0 commit comments

Comments
 (0)