Add product type link in product details view (#1724) (#1750)

* add link to product type in product details

* fix tests

* Apply CR suggestion

Co-authored-by: Wojciech Mista <wojciech.mista@saleor.io>

* improve Link component

* Fix tests - add memory router

* fix undefined value in createHref

* fix onclick when it is not provided

* Fix undefined app mount uri

* fix undefined api uri in ci/cd tests

* remove onclick from product type link

Co-authored-by: Wojciech Mista <wojciech.mista@saleor.io>

Co-authored-by: Wojciech Mista <wojciech.mista@saleor.io>
This commit is contained in:
Michał Droń 2022-01-13 13:04:45 +01:00 committed by GitHub
parent 55492aff9a
commit ce2f90946c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 148 additions and 100 deletions

View file

@ -3,6 +3,7 @@ import { TypographyProps } from "@material-ui/core/Typography";
import { makeStyles } from "@saleor/macaw-ui";
import classNames from "classnames";
import React from "react";
import { Link as RouterLink } from "react-router-dom";
const useStyles = makeStyles(
theme => ({
@ -19,6 +20,9 @@ const useStyles = makeStyles(
underline: {
textDecoration: "underline"
},
noUnderline: {
textDecoration: "none"
},
disabled: {
cursor: "default",
color: theme.palette.textHighlighted.inactive
@ -27,11 +31,14 @@ const useStyles = makeStyles(
{ name: "Link" }
);
const isExternalURL = url => /^https?:\/\//.test(url);
interface LinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
href?: string;
color?: "primary" | "secondary";
underline?: boolean;
typographyProps?: TypographyProps;
onClick: () => void;
onClick?: () => void;
disabled?: boolean;
}
@ -43,32 +50,47 @@ const Link: React.FC<LinkProps> = props => {
underline = false,
onClick,
disabled,
href,
...linkProps
} = props;
const classes = useStyles(props);
return (
<Typography
component="a"
className={classNames(className, {
[classes.root]: true,
[classes[color]]: true,
[classes.underline]: underline,
[classes.disabled]: disabled
})}
onClick={event => {
if (disabled) {
return;
}
const commonLinkProps = {
className: classNames(className, {
[classes.root]: true,
[classes[color]]: true,
[classes.underline]: underline,
[classes.noUnderline]: !underline,
[classes.disabled]: disabled
}),
onClick: event => {
if (disabled || !onClick) {
return;
}
event.preventDefault();
onClick();
}}
{...linkProps}
>
{children}
</Typography>
event.preventDefault();
onClick();
},
...linkProps
};
return (
<>
{!!href && !isExternalURL(href) ? (
<RouterLink to={disabled ? undefined : href} {...commonLinkProps}>
{children}
</RouterLink>
) : (
<Typography
component="a"
href={disabled ? undefined : href}
{...commonLinkProps}
>
{children}
</Typography>
)}
</>
);
};
Link.displayName = "Link";

View file

@ -2,7 +2,7 @@ import packageInfo from "../package.json";
import { SearchVariables } from "./hooks/makeSearch";
import { ListSettings, ListViews, Pagination } from "./types";
export const APP_MOUNT_URI = process.env.APP_MOUNT_URI;
export const APP_MOUNT_URI = process.env.APP_MOUNT_URI || "/";
export const APP_DEFAULT_URI = "/";
export const API_URI = process.env.API_URI;
export const SW_INTERVAL = parseInt(process.env.SW_INTERVAL, 0);

View file

@ -3,6 +3,7 @@ import CardSpacer from "@saleor/components/CardSpacer";
import CardTitle from "@saleor/components/CardTitle";
import { FormSpacer } from "@saleor/components/FormSpacer";
import Hr from "@saleor/components/Hr";
import Link from "@saleor/components/Link";
import MultiAutocompleteSelectField, {
MultiAutocompleteChoiceType
} from "@saleor/components/MultiAutocompleteSelectField";
@ -12,7 +13,8 @@ import SingleAutocompleteSelectField, {
import { ProductErrorFragment } from "@saleor/fragments/types/ProductErrorFragment";
import { ChangeEvent } from "@saleor/hooks/useForm";
import { makeStyles } from "@saleor/macaw-ui";
import { maybe } from "@saleor/misc";
import { createHref, maybe } from "@saleor/misc";
import { productTypeUrl } from "@saleor/productTypes/urls";
import { FetchMoreProps } from "@saleor/types";
import { getFormErrors, getProductErrorMessage } from "@saleor/utils/errors";
import React from "react";
@ -130,7 +132,12 @@ const ProductOrganization: React.FC<ProductOrganizationProps> = props => {
<Typography className={classes.label} variant="caption">
<FormattedMessage defaultMessage="Product Type" />
</Typography>
<Typography>{maybe(() => productType.name, "...")}</Typography>
<Link
href={createHref(productTypeUrl(productType?.id) ?? "")}
disabled={!productType?.id}
>
{productType?.name ?? "..."}
</Link>
<CardSpacer />
<Typography className={classes.label} variant="caption">
<FormattedMessage defaultMessage="Product Type" />

View file

@ -15,10 +15,14 @@ import ProductUpdatePage, { ProductUpdatePageProps } from "./ProductUpdatePage";
const product = productFixture(placeholderImage);
const channels = createChannelsData(channelsList);
import * as _useNavigator from "@saleor/hooks/useNavigator";
import Adapter from "enzyme-adapter-react-16";
import { MemoryRouter } from "react-router-dom";
configure({ adapter: new Adapter() });
const onSubmit = jest.fn();
const useNavigator = jest.spyOn(_useNavigator, "default");
const props: ProductUpdatePageProps = {
...listActionsProps,
@ -81,11 +85,14 @@ const selectors = {
};
describe("Product details page", () => {
useNavigator.mockImplementation();
it("can select empty option on attribute", () => {
const component = mount(
<Wrapper>
<ProductUpdatePage {...props} />
</Wrapper>
<MemoryRouter>
<Wrapper>
<ProductUpdatePage {...props} />
</Wrapper>
</MemoryRouter>
);
expect(component.find(selectors.dropdown).exists()).toBeFalsy();

View file

@ -8805,7 +8805,7 @@ exports[`Storyshots Generics / Link with choices default 1`] = `
tabindex="0"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
Åland Islands
<svg
@ -17849,7 +17849,7 @@ exports[`Storyshots Orders / OrderHistory default 1`] = `
Products were refunded by
</div>
<a
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
Jane Doe
</a>
@ -22951,7 +22951,7 @@ exports[`Storyshots Shipping zones card with no options selected 1`] = `
class="CardAddItemsFooter-container-id"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
data-test-id="add-shipping-zone-link"
>
Add Shipping Zones
@ -23169,7 +23169,7 @@ exports[`Storyshots Shipping zones card with options selected 1`] = `
class="CardAddItemsFooter-container-id"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
data-test-id="add-shipping-zone-link"
>
Add Shipping Zones
@ -45722,7 +45722,7 @@ exports[`Storyshots Views / Channels / Channel details default 1`] = `
class="CardAddItemsFooter-container-id"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
data-test-id="add-shipping-zone-link"
>
Add Shipping Zones
@ -46257,7 +46257,7 @@ exports[`Storyshots Views / Channels / Channel details disabled 1`] = `
class="CardAddItemsFooter-container-id"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
data-test-id="add-shipping-zone-link"
>
Add Shipping Zones
@ -46788,7 +46788,7 @@ exports[`Storyshots Views / Channels / Channel details loading 1`] = `
class="CardAddItemsFooter-container-id"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
data-test-id="add-shipping-zone-link"
>
Add Shipping Zones
@ -47319,7 +47319,7 @@ exports[`Storyshots Views / Channels / Channel details with data 1`] = `
class="CardAddItemsFooter-container-id"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
data-test-id="add-shipping-zone-link"
>
Add Shipping Zones
@ -47856,7 +47856,7 @@ exports[`Storyshots Views / Channels / Channel details with errors 1`] = `
class="CardAddItemsFooter-container-id"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
data-test-id="add-shipping-zone-link"
>
Add Shipping Zones
@ -48338,7 +48338,7 @@ exports[`Storyshots Views / Channels / Channel details without editable currency
class="CardAddItemsFooter-container-id"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
data-test-id="add-shipping-zone-link"
>
Add Shipping Zones
@ -111673,7 +111673,7 @@ exports[`Storyshots Views / Orders / Order details cancelled 1`] = `
Products were refunded by
</div>
<a
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
Jane Doe
</a>
@ -113787,7 +113787,7 @@ exports[`Storyshots Views / Orders / Order details default 1`] = `
Products were refunded by
</div>
<a
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
Jane Doe
</a>
@ -115933,7 +115933,7 @@ exports[`Storyshots Views / Orders / Order details fulfilled 1`] = `
Products were refunded by
</div>
<a
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
Jane Doe
</a>
@ -118675,7 +118675,7 @@ exports[`Storyshots Views / Orders / Order details no customer note 1`] = `
Products were refunded by
</div>
<a
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
Jane Doe
</a>
@ -120819,7 +120819,7 @@ exports[`Storyshots Views / Orders / Order details no payment 1`] = `
Products were refunded by
</div>
<a
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
Jane Doe
</a>
@ -122965,7 +122965,7 @@ exports[`Storyshots Views / Orders / Order details no shipping address 1`] = `
Products were refunded by
</div>
<a
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
Jane Doe
</a>
@ -125103,7 +125103,7 @@ exports[`Storyshots Views / Orders / Order details partially fulfilled 1`] = `
Products were refunded by
</div>
<a
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
Jane Doe
</a>
@ -127249,7 +127249,7 @@ exports[`Storyshots Views / Orders / Order details payment confirmed 1`] = `
Products were refunded by
</div>
<a
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
Jane Doe
</a>
@ -129395,7 +129395,7 @@ exports[`Storyshots Views / Orders / Order details payment error 1`] = `
Products were refunded by
</div>
<a
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
Jane Doe
</a>
@ -131541,7 +131541,7 @@ exports[`Storyshots Views / Orders / Order details pending payment 1`] = `
Products were refunded by
</div>
<a
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
Jane Doe
</a>
@ -133687,7 +133687,7 @@ exports[`Storyshots Views / Orders / Order details refunded payment 1`] = `
Products were refunded by
</div>
<a
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
Jane Doe
</a>
@ -135833,7 +135833,7 @@ exports[`Storyshots Views / Orders / Order details rejected payment 1`] = `
Products were refunded by
</div>
<a
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
Jane Doe
</a>
@ -137979,7 +137979,7 @@ exports[`Storyshots Views / Orders / Order details unfulfilled 1`] = `
Products were refunded by
</div>
<a
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id TimelineEventHeader-titleElement-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
Jane Doe
</a>
@ -138673,7 +138673,7 @@ exports[`Storyshots Views / Orders / Order draft default 1`] = `
class="MuiTableCell-root-id MuiTableCell-body-id OrderDraftDetailsProducts-colPrice-id"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
<div
class="Money-container-id"
@ -138815,7 +138815,7 @@ exports[`Storyshots Views / Orders / Order draft default 1`] = `
class="MuiTableCell-root-id MuiTableCell-body-id OrderDraftDetailsProducts-colPrice-id"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
<div
class="Money-container-id"
@ -138897,7 +138897,7 @@ exports[`Storyshots Views / Orders / Order draft default 1`] = `
>
<td>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
Add Discount
</a>
@ -139779,7 +139779,7 @@ exports[`Storyshots Views / Orders / Order draft no user permissions 1`] = `
class="MuiTableCell-root-id MuiTableCell-body-id OrderDraftDetailsProducts-colPrice-id"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
<div
class="Money-container-id"
@ -139921,7 +139921,7 @@ exports[`Storyshots Views / Orders / Order draft no user permissions 1`] = `
class="MuiTableCell-root-id MuiTableCell-body-id OrderDraftDetailsProducts-colPrice-id"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
<div
class="Money-container-id"
@ -140003,7 +140003,7 @@ exports[`Storyshots Views / Orders / Order draft no user permissions 1`] = `
>
<td>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
Add Discount
</a>
@ -185959,7 +185959,7 @@ exports[`Storyshots Views / Products / Create product variant no warehouses 1`]
>
There are no warehouses set up for your store. To add stock quantity to the variant please
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
configure a warehouse
</a>
@ -188685,7 +188685,7 @@ exports[`Storyshots Views / Products / Product edit form errors 1`] = `
tabindex="0"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
All Warehouses
<svg
@ -189373,11 +189373,12 @@ exports[`Storyshots Views / Products / Product edit form errors 1`] = `
>
Product Type
</div>
<div
class="MuiTypography-root-id MuiTypography-body1-id"
<a
class="Link-root-id Link-primary-id Link-noUnderline-id"
href="/product-types/pt76406"
>
Versatile
</div>
</a>
<div
class="CardSpacer-spacer-id"
/>
@ -190474,7 +190475,7 @@ exports[`Storyshots Views / Products / Product edit limits reached 1`] = `
tabindex="0"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
All Warehouses
<svg
@ -191162,11 +191163,12 @@ exports[`Storyshots Views / Products / Product edit limits reached 1`] = `
>
Product Type
</div>
<div
class="MuiTypography-root-id MuiTypography-body1-id"
<a
class="Link-root-id Link-primary-id Link-noUnderline-id"
href="/product-types/pt76406"
>
Versatile
</div>
</a>
<div
class="CardSpacer-spacer-id"
/>
@ -192180,7 +192182,7 @@ exports[`Storyshots Views / Products / Product edit no limits 1`] = `
tabindex="0"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
All Warehouses
<svg
@ -192868,11 +192870,12 @@ exports[`Storyshots Views / Products / Product edit no limits 1`] = `
>
Product Type
</div>
<div
class="MuiTypography-root-id MuiTypography-body1-id"
<a
class="Link-root-id Link-primary-id Link-noUnderline-id"
href="/product-types/pt76406"
>
Versatile
</div>
</a>
<div
class="CardSpacer-spacer-id"
/>
@ -193628,7 +193631,7 @@ exports[`Storyshots Views / Products / Product edit no product attributes 1`] =
tabindex="0"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
All Warehouses
<svg
@ -194316,11 +194319,12 @@ exports[`Storyshots Views / Products / Product edit no product attributes 1`] =
>
Product Type
</div>
<div
class="MuiTypography-root-id MuiTypography-body1-id"
<a
class="Link-root-id Link-primary-id Link-noUnderline-id"
href="/product-types/pt76406"
>
Versatile
</div>
</a>
<div
class="CardSpacer-spacer-id"
/>
@ -195896,11 +195900,12 @@ exports[`Storyshots Views / Products / Product edit no stock and no variants 1`]
>
Product Type
</div>
<div
class="MuiTypography-root-id MuiTypography-body1-id"
<a
class="Link-root-id Link-primary-id Link-noUnderline-id"
href="/product-types/pt76406"
>
Versatile
</div>
</a>
<div
class="CardSpacer-spacer-id"
/>
@ -197476,11 +197481,12 @@ exports[`Storyshots Views / Products / Product edit no stock, no variants and no
>
Product Type
</div>
<div
class="MuiTypography-root-id MuiTypography-body1-id"
<a
class="Link-root-id Link-primary-id Link-noUnderline-id"
href="/product-types/pt76406"
>
Versatile
</div>
</a>
<div
class="CardSpacer-spacer-id"
/>
@ -199056,11 +199062,12 @@ exports[`Storyshots Views / Products / Product edit no variants 1`] = `
>
Product Type
</div>
<div
class="MuiTypography-root-id MuiTypography-body1-id"
<a
class="Link-root-id Link-primary-id Link-noUnderline-id"
href="/product-types/pt76406"
>
Versatile
</div>
</a>
<div
class="CardSpacer-spacer-id"
/>
@ -200074,7 +200081,7 @@ exports[`Storyshots Views / Products / Product edit when data is fully loaded 1`
tabindex="0"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
All Warehouses
<svg
@ -200762,11 +200769,12 @@ exports[`Storyshots Views / Products / Product edit when data is fully loaded 1`
>
Product Type
</div>
<div
class="MuiTypography-root-id MuiTypography-body1-id"
<a
class="Link-root-id Link-primary-id Link-noUnderline-id"
href="/product-types/pt76406"
>
Versatile
</div>
</a>
<div
class="CardSpacer-spacer-id"
/>
@ -201885,11 +201893,12 @@ exports[`Storyshots Views / Products / Product edit when loading data 1`] = `
>
Product Type
</div>
<div
class="MuiTypography-root-id MuiTypography-body1-id"
<a
class="Link-root-id Link-primary-id Link-noUnderline-id Link-disabled-id"
href=""
>
...
</div>
</a>
<div
class="CardSpacer-spacer-id"
/>
@ -202760,7 +202769,7 @@ exports[`Storyshots Views / Products / Product edit when product has no images 1
tabindex="0"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
All Warehouses
<svg
@ -203448,11 +203457,12 @@ exports[`Storyshots Views / Products / Product edit when product has no images 1
>
Product Type
</div>
<div
class="MuiTypography-root-id MuiTypography-body1-id"
<a
class="Link-root-id Link-primary-id Link-noUnderline-id"
href="/product-types/pt76406"
>
Versatile
</div>
</a>
<div
class="CardSpacer-spacer-id"
/>
@ -205028,11 +205038,12 @@ exports[`Storyshots Views / Products / Product edit when product has no variants
>
Product Type
</div>
<div
class="MuiTypography-root-id MuiTypography-body1-id"
<a
class="Link-root-id Link-primary-id Link-noUnderline-id"
href="/product-types/pt76406"
>
Versatile
</div>
</a>
<div
class="CardSpacer-spacer-id"
/>
@ -206046,7 +206057,7 @@ exports[`Storyshots Views / Products / Product edit with channels 1`] = `
tabindex="0"
>
<a
class="MuiTypography-root-id Link-root-id Link-primary-id MuiTypography-body1-id"
class="MuiTypography-root-id Link-root-id Link-primary-id Link-noUnderline-id MuiTypography-body1-id"
>
All Warehouses
<svg
@ -206734,11 +206745,12 @@ exports[`Storyshots Views / Products / Product edit with channels 1`] = `
>
Product Type
</div>
<div
class="MuiTypography-root-id MuiTypography-body1-id"
<a
class="Link-root-id Link-primary-id Link-noUnderline-id"
href="/product-types/pt76406"
>
Versatile
</div>
</a>
<div
class="CardSpacer-spacer-id"
/>