diff --git a/app/globals.css b/app/globals.css index 50f61e3..42648a9 100644 --- a/app/globals.css +++ b/app/globals.css @@ -197,45 +197,6 @@ html[lang="ar"] { color: hsl(var(--foreground)); } -[data-sonner-toaster][data-x-position="center"] { - left: 0; - right: 0; - display: flex; - justify-content: center; - width: 100%; - transform: none; -} - -[data-sonner-toaster][data-x-position="center"] [data-sonner-toast] { - width: fit-content; - min-width: 0; - max-width: min(calc(100vw - 2rem), 32rem); - margin-inline: 0; -} - -@media (max-width: 600px) { - [data-sonner-toaster][data-x-position="center"] { - left: 0; - right: 0; - display: flex; - justify-content: center; - width: 100%; - transform: none; - } - - [data-sonner-toaster][data-x-position="center"] [data-sonner-toast] { - width: fit-content; - max-width: calc(100vw - 2rem); - margin-inline: 0; - } - - [data-sonner-toaster][dir="rtl"][data-x-position="center"] { - left: 0; - right: 0; - transform: none; - } -} - @layer utilities { .hero-noise { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.28'/%3E%3C/svg%3E"); diff --git a/components/layout/site-header.tsx b/components/layout/site-header.tsx index 4dcb998..e64c9e5 100644 --- a/components/layout/site-header.tsx +++ b/components/layout/site-header.tsx @@ -69,6 +69,7 @@ function NavLinks({ const t = useTranslations("navigation"); const currentPath = stripLocalePrefix(pathname); const isArabic = locale === "ar"; + const activeIndicatorLayoutId = mobile ? "mobile-site-nav-active-pill" : "site-nav-active-pill"; return ( <> @@ -124,7 +125,11 @@ function NavLinks({ onClick={onNavigate} > {isActive ? ( - + ) : null} {itemLabel} diff --git a/components/ui/sonner.tsx b/components/ui/sonner.tsx index 1bc75f8..eb90aa5 100644 --- a/components/ui/sonner.tsx +++ b/components/ui/sonner.tsx @@ -2,9 +2,11 @@ import { usePathname } from "next/navigation"; import { useTheme } from "next-themes"; -import { useEffect, useState } from "react"; +import { useEffect, useState, type CSSProperties } from "react"; import { Toaster as Sonner, type ToasterProps } from "sonner"; +import { cn } from "@/lib/utils"; + export function Toaster(props: ToasterProps) { const pathname = usePathname(); const { resolvedTheme = "light" } = useTheme(); @@ -15,15 +17,31 @@ export function Toaster(props: ToasterProps) { }, [pathname]); const isArabic = documentLang === "ar"; - const toastFontFamily = isArabic ? "var(--font-dubai), sans-serif" : "var(--font-museo), sans-serif"; + const toastFontClassName = isArabic ? "font-arabic text-right tracking-normal" : "font-latin text-left"; + const toasterStyle: CSSProperties & Record<"--width", string> = { + "--width": "max-content", + left: "50%", + right: "auto", + transform: "translateX(-50%)", + ...(props.style ?? {}), + }; return ( ); }