diff --git a/app/[locale]/FeatureOne.tsx b/app/[locale]/FeatureOne.tsx index 8fdb3543..41041648 100644 --- a/app/[locale]/FeatureOne.tsx +++ b/app/[locale]/FeatureOne.tsx @@ -1,5 +1,55 @@ +import { useTranslations } from "next-intl"; + +import FeaturesList from "./components/FeaturesList"; +import Feature from "./components/Feature"; + +import { MixIcon, RocketIcon, PaperPlaneIcon } from "@radix-ui/react-icons"; + +const featureIconClassNames = "h-5 w-5 flex-none text-primary"; + const FeatureOne = () => { - return
FeatureOne
; + const t = useTranslations("home.features"); + + return ( +
+
+
+

+ {t("subText")} +

+

+ {t("title")} +

+

{t("description")}

+
+
+ + + + + + + + +
+
+
+ ); }; export default FeatureOne; diff --git a/app/[locale]/Header.tsx b/app/[locale]/Header.tsx index 6e1536aa..d33fb7a5 100644 --- a/app/[locale]/Header.tsx +++ b/app/[locale]/Header.tsx @@ -70,14 +70,14 @@ export default function Header() { darkModeSRText={tHeader("toggleTheme")} openMainMenuSRText={tNav("openMainMenu")} rockyLinuxSRText={tGlobal("name")} - downloadSRText={tHeader("download")} + downloadSRText={tGlobal("download")} translations={navigationTranslations} />
- +
diff --git a/app/[locale]/Hero.tsx b/app/[locale]/Hero.tsx index 6f2a88b7..441595d9 100644 --- a/app/[locale]/Hero.tsx +++ b/app/[locale]/Hero.tsx @@ -1,5 +1,50 @@ +import Image from "next/image"; +import { useTranslations } from "next-intl"; + +import { Button } from "@/components/ui/button"; + const Hero = () => { - return
Hero
; + const t = useTranslations("home.hero"); + const tGlobal = useTranslations("global"); + + return ( +
+
+
+
+

+ {t("title")} +

+

{t("description")}

+ +
+
+
+ Rocky Linux Screenshot +
+
+
+
+
+ ); }; export default Hero; diff --git a/app/[locale]/components/Feature.tsx b/app/[locale]/components/Feature.tsx new file mode 100644 index 00000000..8ac451b4 --- /dev/null +++ b/app/[locale]/components/Feature.tsx @@ -0,0 +1,21 @@ +import { ReactNode } from "react"; + +export interface FeatureProps { + description: string; + children?: ReactNode; +} + +const Feature = ({ description, children }: FeatureProps) => { + return ( +
+
+ {children} +
+
+

{description}

+
+
+ ); +}; + +export default Feature; diff --git a/app/[locale]/components/FeaturesList.tsx b/app/[locale]/components/FeaturesList.tsx new file mode 100644 index 00000000..8b2c6a87 --- /dev/null +++ b/app/[locale]/components/FeaturesList.tsx @@ -0,0 +1,11 @@ +import type { ReactNode } from "react"; + +const FeaturesList = ({ children }: { children: ReactNode }) => { + return ( +
+ {children} +
+ ); +}; + +export default FeaturesList; diff --git a/messages/en.json b/messages/en.json index ae0f63ed..e6587237 100644 --- a/messages/en.json +++ b/messages/en.json @@ -1,10 +1,10 @@ { "global": { - "name": "Rocky Linux" + "name": "Rocky Linux", + "download": "Download" }, "header": { "toggleTheme": "Toggle Theme", - "download": "Download", "nav": { "newsName": "News", "aboutName": "About", @@ -42,5 +42,29 @@ "donate": "Donate" } } + }, + "home": { + "hero": { + "title": "Enterprise Linux, the community way.", + "description": "Rocky Linux is an open-source enterprise operating system designed to be 100% bug-for-bug compatible with Red Hat Enterprise Linux®. It is under intensive development by the community.", + "migrate": "Migrate" + }, + "features": { + "title": "Rock solid, no matter the use-case.", + "subText": "STABLE, PRODUCTION READY LINUX", + "description": "Rocky Linux rebuilds sources directly from RHEL®, so you can bet your best dollar that you'll have a super stable experience, no matter the use-case.", + "productionReady": { + "name": "Production Ready", + "description": "Rocky Linux is enterprise-ready, providing solid stability with regular updates and a 10-year support lifecycle, all at no cost." + }, + "communitySupported": { + "name": "Community Supported", + "description": "The community, sponsors, and partners have invested with long-term commitments to ensure the project stays with the community." + }, + "easyMigration": { + "name": "Easy Migration", + "description": "Migrate from other Enterprise Linux distributions without sweating it. We provide an easy-to-use migration script, free of charge." + } + } } } diff --git a/public/images/hero-image.png b/public/images/home-hero.png similarity index 100% rename from public/images/hero-image.png rename to public/images/home-hero.png