enhnace items styles

This commit is contained in:
2025-12-09 13:48:41 +03:00
parent 09906dadd3
commit 148c1c3f40
5 changed files with 64 additions and 27 deletions

View File

@@ -0,0 +1,29 @@
interface StarIconType {
className?: string;
onClick?: () => void;
}
const StarIcon = ({ className, onClick }: StarIconType) => {
return (
<svg
width="17"
height="16"
viewBox="0 0 17 16"
fill="none"
xmlns="http://www.w3.org/2000/svg"
className={className}
onClick={onClick}
>
<path
d="M7.8951 0.97117C7.92797 0.904766 7.97874 0.84887 8.04169 0.809789C8.10464 0.770709 8.17726 0.75 8.25135 0.75C8.32544 0.75 8.39806 0.770709 8.46101 0.809789C8.52396 0.84887 8.57473 0.904766 8.6076 0.97117L10.3401 4.48042C10.4541 4.71151 10.6225 4.91144 10.8309 5.063C11.0393 5.21455 11.2814 5.31319 11.5363 5.35042L15.4109 5.91742C15.4843 5.92806 15.5532 5.95902 15.61 6.00682C15.6667 6.05462 15.7089 6.11733 15.7319 6.18788C15.7548 6.25842 15.7576 6.33397 15.7398 6.406C15.722 6.47802 15.6845 6.54363 15.6314 6.59542L12.8294 9.32392C12.6444 9.50388 12.506 9.72616 12.4262 9.97155C12.3464 10.2169 12.3274 10.4781 12.3711 10.7324L13.0326 14.5874C13.0456 14.6608 13.0376 14.7363 13.0097 14.8054C12.9818 14.8745 12.935 14.9344 12.8748 14.9782C12.8145 15.022 12.7431 15.0479 12.6687 15.0531C12.5944 15.0583 12.5201 15.0424 12.4543 15.0074L8.99085 13.1864C8.76268 13.0665 8.50876 13.0038 8.25097 13.0038C7.99319 13.0038 7.73927 13.0665 7.5111 13.1864L4.04835 15.0074C3.9826 15.0422 3.9084 15.0579 3.83419 15.0526C3.75998 15.0473 3.68874 15.0213 3.62857 14.9776C3.5684 14.9338 3.52172 14.8741 3.49384 14.8051C3.46596 14.7361 3.45799 14.6607 3.47085 14.5874L4.1316 10.7332C4.17538 10.4787 4.15653 10.2174 4.07669 9.9719C3.99685 9.72636 3.85841 9.50396 3.67335 9.32392L0.87135 6.59617C0.817795 6.54444 0.779845 6.47872 0.761822 6.40648C0.743799 6.33423 0.746427 6.25838 0.769409 6.18756C0.79239 6.11674 0.8348 6.0538 0.891807 6.00591C0.948815 5.95801 1.01813 5.92709 1.09185 5.91667L4.9656 5.35042C5.22083 5.31342 5.46324 5.21488 5.6719 5.06332C5.88057 4.91175 6.04923 4.7117 6.16335 4.48042L7.8951 0.97117Z"
fill="#FFC600"
stroke="#FFC600"
strokeWidth="1.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
</svg>
);
};
export default StarIcon;

View File

@@ -11,7 +11,7 @@
--secondary-background: #ffffff;
--secondary-foreground: #0a0a0a;
--primary-dark: #0a0a0a;
--primary: #FFC600;
--primary: #ffc600;
--primary2: #ffc600;
--secondary: #09237d;
--text-color: #fff;
@@ -26,9 +26,7 @@
);
/* Typography */
--font-roboto:
"Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
sans-serif;
--font-roboto: Outfit;
--font-weight-light: 300;
--font-weight-regular: 400;
--font-weight-medium: 500;

View File

@@ -299,10 +299,21 @@ export function CategoriesList({ categories }: CategoriesListProps) {
width: xs ? 80 : md ? 100 : 120,
display: "inline-block",
}}
>
<span
style={{
display: "inline-block",
borderBottom:
activeCategory === category.id && !isCategoriesSticky
? `2px solid ${colors.primary}`
: "none",
paddingBottom: activeCategory === category.id ? 8 : 0,
}}
>
{isRTL
? category.name || category.nameEN
: category.nameEN || category.name}
</span>
</ProText>
</Space>
</div>

View File

@@ -68,15 +68,14 @@
overflow: hidden;
}
.loyaltyButton {
/* .loyaltyButton {
position: absolute;
top: 1px;
left: 1px;
z-index: 99;
background-color: var(--primary) !important;
color: white !important;
border: none !important;
}
} */
:global(.ant-app-rtl) .loyaltyButton {
right: 1px !important;

View File

@@ -1,10 +1,9 @@
import styles from "pages/menu/components/MenuList/ProductCard.module.css";
import { Card, Button, Badge } from "antd";
import { Card, Badge } from "antd";
import ProText from "components/ProText.tsx";
import ArabicPrice from "components/ArabicPrice";
import { colors } from "ThemeConstants.ts";
import { ItemDescriptionIcons } from "components/ItemDescriptionIcons/ItemDescriptionIcons.tsx";
import { StarOutlined } from "@ant-design/icons";
import ImageWithFallback from "components/ImageWithFallback";
import { Product } from "utils/types/appTypes.ts";
import useBreakPoint from "hooks/useBreakPoint.ts";
@@ -12,13 +11,13 @@ import { useAppSelector } from "redux/hooks.ts";
import { useParams, useNavigate } from "react-router-dom";
import { ProductPreviewDialog } from "pages/menu/components/ProductPreviewDialog";
import { useState } from "react";
import StarIcon from "components/Icons/StarIcon";
type Props = {
item: Product;
};
export default function ProductCard({ item }: Props) {
const { isRTL } = useAppSelector((state) => state.locale);
const { themeName } = useAppSelector((state) => state.theme);
const { isMobile, isTablet, isDesktop } = useBreakPoint();
const { items } = useAppSelector((state) => state.order);
const { subdomain } = useParams();
@@ -86,15 +85,17 @@ export default function ProductCard({ item }: Props) {
gap: "0.5rem",
}}
>
<StarIcon />
<ProText
style={{
margin: 0,
display: "inline-block",
fontSize: "1rem",
fontWeight: 600,
letterSpacing: "-0.01em",
lineHeight: 1.2,
color: themeName === "dark" ? "#fff" : "#000044",
fontStyle: "SemiBold",
fontSize: "16px",
// leadingTrim: "NONE",
lineHeight: "140%",
letterSpacing: "0%",
}}
>
{isRTL ? item.name : item.nameOther}
@@ -111,10 +112,13 @@ export default function ProductCard({ item }: Props) {
textOverflow: "ellipsis",
wordWrap: "break-word",
overflowWrap: "break-word",
lineHeight: "1.5rem",
maxHeight: "3em",
fontSize: "1rem",
letterSpacing: "0.01em",
fontWeight: 500,
fontStyle: "Medium",
fontSize: "12px",
// leadingTrim: "NONE",
lineHeight: "140%",
letterSpacing: "0%",
}}
>
{item.description}
@@ -157,13 +161,9 @@ export default function ProductCard({ item }: Props) {
</div>
</div>
<div style={{ position: "relative" }}>
{item.isHasLoyalty && (
<Button
className={styles.loyaltyButton}
icon={<StarOutlined />}
style={{ width: 24, height: 24 }}
/>
)}
{/* {item.isHasLoyalty && (
<StarIcon className={styles.loyaltyButton} />
)} */}
<Badge
size="default"
offset={[-3, 3]}