Polish mobile navbar and hero actions
هذا الالتزام موجود في:
@@ -870,6 +870,11 @@
|
|||||||
font-size: clamp(28px, 10vw, 42px);
|
font-size: clamp(28px, 10vw, 42px);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[dir="rtl"] .contact-title {
|
||||||
|
font-size: clamp(24px, 8.4vw, 34px);
|
||||||
|
line-height: 1.18;
|
||||||
|
}
|
||||||
|
|
||||||
.contact-card {
|
.contact-card {
|
||||||
min-height: 126px;
|
min-height: 126px;
|
||||||
padding: 1.25rem 1rem;
|
padding: 1.25rem 1rem;
|
||||||
@@ -879,6 +884,7 @@
|
|||||||
display: grid;
|
display: grid;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
justify-content: stretch;
|
justify-content: stretch;
|
||||||
|
justify-items: center;
|
||||||
gap: 0.65rem;
|
gap: 0.65rem;
|
||||||
margin-top: 1.5rem;
|
margin-top: 1.5rem;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
@@ -886,7 +892,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.hero-action-link {
|
.hero-action-link {
|
||||||
width: 100%;
|
width: min(100%, 18rem);
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
min-height: 46px;
|
min-height: 46px;
|
||||||
padding: 0.72rem 1rem;
|
padding: 0.72rem 1rem;
|
||||||
@@ -943,6 +949,10 @@
|
|||||||
font-size: clamp(26px, 9.5vw, 36px);
|
font-size: clamp(26px, 9.5vw, 36px);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[dir="rtl"] .contact-title {
|
||||||
|
font-size: clamp(22px, 8vw, 30px);
|
||||||
|
}
|
||||||
|
|
||||||
.hero-action-group {
|
.hero-action-group {
|
||||||
gap: 0.6rem;
|
gap: 0.6rem;
|
||||||
}
|
}
|
||||||
@@ -952,7 +962,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.hero-action-group > * {
|
.hero-action-group > * {
|
||||||
width: 100%;
|
width: min(100%, 17rem);
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,9 +13,10 @@ type MobileNavProps = {
|
|||||||
dir: "rtl" | "ltr";
|
dir: "rtl" | "ltr";
|
||||||
openLabel: string;
|
openLabel: string;
|
||||||
closeLabel: string;
|
closeLabel: string;
|
||||||
|
className?: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
export function MobileNav({ items, dir, openLabel, closeLabel }: MobileNavProps) {
|
export function MobileNav({ items, dir, openLabel, closeLabel, className }: MobileNavProps) {
|
||||||
const [open, setOpen] = useState(false);
|
const [open, setOpen] = useState(false);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -57,7 +58,7 @@ export function MobileNav({ items, dir, openLabel, closeLabel }: MobileNavProps)
|
|||||||
const label = open ? closeLabel : openLabel;
|
const label = open ? closeLabel : openLabel;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="md:hidden">
|
<div className={className ? `md:hidden ${className}` : "md:hidden"}>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
className="theme-toggle mobile-menu-toggle"
|
className="theme-toggle mobile-menu-toggle"
|
||||||
|
|||||||
@@ -61,17 +61,22 @@ export function Navbar({ language }: { language: Language }) {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="navbar-mobile-controls flex items-center gap-2 md:hidden">
|
<div className={`navbar-mobile-controls flex items-center gap-2 md:hidden ${dir === "rtl" ? "flex-row-reverse" : ""}`}>
|
||||||
<MobileNav
|
<MobileNav
|
||||||
items={navItems}
|
items={navItems}
|
||||||
dir={dir}
|
dir={dir}
|
||||||
|
className="order-3"
|
||||||
openLabel={language === "ar" ? "فتح القائمة" : "Open menu"}
|
openLabel={language === "ar" ? "فتح القائمة" : "Open menu"}
|
||||||
closeLabel={language === "ar" ? "إغلاق القائمة" : "Close menu"}
|
closeLabel={language === "ar" ? "إغلاق القائمة" : "Close menu"}
|
||||||
/>
|
/>
|
||||||
|
<div className="order-2">
|
||||||
<LanguageToggle language={language} />
|
<LanguageToggle language={language} />
|
||||||
|
</div>
|
||||||
|
<div className="order-1">
|
||||||
<ThemeToggle language={language} />
|
<ThemeToggle language={language} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</header>
|
</header>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
المرجع في مشكلة جديدة
حظر مستخدم