diff --git a/src/assets/lang/de/footer.json b/src/assets/lang/de/footer.json index d8cf62a07..c9ef1d77f 100644 --- a/src/assets/lang/de/footer.json +++ b/src/assets/lang/de/footer.json @@ -32,7 +32,8 @@ "business": "Internxt für Unternehmen", "family": "Internxt für Familien", "pricing": "Preise", - "mail": "Internxt Mail" + "mail": "Internxt Mail", + "photos": "Internxt Photos" }, "company": { "title": "Firma", diff --git a/src/assets/lang/de/navbar.json b/src/assets/lang/de/navbar.json index 2c027efaa..61ed7b066 100644 --- a/src/assets/lang/de/navbar.json +++ b/src/assets/lang/de/navbar.json @@ -25,7 +25,8 @@ "cleaner": "Internxt Cleaner", "meet": "Internxt Meet", "ai": "Internxt AI", - "mail": "Internxt Mail" + "mail": "Internxt Mail", + "photos": "Internxt Photos" }, "solutions": { "secureCloudStorage": "Sichere Cloud-Speicherung", diff --git a/src/assets/lang/en/footer.json b/src/assets/lang/en/footer.json index e26a38f60..30f3a274c 100644 --- a/src/assets/lang/en/footer.json +++ b/src/assets/lang/en/footer.json @@ -32,7 +32,8 @@ "business": "Internxt for Business", "family": "Internxt for Families", "pricing": "Cloud storage pricing", - "mail": "Internxt Mail" + "mail": "Internxt Mail", + "photos": "Internxt Photos" }, "company": { "title": "Company", diff --git a/src/assets/lang/en/navbar.json b/src/assets/lang/en/navbar.json index b0aed8e1b..da43d5957 100644 --- a/src/assets/lang/en/navbar.json +++ b/src/assets/lang/en/navbar.json @@ -25,7 +25,8 @@ "cleaner": "Internxt Cleaner", "meet": "Internxt Meet", "ai": "Internxt AI", - "mail": "Internxt Mail" + "mail": "Internxt Mail", + "photos": "Internxt Photos" }, "solutions": { "secureCloudStorage": "Secure Cloud Storage", diff --git a/src/assets/lang/es/footer.json b/src/assets/lang/es/footer.json index 8137f1843..2f69531e6 100644 --- a/src/assets/lang/es/footer.json +++ b/src/assets/lang/es/footer.json @@ -32,7 +32,8 @@ "business": "Internxt para Empresas", "family": "Internxt para Familias", "pricing": "Precios", - "mail": "Internxt Mail" + "mail": "Internxt Mail", + "photos": "Internxt Photos" }, "company": { "title": "Compañía", diff --git a/src/assets/lang/es/navbar.json b/src/assets/lang/es/navbar.json index 864c096fa..941e893f0 100644 --- a/src/assets/lang/es/navbar.json +++ b/src/assets/lang/es/navbar.json @@ -40,7 +40,8 @@ "cleaner": "Internxt Cleaner", "meet": "Internxt Meet", "ai": "Internxt AI", - "mail": "Internxt Mail" + "mail": "Internxt Mail", + "photos": "Internxt Photos" }, "Auth": { "SignUp": { diff --git a/src/assets/lang/fr/footer.json b/src/assets/lang/fr/footer.json index cb7e86e23..f085d387e 100644 --- a/src/assets/lang/fr/footer.json +++ b/src/assets/lang/fr/footer.json @@ -32,7 +32,8 @@ "business": "Internxt pour les Entreprises", "family": "Internxt pour les Familles", "pricing": "Tarifs", - "mail": "Internxt Mail" + "mail": "Internxt Mail", + "photos": "Internxt Photos" }, "company": { "title": "Entreprise", diff --git a/src/assets/lang/fr/navbar.json b/src/assets/lang/fr/navbar.json index a53f0662e..8b45a78ff 100644 --- a/src/assets/lang/fr/navbar.json +++ b/src/assets/lang/fr/navbar.json @@ -40,7 +40,8 @@ "cleaner": "Internxt Cleaner", "meet": "Internxt Meet", "ai": "Internxt AI", - "mail": "Internxt Mail" + "mail": "Internxt Mail", + "photos": "Internxt Photos" }, "Auth": { "SignUp": { diff --git a/src/assets/lang/it/footer.json b/src/assets/lang/it/footer.json index e0c1d65d0..3c7768688 100644 --- a/src/assets/lang/it/footer.json +++ b/src/assets/lang/it/footer.json @@ -32,7 +32,8 @@ "business": "Internxt per Aziende", "family": "Internxt per Famiglie", "pricing": "Prezzi", - "mail": "Internxt Mail" + "mail": "Internxt Mail", + "photos": "Internxt Photos" }, "company": { "title": "Azienda", diff --git a/src/assets/lang/it/navbar.json b/src/assets/lang/it/navbar.json index d62984a27..aec6431b9 100644 --- a/src/assets/lang/it/navbar.json +++ b/src/assets/lang/it/navbar.json @@ -41,7 +41,8 @@ "meet": "Internxt Meet", "ai": "Internxt AI", "certifications": "Certificazioni", - "mail": "Internxt Mail" + "mail": "Internxt Mail", + "photos": "Internxt Photos" }, "Auth": { "SignUp": { diff --git a/src/assets/lang/ru/footer.json b/src/assets/lang/ru/footer.json index 492eccd51..c8b7532a5 100644 --- a/src/assets/lang/ru/footer.json +++ b/src/assets/lang/ru/footer.json @@ -32,7 +32,8 @@ "business": "Internxt для бизнеса", "family": "Internxt для семьи", "pricing": "Цены", - "mail": "Internxt Mail" + "mail": "Internxt Mail", + "photos": "Internxt Photos" }, "company": { "title": "Компания", diff --git a/src/assets/lang/ru/navbar.json b/src/assets/lang/ru/navbar.json index e472eb66a..75d4d4b5c 100644 --- a/src/assets/lang/ru/navbar.json +++ b/src/assets/lang/ru/navbar.json @@ -41,7 +41,8 @@ "meet": "Internxt Meet", "ai": "Internxt AI", "certifications": "Сертификаты", - "mail": "Internxt Mail" + "mail": "Internxt Mail", + "photos": "Internxt Photos" }, "Auth": { "SignUp": { diff --git a/src/assets/lang/zh-tw/footer.json b/src/assets/lang/zh-tw/footer.json index 4b8b92b90..92983f5f0 100644 --- a/src/assets/lang/zh-tw/footer.json +++ b/src/assets/lang/zh-tw/footer.json @@ -32,7 +32,8 @@ "business": "Internxt 企業版", "family": "Internxt 家庭版", "pricing": "價格", - "mail": "Internxt Mail (加密電子郵件)" + "mail": "Internxt Mail (加密電子郵件)", + "photos": "Internxt Photos (加密照片)" }, "company": { "title": "公司", diff --git a/src/assets/lang/zh-tw/navbar.json b/src/assets/lang/zh-tw/navbar.json index 2963b48b2..2bb3ed73e 100644 --- a/src/assets/lang/zh-tw/navbar.json +++ b/src/assets/lang/zh-tw/navbar.json @@ -25,7 +25,8 @@ "cleaner": "Internxt Cleaner", "meet": "Internxt Meet", "ai": "Internxt AI", - "mail": "Internxt Mail" + "mail": "Internxt Mail", + "photos": "Internxt Photos" }, "ourValues": { "privacy": "隱私", diff --git a/src/assets/lang/zh/footer.json b/src/assets/lang/zh/footer.json index 6b8fe7969..528d4a645 100644 --- a/src/assets/lang/zh/footer.json +++ b/src/assets/lang/zh/footer.json @@ -32,7 +32,8 @@ "business": "Internxt 商业版", "family": "Internxt 家庭版", "pricing": "价格", - "mail": "Internxt Mail (加密电子邮件)" + "mail": "Internxt Mail (加密电子邮件)", + "photos": "Internxt Photos (加密照片)" }, "company": { "title": "公司", diff --git a/src/assets/lang/zh/navbar.json b/src/assets/lang/zh/navbar.json index dfc68f78a..bb12ff5ca 100644 --- a/src/assets/lang/zh/navbar.json +++ b/src/assets/lang/zh/navbar.json @@ -25,7 +25,8 @@ "cleaner": "Internxt Cleaner", "meet": "Internxt Meet", "ai": "Internxt AI", - "mail": "Internxt Mail" + "mail": "Internxt Mail", + "photos": "Internxt Photos" }, "solutions": { "secureCloudStorage": "安全云存储", diff --git a/src/assets/types/layout/footer.ts b/src/assets/types/layout/footer.ts index e8989e82d..cec59a216 100644 --- a/src/assets/types/layout/footer.ts +++ b/src/assets/types/layout/footer.ts @@ -74,6 +74,7 @@ export interface Products { family: string; pricing: string; mail: string; + photos: string; } export interface Resources { diff --git a/src/assets/types/layout/navbar.ts b/src/assets/types/layout/navbar.ts index c4e161681..bad27506f 100644 --- a/src/assets/types/layout/navbar.ts +++ b/src/assets/types/layout/navbar.ts @@ -51,6 +51,7 @@ export interface Products { meet: string; ai: string; mail: string; + photos: string; } export interface Auth { diff --git a/src/components/layout/components/navbar/ItemsNavigation.tsx b/src/components/layout/components/navbar/ItemsNavigation.tsx index f2176001c..8211db98c 100644 --- a/src/components/layout/components/navbar/ItemsNavigation.tsx +++ b/src/components/layout/components/navbar/ItemsNavigation.tsx @@ -131,7 +131,8 @@ export const ItemsNavigation = ({ { href: '/vpn', text: textContent.products.vpn }, { href: '/cleaner', text: textContent.products.cleaner }, { href: '/meet', text: textContent.products.meet }, - { href: '/mail', text: textContent.products.mail } + { href: '/mail', text: textContent.products.mail }, + { href: '/photos', text: textContent.products.photos } ]} darkMode={darkMode} lang={lang} diff --git a/src/components/layout/footers/Footer.tsx b/src/components/layout/footers/Footer.tsx index e620ec681..e1f680c74 100644 --- a/src/components/layout/footers/Footer.tsx +++ b/src/components/layout/footers/Footer.tsx @@ -278,24 +278,46 @@ export default function Footer({ -
{textContent.FooterSection.sections.products.objStorage}
+ {textContent.FooterSection.sections.products.mail} + + {textContent.FooterSection.new} + - {textContent.FooterSection.sections.products.mail} + {textContent.FooterSection.sections.products.photos} + + {textContent.FooterSection.new} + - + +
{textContent.FooterSection.sections.products.objStorage}
+ + {textContent.FooterSection.sections.products.pricing} @@ -987,6 +1009,14 @@ export default function Footer({ {textContent.FooterSection.sections.products.ai} + + {textContent.FooterSection.sections.products.mail} + + + + {textContent.FooterSection.sections.products.photos} + + - - {textContent.FooterSection.sections.products.mail} - - {textContent.FooterSection.sections.products.pricing} diff --git a/src/components/layout/navbars/Navbar.tsx b/src/components/layout/navbars/Navbar.tsx index a46f672ce..e39ee8e38 100644 --- a/src/components/layout/navbars/Navbar.tsx +++ b/src/components/layout/navbars/Navbar.tsx @@ -295,6 +295,12 @@ export default function Navbar(props: Readonly) {

{props.textContent.products.meet}

+ + +

{props.textContent.products.mail}

+ + +

{props.textContent.products.photos}

{ +const CoreFeaturesSection = ({ textContent, needsDivider }: CoreFeaturesSectionProps): JSX.Element => { const [activeIndex, setActiveIndex] = useState(0); const scrollContainerRef = useRef(null); const [isMobile, setIsMobile] = useState(false); @@ -37,12 +38,15 @@ const CoreFeaturesSection = ({ textContent }: CoreFeaturesSectionProps): JSX.Ele }; return ( -
-
-

{textContent.title}

-

{textContent.description}

-
-
+
+ {needsDivider && ( +
+ )} +
+

{textContent.title}

+

{textContent.description}

+
+
{textContent.accordionCards.titles[activeIndex]}
diff --git a/src/components/photos/HeroSection.tsx b/src/components/photos/HeroSection.tsx index caadb1e0c..c7db78339 100644 --- a/src/components/photos/HeroSection.tsx +++ b/src/components/photos/HeroSection.tsx @@ -7,11 +7,11 @@ export const HeroSection = ({ textContent }) => { return (
{

{textContent.label}

-

+

{textContent.title}

{textContent.description}

-
+
{
-

+

{textContent.garantee}

-
+
Internxt Drive panel interface): JSX.Element { const cardTitles = textContent?.scrollableSection.titles ?? []; const cardDescriptions = textContent?.scrollableSection.descriptions ?? []; @@ -88,7 +86,7 @@ export default function HorizontalScrollableSectionWithPhotosSection({ return (
diff --git a/src/components/photos/PhotoSection.tsx b/src/components/photos/PhotoSection.tsx index 55f41cf80..911f608dd 100644 --- a/src/components/photos/PhotoSection.tsx +++ b/src/components/photos/PhotoSection.tsx @@ -10,11 +10,11 @@ interface PhotoSectionProps { const PhotoSection = ({ textContent }: PhotoSectionProps): JSX.Element => { return ( -
-

{textContent.title}

+
+

{textContent.title}

-
+
{textContent.description.map((desc) => (

{desc} @@ -22,12 +22,12 @@ const PhotoSection = ({ textContent }: PhotoSectionProps): JSX.Element => { ))}

-
+
Internxt Drive panel interface diff --git a/src/components/shared/sections/FaqSection.tsx b/src/components/shared/sections/FaqSection.tsx index 6d7284bf2..4e52f14dc 100644 --- a/src/components/shared/sections/FaqSection.tsx +++ b/src/components/shared/sections/FaqSection.tsx @@ -31,7 +31,7 @@ const FAQSection = ({ >
diff --git a/src/components/shared/sections/RelationalLinks.tsx b/src/components/shared/sections/RelationalLinks.tsx index 5fb97f850..dc73b607f 100644 --- a/src/components/shared/sections/RelationalLinks.tsx +++ b/src/components/shared/sections/RelationalLinks.tsx @@ -105,7 +105,7 @@ const RelationalLinks = ({ textContent }: RelationalLinksProps) => { if (cards.length === 0) return null; return ( -
+

{textContent.title} diff --git a/src/pages/photos.tsx b/src/pages/photos.tsx index 2eba2e269..0934576d4 100644 --- a/src/pages/photos.tsx +++ b/src/pages/photos.tsx @@ -103,7 +103,7 @@ const Photo = ({ hideFreeCard /> - + -

-
-
-