From 2eb7d428cb2d4dbfe8aa3f163f0a7c614b37e3bf Mon Sep 17 00:00:00 2001 From: Tornado Softwares Date: Sun, 16 Aug 2026 04:38:33 +0200 Subject: [PATCH 01/32] refactor(website): baseline setup From 9f090bacca598675449f9c573139bae929c98e55 Mon Sep 17 00:00:00 2001 From: Tornado Softwares Date: Sun, 16 Aug 2026 22:56:12 +0200 Subject: [PATCH 02/32] refactor(website): update design system integration and theme variables --- .../BlogPage/BlogCommentSection.tsx | 8 +- .../src/components/BlogPage/BlogNavList.tsx | 8 +- .../src/components/BlogPage/RelatedPosts.tsx | 8 +- .../CMSLandingPage/ComingSoonSection.tsx | 4 +- .../CMSLandingPage/ContentDeliverySection.tsx | 6 +- .../CMSLandingPage/FeaturesSection.tsx | 4 +- .../CMSLandingPage/FinalCTASection.tsx | 4 +- .../components/CMSLandingPage/HeroSection.tsx | 4 +- .../src/components/ChatBot/ChatBumble.tsx | 2 +- .../Editor/LongPressMessage/index.tsx | 2 +- .../src/components/DocPage/DocNavList.tsx | 8 +- .../DocPageNavigation/DocPageNavigation.tsx | 4 +- .../DocPage/DocumentationRender.tsx | 31 +- .../DocPage/FrameworkFilter/index.tsx | 2 +- .../src/components/DocPage/History/index.tsx | 4 +- .../DocPage/NavTitles/NavTitles.tsx | 6 +- .../LandingPage/AuditSection/index.tsx | 2 +- .../FeaturesSection/FrameworkSelector.tsx | 2 +- .../LandingPage/FeaturesSection/index.tsx | 2 +- .../LandingPage/HeroSection/TechLogos.tsx | 2 +- .../LandingPage/HeroSection/index.tsx | 86 +++--- .../ProductsSection/ProductSectionLayout.tsx | 2 +- .../ProductsSection/TMSSection/index.tsx | 4 +- .../TranslateSection/index.tsx | 4 +- .../src/components/LandingPage/index.tsx | 137 ++++----- .../LocaleSwitcher/LocaleSwitcher.tsx | 2 +- apps/website/src/components/Navbar/index.tsx | 10 +- .../src/components/NotFoundComponent.tsx | 6 +- .../Analyzer/Results/AnalyzerSiteResults.tsx | 4 +- .../Analyzer/Results/BundleContentField.tsx | 20 +- .../Analyzer/Results/FieldItem.tsx | 2 +- .../Analyzer/Results/RobotsSection.tsx | 2 +- .../Analyzer/Results/SitemapSection.tsx | 2 +- .../ScannerPage/AnalyzerResultsSection.tsx | 2 +- .../ScannerPage/RecursiveAuditResults.tsx | 10 +- .../ScannerPage/UrlDiscoveryList.tsx | 6 +- .../TMSLandingPage/ComparisonSection.tsx | 10 +- .../TMSLandingPage/FeaturesSection.tsx | 6 +- .../TMSLandingPage/FinalCTASection.tsx | 4 +- .../components/TMSLandingPage/HeroSection.tsx | 4 +- .../TMSLandingPage/PainPointsSection.tsx | 6 +- .../TranslationLandingPage/CTASection.tsx | 13 +- .../CommandsSection.tsx | 20 +- .../TranslationLandingPage/HeroSection.tsx | 34 +-- .../HowItWorksSection.tsx | 6 +- .../KeyPointsSection.tsx | 12 +- .../LocalVsServerSection.tsx | 26 +- .../ProvidersCarousel.tsx | 8 +- apps/website/src/globals.css | 41 ++- .../routes/{-$locale}/i18n-seo-scanner.tsx | 2 +- apps/website/src/routes/{-$locale}/index.tsx | 2 +- .../design-system/.storybook/preview.tsx | 4 +- packages/@intlayer/design-system/package.json | 8 +- .../src/components/Avatar/index.tsx | 2 +- .../src/components/Badge/index.tsx | 4 +- .../src/components/Breadcrumb/index.tsx | 4 +- .../src/components/Browser/Browser.tsx | 2 +- .../src/components/Button/Button.tsx | 29 +- .../CollapsibleTable/CollapsibleTable.tsx | 10 +- .../src/components/Container/index.tsx | 167 +++++------ .../DictionaryEditor/ItemLayout.tsx | 2 +- .../DictionaryFieldEditor/ContentEditor.tsx | 4 +- .../DictionaryDetailsForm.tsx | 4 +- .../VersionSwitcher.tsx | 2 +- .../src/components/Footer/index.tsx | 2 +- .../src/components/Input/Checkbox.tsx | 6 +- .../src/components/Input/Input.tsx | 2 +- .../src/components/Input/OTPInput.tsx | 2 +- .../KeyboardShortcut/KeyboardShortcut.tsx | 4 +- .../src/components/Link/Link.tsx | 14 +- .../LocaleSwitcherContent.tsx | 4 +- .../MarkDownRender/MarkDownIframe.tsx | 2 +- .../MarkDownRender/MarkDownRender.tsx | 14 +- .../MarkdownEditor/MarkdownEditor.tsx | 4 +- .../MarkdownEditor/generative/AISelector.tsx | 2 +- .../generative/AISelectorCommands.tsx | 4 +- .../generative/GenerativeMenuSwitch.tsx | 4 +- .../MarkdownEditor/markdown-editor.css | 32 +-- .../src/components/Navbar/MobileNavbar.tsx | 2 +- .../RightDrawer/RightDrawer.stories.tsx | 10 +- .../components/RightDrawer/RightDrawer.tsx | 2 +- .../src/components/Select/Multiselect.tsx | 4 +- .../src/components/Select/Select.tsx | 4 +- .../src/components/Steps/index.tsx | 6 +- .../SwitchSelector/SwitchSelector.tsx | 12 +- .../SwitchSelector/VerticalSwitchSelector.tsx | 12 +- .../design-system/src/components/Tab/Tab.tsx | 2 +- .../components/TabSelector/TabSelector.tsx | 10 +- .../src/components/Table/TableElements.tsx | 10 +- .../src/components/Tag/index.tsx | 2 +- .../src/components/Terminal/Terminal.tsx | 2 +- .../src/components/Toaster/Toast.tsx | 8 +- .../@intlayer/design-system/styles/fonts.css | 7 + .../design-system/styles/globals.css | 64 +++++ .../@intlayer/design-system/styles/themes.css | 91 ++++++ packages/@intlayer/design-system/tailwind.css | 269 ------------------ 96 files changed, 721 insertions(+), 740 deletions(-) create mode 100644 packages/@intlayer/design-system/styles/fonts.css create mode 100644 packages/@intlayer/design-system/styles/globals.css create mode 100644 packages/@intlayer/design-system/styles/themes.css delete mode 100644 packages/@intlayer/design-system/tailwind.css diff --git a/apps/website/src/components/BlogPage/BlogCommentSection.tsx b/apps/website/src/components/BlogPage/BlogCommentSection.tsx index ccd810a527..0778abd315 100644 --- a/apps/website/src/components/BlogPage/BlogCommentSection.tsx +++ b/apps/website/src/components/BlogPage/BlogCommentSection.tsx @@ -196,7 +196,9 @@ export const BlogCommentSection: FC = ({ return (
-

{content.comments}

+

+ {content.comments} +

{/* Approved comments list */} {comments.length === 0 && submitState !== 'success' ? ( @@ -216,7 +218,7 @@ export const BlogCommentSection: FC = ({ gap="sm" >
- + {comment.authorName}
-

+

{comment.content}

diff --git a/apps/website/src/components/BlogPage/BlogNavList.tsx b/apps/website/src/components/BlogPage/BlogNavList.tsx index a405b933c8..d1e28bc441 100644 --- a/apps/website/src/components/BlogPage/BlogNavList.tsx +++ b/apps/website/src/components/BlogPage/BlogNavList.tsx @@ -123,7 +123,7 @@ export const BlogNavListContent: FC = ({ label={key2} to={sectionDefault?.relativeUrl ?? ''} isActive={isSelfActive && !isSubSectionActive} - className="block w-full flex-row items-center text-nowrap p-2 text-left text-sm transition-colors hover:text-text" + className="block w-full flex-row items-center text-nowrap p-2 text-left text-sm transition-colors hover:text-foreground" > {section2Data?.title} @@ -136,7 +136,7 @@ export const BlogNavListContent: FC = ({
{subSections2 && Object.keys(subSections2).length > 0 && ( -
+
{Object.keys(subSections2).map((key3) => { const section3Data = subSections2[key3]; const slugs = @@ -157,7 +157,7 @@ export const BlogNavListContent: FC = ({ '' } isActive={isActive} - className="block w-full flex-row items-center text-nowrap p-2 text-left text-xs transition-colors hover:text-text" + className="block w-full flex-row items-center text-nowrap p-2 text-left text-xs transition-colors hover:text-foreground" > {section3Data.title} @@ -170,7 +170,7 @@ export const BlogNavListContent: FC = ({ ) : ( diff --git a/apps/website/src/components/BlogPage/RelatedPosts.tsx b/apps/website/src/components/BlogPage/RelatedPosts.tsx index 1363f38f2a..d49f90e93e 100644 --- a/apps/website/src/components/BlogPage/RelatedPosts.tsx +++ b/apps/website/src/components/BlogPage/RelatedPosts.tsx @@ -81,7 +81,7 @@ export const RelatedPosts: FC = ({ return (
-

+

{content.relatedPosts}

@@ -93,7 +93,7 @@ export const RelatedPosts: FC = ({ label={content.visitBlogTitle({ title: post.title })} className="group flex flex-col gap-2.5 py-5 no-underline sm:px-5 last:sm:pr-0 first:sm:pl-0" > -

+

{post.title}

{post.description && ( @@ -149,7 +149,7 @@ export const LastPosts: FC = ({ return (
-

+

{content.lastPosts}

@@ -161,7 +161,7 @@ export const LastPosts: FC = ({ label={content.visitBlogTitle({ title: post.title })} className="group flex flex-col gap-2.5 py-5 no-underline sm:px-5 last:sm:pr-0 first:sm:pl-0" > -

+

{post.title}

{post.description && ( diff --git a/apps/website/src/components/CMSLandingPage/ComingSoonSection.tsx b/apps/website/src/components/CMSLandingPage/ComingSoonSection.tsx index 8a7c8a4795..42fe920a87 100644 --- a/apps/website/src/components/CMSLandingPage/ComingSoonSection.tsx +++ b/apps/website/src/components/CMSLandingPage/ComingSoonSection.tsx @@ -17,7 +17,7 @@ export const ComingSoonSection: FC = () => { return (
-

+

{comingSoonTitle}

@@ -32,7 +32,7 @@ export const ComingSoonSection: FC = () => { {iconMap[feature.icon.value]}
-

+

{feature.title} {feature.badge && ( diff --git a/apps/website/src/components/CMSLandingPage/ContentDeliverySection.tsx b/apps/website/src/components/CMSLandingPage/ContentDeliverySection.tsx index f923ea4353..5af7f499a0 100644 --- a/apps/website/src/components/CMSLandingPage/ContentDeliverySection.tsx +++ b/apps/website/src/components/CMSLandingPage/ContentDeliverySection.tsx @@ -72,7 +72,7 @@ export const ContentDeliverySection: FC = () => { variants={headerVariants} className="mb-16 text-center" > -

+

{deliveryTitle}

@@ -108,11 +108,11 @@ export const ContentDeliverySection: FC = () => { )} -

+
{iconMap[mode.icon.value] ?? }
-

+

{mode.title}

diff --git a/apps/website/src/components/CMSLandingPage/FeaturesSection.tsx b/apps/website/src/components/CMSLandingPage/FeaturesSection.tsx index ad4b35ca4c..d29f2591f3 100644 --- a/apps/website/src/components/CMSLandingPage/FeaturesSection.tsx +++ b/apps/website/src/components/CMSLandingPage/FeaturesSection.tsx @@ -25,7 +25,7 @@ export const FeaturesSection: FC = () => { return (
-

+

{featuresTitle}

@@ -39,7 +39,7 @@ export const FeaturesSection: FC = () => { {iconMap[feature.icon.value]}
-

+

{feature.title} {feature.badge && ( diff --git a/apps/website/src/components/CMSLandingPage/FinalCTASection.tsx b/apps/website/src/components/CMSLandingPage/FinalCTASection.tsx index b2823eaaf2..b344b579ae 100644 --- a/apps/website/src/components/CMSLandingPage/FinalCTASection.tsx +++ b/apps/website/src/components/CMSLandingPage/FinalCTASection.tsx @@ -27,7 +27,7 @@ export const FinalCTASection: FC = () => {
-

+

{finalCtaTitle}

@@ -59,7 +59,7 @@ export const FinalCTASection: FC = () => { roundedSize="full" className="flex flex-row items-center justify-center gap-2" > - + {finalCtaPrimary} diff --git a/apps/website/src/components/CMSLandingPage/HeroSection.tsx b/apps/website/src/components/CMSLandingPage/HeroSection.tsx index 8313e51322..84c981fc0a 100644 --- a/apps/website/src/components/CMSLandingPage/HeroSection.tsx +++ b/apps/website/src/components/CMSLandingPage/HeroSection.tsx @@ -93,7 +93,7 @@ export const HeroSection: FC = () => { initial={{ opacity: 0, y: 40, filter: 'blur(10px)' }} animate={{ opacity: 1, y: 0, filter: 'blur(0px)' }} transition={{ duration: 0.7, ease: 'easeOut' }} - className="mb-6 font-extrabold text-5xl text-text leading-[1.1] sm:text-6xl md:text-7xl" + className="mb-6 font-extrabold text-5xl text-foreground leading-[1.1] sm:text-6xl md:text-7xl" > {heroTitle} @@ -156,7 +156,7 @@ export const HeroSection: FC = () => { {/* Screenshot Preview */} - {/* 3D WRAPPER + {/* 3D WRAPPER We add a wrapper div here to establish the "perspective". 'perspective-[1200px]' is a Tailwind arbitrary value (or standard CSS perspective: 1200px). This creates the "vanishing point". diff --git a/apps/website/src/components/ChatBot/ChatBumble.tsx b/apps/website/src/components/ChatBot/ChatBumble.tsx index 32a7330ae5..6130b104ec 100644 --- a/apps/website/src/components/ChatBot/ChatBumble.tsx +++ b/apps/website/src/components/ChatBot/ChatBumble.tsx @@ -21,7 +21,7 @@ export const ChatBumble: FC = ({

{ return (
diff --git a/apps/website/src/components/DocPage/DocNavList.tsx b/apps/website/src/components/DocPage/DocNavList.tsx index f7bce26183..16792b9bbc 100644 --- a/apps/website/src/components/DocPage/DocNavList.tsx +++ b/apps/website/src/components/DocPage/DocNavList.tsx @@ -337,7 +337,7 @@ export const DocNavListContent: FC = ({ label={key2} to={sectionDefault?.relativeUrl ?? ''} isActive={isSelfActive && !isSubSectionActive} - className="block w-full flex-row items-center text-nowrap p-2 text-left text-sm transition-colors hover:text-text" + className="block w-full flex-row items-center text-nowrap p-2 text-left text-sm transition-colors hover:text-foreground" frameworks={section2Data?.frameworks} > {section2Data?.title} @@ -351,7 +351,7 @@ export const DocNavListContent: FC = ({
{subSections2 && Object.keys(subSections2).length > 0 && ( -
+
{Object.keys(subSections2).map((key3) => { const section3Data = subSections2[key3]; const slugs = @@ -372,7 +372,7 @@ export const DocNavListContent: FC = ({ '' } isActive={isActive} - className="block w-full flex-row items-center text-nowrap p-2 text-left text-xs transition-colors hover:text-text" + className="block w-full flex-row items-center text-nowrap p-2 text-left text-xs transition-colors hover:text-foreground" frameworks={section3Data.frameworks} > {section3Data.title} @@ -386,7 +386,7 @@ export const DocNavListContent: FC = ({ ) : ( = ({ className="wrap-break-words ml-auto flex h-auto w-full max-w-1/2 flex-1 flex-row items-center justify-start gap-2 whitespace-normal text-nowrap rounded-lg px-2 py-5" > - {prevDoc?.title} + {prevDoc?.title} )} {nextDoc && ( @@ -42,7 +42,7 @@ export const DocPageNavigation: FC = ({ color="neutral" className="wrap-break-words ml-auto flex h-auto w-full max-w-1/2 flex-1 flex-row items-center justify-end gap-2 whitespace-normal text-nowrap rounded-lg px-2 py-5" > - {nextDoc?.title} + {nextDoc?.title} )} diff --git a/apps/website/src/components/DocPage/DocumentationRender.tsx b/apps/website/src/components/DocPage/DocumentationRender.tsx index 2a81def8bd..526535bb67 100644 --- a/apps/website/src/components/DocPage/DocumentationRender.tsx +++ b/apps/website/src/components/DocPage/DocumentationRender.tsx @@ -23,6 +23,35 @@ const I18nBenchmark = lazy(() => })) ); +const Accordion = ({ children, ...props }: AccordionProps) => ( + +
+ {children} +
+
+); + +const AccordionGroup = ({ + children, + ...props +}: HTMLAttributes) => ( + + {children} + +); + type DocumentationRenderProps = { children: string | ParsedMarkdown; /** @@ -43,7 +72,7 @@ export const DocumentationRender: FC = ({ const { locale } = useLocale(); return ( -
+
{codeStyleSheet && ( // biome-ignore lint/security/noDangerouslySetInnerHtml: generated by Shiki from a fixed pair of themes