Remove unused video file and update footer and lead form components for improved localization. Adjust contact links based on language selection and enhance legal link references in the application.

This commit is contained in:
2026-04-16 13:33:45 +05:00
parent 99114120b9
commit a92ce6a6ab
7 changed files with 46 additions and 27 deletions
Binary file not shown.
Binary file not shown.
+27 -22
View File
@@ -9,50 +9,55 @@ import YoutubeIcon from "@/components/icons/YoutubeIcon";
export function Footer() {
const { t, i18n } = useTranslation();
const showRuLegal = i18n.language.startsWith("ru");
const isEn = i18n.language.startsWith("en");
return (
<footer className="lg:px-5 lg:pb-5 md:max-lg:px-4 md:max-lg:pb-4 px-[10px] pb-[10px] space-y-6 mb-0">
<div className="max-md:flex-col lg:gap-[0.833vw] md:max-lg:gap-[1.042vw] flex gap-[1.111vw]">
<a
href={"tel:" + "8 800 770 00 67".replaceAll(" ", "")}
href={`tel:${t("footer.phoneTel")}`}
className="lg:p-[1.667vw] p-6 flex flex-col justify-between max-md:gap-y-10 bg-[linear-gradient(to_top_left,#7A7A7A50,transparent)] lg:rounded-[1.111vw] rounded-2xl lg:aspect-[696/248] lg:w-[48.333vw] md:max-lg:w-[47.656vw] hover:bg-[#37393B99] bg-transparent transition-colors"
>
<div className="text-[#7A7A7A] text1 font-medium">{t("footer.call")}</div>
<div className="lg:line2 md:max-lg:heading1 line2 flex items-center font-medium">
8 800 770 00 67
<div className="flex items-center font-medium lg:line2 md:max-lg:heading1 line2">
{t("footer.phoneDisplay")}
<div className="text-white lg:size-[5.556vw] size-[10vw]">
<ArrowMoreIcon />
</div>
</div>
</a>
<a
href={"mailto:" + "info@graff.tech"}
href={`mailto:${t("footer.emailAddress")}`}
className="lg:p-[1.667vw] p-6 flex flex-col justify-between max-md:gap-y-10 bg-[linear-gradient(to_top_left,#7A7A7A50,transparent)] lg:rounded-[1.111vw] rounded-2xl lg:aspect-[624/248] lg:w-[43.333vw] md:max-lg:w-[47.656vw] hover:bg-[#37393B99] bg-transparent transition-colors"
>
<div className="text-[#7A7A7A] text1 font-medium">{t("footer.write")}</div>
<div className="lg:line2 md:max-lg:heading1 line2 flex items-center font-medium">
info@graff.tech
<div className="flex items-center font-medium lg:line2 md:max-lg:heading1 line2">
{t("footer.emailAddress")}
<div className="text-white lg:size-[5.556vw] size-[10vw]">
<ArrowMoreIcon />
</div>
</div>
</a>
<div className="gap-y-2 justify-between md:gap-x-[1.042vw] gap-x-[1.111vw] md:flex-col flex">
<ContactLink href="https://t.me/graffestate">
<div className="text-white lg:size-[1.389vw] size-[5.556vw] group-hover:text-black">
<TelegramIcon />
</div>
</ContactLink>
<ContactLink href="https://rutube.ru/channel/25505040">
<div className="text-white lg:size-[1.389vw] size-[5.556vw] group-hover:text-black">
<RutubeIcon />
</div>
</ContactLink>
<ContactLink href="https://vk.com/graff.estate">
<div className="text-white lg:size-[1.389vw] size-[5.556vw] group-hover:text-black">
<VkIcon />
</div>
</ContactLink>
{!isEn ? (
<>
<ContactLink href="https://t.me/graffestate">
<div className="text-white lg:size-[1.389vw] size-[5.556vw] group-hover:text-black">
<TelegramIcon />
</div>
</ContactLink>
<ContactLink href="https://rutube.ru/channel/25505040">
<div className="text-white lg:size-[1.389vw] size-[5.556vw] group-hover:text-black">
<RutubeIcon />
</div>
</ContactLink>
<ContactLink href="https://vk.com/graff.estate">
<div className="text-white lg:size-[1.389vw] size-[5.556vw] group-hover:text-black">
<VkIcon />
</div>
</ContactLink>
</>
) : null}
<ContactLink href="https://www.youtube.com/@GRAFFtech">
<div className="text-white lg:size-[1.389vw] size-[5.556vw] group-hover:text-black">
<YoutubeIcon />
@@ -104,7 +109,7 @@ export function Footer() {
<a
target="_blank"
rel="noopener noreferrer"
href={"/policy"}
href={t("legalLinks.policy")}
className="text-[#37393B] text1 font-medium leading-[18.9px] lg:w-[48.193vw] w-fit"
>
{t("footer.privacy")}
+3 -3
View File
@@ -74,7 +74,7 @@ export function LeadForm({
</p>
) : null}
<div className="lg:space-y-[1.111vw] space-y-4">
<p className="heading2 font-medium">{t("leadForm.needTitle")}</p>
<p className="font-medium heading2">{t("leadForm.needTitle")}</p>
<CheckboxesGroup<LeadFormValues>
name="products"
options={projectOptions}
@@ -128,7 +128,7 @@ export function LeadForm({
<a
target="_blank"
rel="noopener noreferrer"
href="https://graff.estate/privacy-policy"
href={t("legalLinks.privacyConsent")}
className="underline"
>
{t("leadForm.consentLinkData")}
@@ -137,7 +137,7 @@ export function LeadForm({
<a
target="_blank"
rel="noopener noreferrer"
href="/policy"
href={t("legalLinks.policy")}
className="underline"
>
{t("leadForm.consentLinkPolicy")}
+1 -1
View File
@@ -41,7 +41,7 @@ export default function RequestForDemo() {
<video
poster="/img/showreel.png"
src="/videos/composition_c.mp4"
src="/videos/composition.mp4"
loop
autoPlay
muted
+8 -1
View File
@@ -4,9 +4,16 @@
"en": "EN",
"ariaLabel": "Language"
},
"legalLinks": {
"privacyConsent": "https://graffestate.ae/privacypolicy",
"policy": "https://graffestate.ae/terms-conditions"
},
"footer": {
"call": "Call",
"write": "Write",
"phoneDisplay": "+971 58 506 0097",
"phoneTel": "+971585060097",
"emailAddress": "sam@graff.tech",
"legalAddress": "Legal address:",
"addressLine1": "620063, Yekaterinburg,",
"addressLine2": "Bolshakova St., 66, apt. 6",
@@ -19,7 +26,7 @@
"ogrn": "PSRN 1246600010140",
"skolkovoAlt": "Skolkovo",
"privacy": "Privacy and personal data processing policy",
"copyright": "© 2026 GRAFF interactive. All rights reserved",
"copyright": "© 2026 GRAFF interactive FZCO. All rights reserved",
"site": "graff.tech"
},
"demos": {
+7
View File
@@ -4,9 +4,16 @@
"en": "EN",
"ariaLabel": "Язык"
},
"legalLinks": {
"privacyConsent": "https://graff.estate/privacy-policy",
"policy": "https://graff.estate/policy"
},
"footer": {
"call": "Позвонить",
"write": "Написать",
"phoneDisplay": "8 800 770 00 67",
"phoneTel": "+78007700067",
"emailAddress": "info@graff.tech",
"legalAddress": "Юридический адрес:",
"addressLine1": "620063, г. Екатеринбург,",
"addressLine2": "ул. Большакова, д. 66, кв. 6",