Skip to content

Commit

Permalink
Merge pull request #97 from sima-land/96-product-carousel-arrows-bug
Browse files Browse the repository at this point in the history
#96  ProductCarousel: Стрелки каруселей выводятся когда товаров не хватает для прокрутки
  • Loading branch information
krutoo authored Mar 29, 2022
2 parents d9bf241 + b39fc9b commit 41c450d
Show file tree
Hide file tree
Showing 5 changed files with 90 additions and 265 deletions.
5 changes: 5 additions & 0 deletions src/desktop/components/modifiers/modifiers.scss
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
// внешний отступ вокруг каждого элемента группы
$gutter: 4px;

// размер квадратного модификатора
$minSize: 48px;

// максимальная высота блока с ограничением в 2 строки
$groupMaxHeight: ($minSize * 2) + ($gutter * 4);
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,8 @@ export const Primary = () => {
);
};

Primary.storyName = 'Простой пример';

export const Unavailable = () => {
const [wished, toggleWish] = useState<Record<number, boolean>>({});

Expand Down Expand Up @@ -166,6 +168,8 @@ export const Unavailable = () => {
);
};

Unavailable.storyName = 'Нет в наличии';

export const Adult = () => (
<DemoBlock>
<ProductCarousel withHoverCard>
Expand Down Expand Up @@ -205,6 +209,8 @@ export const Adult = () => (
</DemoBlock>
);

Adult.storyName = 'Товары для взрослых';

export const DeferredData = () => {
const [wished, toggleWish] = useState<Record<number, boolean>>({});
const [ready, setReady] = useState<boolean>(false);
Expand Down Expand Up @@ -276,3 +282,65 @@ export const DeferredData = () => {
</DemoBlock>
);
};

DeferredData.storyName = 'Тест: загрузка после mount';

export const FewItems = () => (
<DemoBlock>
<ProductCarousel withHoverCard>
{items.slice(0, 4).map((item, index) => (
<ProductInfo key={index}>
<Parts.Image
src={item.imageSrc}
href={item.url}
onClick={e => {
e.preventDefault();
action('Клик: ссылка на товар (изображение)')();
}}
>
<Parts.ImageButton
icon={NotFavSVG}
hint='Добавить в избранное'
data-testid='favorite-button'
/>
</Parts.Image>

{item.badges && (
<Parts.Badges lineLimit={1}>
{item.badges.map((badge, badgeIndex) => (
<Badge key={badgeIndex} {...badge} onClick={action('Клик: шильдик')} />
))}
</Parts.Badges>
)}

<Parts.Prices
price={item.price}
oldPrice={item.oldPrice}
currencyGrapheme={item.currencyGrapheme}
/>

<Parts.Title
href={item.url}
onClick={e => {
e.preventDefault();
action('Клик: ссылка на товар')();
}}
>
{item.name}
</Parts.Title>

<Parts.Footer>
<Parts.CartControl
stepText='По 5 шт'
markupText='Комплектация + 50 ₽ при покупке до 20 шт'
>
<Stepper defaultValue={3} size='s' style={{ width: '122px' }} />
</Parts.CartControl>
</Parts.Footer>
</ProductInfo>
))}
</ProductCarousel>
</DemoBlock>
);

FewItems.storyName = 'Мало товаров для прокрутки';
Loading

0 comments on commit 41c450d

Please sign in to comment.