Skip to content

Commit ea2342c

Browse files
committed
[TASK] Render asset usage counter inside inspector action buttons
1 parent 7947e65 commit ea2342c

File tree

3 files changed

+28
-12
lines changed

3 files changed

+28
-12
lines changed

Resources/Private/JavaScript/asset-usage/src/components/AssetUsageSection.module.css

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
width: 100%;
1010
margin-top: var(--theme-spacing-Full);
1111
line-height: 1.5;
12+
border-collapse: separate;
13+
border-spacing: 0;
1214
}
1315

1416
.usageTable th {
@@ -18,17 +20,13 @@
1820

1921
.usageTable td,
2022
.usageTable th {
21-
padding: var(--theme-spacing-Quarter);
23+
padding: 0 var(--theme-spacing-Half);
24+
height: var(--theme-unit);
2225
}
2326

24-
.usageTable td:first-child,
25-
.usageTable th:first-child {
26-
padding-left: 0;
27-
}
28-
29-
.usageTable td:last-child,
30-
.usageTable th:last-child {
31-
padding-right: 0;
27+
.usageTable td {
28+
border-top: 1px solid var(--theme-colors-ContrastDarker);
29+
background-color: var(--theme-colors-ContrastNeutral);
3230
}
3331

3432
/* This is for specificity; otherwise `.neos.neos-module a` would override this link style in the backend module */
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.assetUsageBadge {
2+
color: var(--theme-blue);
3+
}

Resources/Private/JavaScript/asset-usage/src/components/AssetUsagesToggleButton.tsx

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,43 @@
11
import React from 'react';
22
import { useRecoilState } from 'recoil';
33

4-
import { Button, Icon } from '@neos-project/react-ui-components';
4+
import { Badge, Button, Icon } from '@neos-project/react-ui-components';
55

66
import { useIntl } from '@media-ui/core';
77
import { useSelectedAsset } from '@media-ui/core/src/hooks';
88

99
import assetUsageDetailsModalState from '../state/assetUsageDetailsModalState';
10+
import useAssetUsagesQuery from '@media-ui/feature-asset-usage/src/hooks/useAssetUsages';
11+
12+
import classes from './AssetUsagesToggleButton.module.css';
1013

1114
const AssetUsagesToggleButton: React.FC = () => {
12-
const { isInUse } = useSelectedAsset();
15+
const asset = useSelectedAsset();
16+
const { assetUsageDetails, loading } = useAssetUsagesQuery(
17+
asset ? { assetId: asset.id, assetSourceId: asset.assetSource.id } : null
18+
);
1319
const [assetUsagesModalOpen, setAssetUsagesModalOpen] = useRecoilState(assetUsageDetailsModalState);
1420
const { translate } = useIntl();
21+
const badgeTheme = { badge: 'primary'}
1522

1623
return (
1724
<Button
18-
disabled={isInUse === false}
25+
disabled={asset.isInUse === false}
1926
size="regular"
2027
style={assetUsagesModalOpen ? 'brand' : 'lighter'}
2128
hoverStyle="brand"
2229
onClick={() => setAssetUsagesModalOpen(true)}
2330
>
2431
<Icon icon="link" />
2532
{translate('assetUsageList.toggle', 'Show usages')}
33+
{assetUsageDetails?.[0]?.usages ? (
34+
<Badge
35+
label={assetUsageDetails[0].usages.length}
36+
className={classes.assetUsageBadge}
37+
/>
38+
) : (
39+
<></>
40+
)}
2641
</Button>
2742
);
2843
};

0 commit comments

Comments
 (0)