Ver Fonte

feat: 修改应用名称

F-DEV há 4 horas atrás
pai
commit
ebc89818e1

+ 4 - 4
src/assets/md/privacyPolicy_en-US.md

@@ -10,7 +10,7 @@ FlashLink VPN is committed to protecting your privacy. This Privacy Policy expla
 ### 1. General Information
 ### 1. General Information
 
 
 In this Privacy Policy document, we address the information collected and processed during the use of the FlashLink VPN application and related services.
 In this Privacy Policy document, we address the information collected and processed during the use of the FlashLink VPN application and related services.
-If you have questions or concerns about the use of your personal data, or for privacy-specific inquiries, please contact us at <support@flashlinkvpn.com>.
+If you have questions or concerns about the use of your personal data, or for privacy-specific inquiries, please contact us at <support@flashlink.me>.
 This Privacy Policy applies globally, though specific provisions may vary to comply with local regulations in your jurisdiction.
 This Privacy Policy applies globally, though specific provisions may vary to comply with local regulations in your jurisdiction.
 
 
 ### 2. About the Collected Data and Its Use
 ### 2. About the Collected Data and Its Use
@@ -31,7 +31,7 @@ We implement robust technical and organizational measures to protect the data co
 
 
 1. **Data Storage**: The minimal data we collect is stored securely and retained only for as long as necessary to provide and improve our services.
 1. **Data Storage**: The minimal data we collect is stored securely and retained only for as long as necessary to provide and improve our services.
 2. **Encryption**: All traffic between your device and our VPN servers is encrypted to protect your online activities from prying eyes.
 2. **Encryption**: All traffic between your device and our VPN servers is encrypted to protect your online activities from prying eyes.
-3. **Data Deletion**: You can request the deletion of your account and associated personal data by contacting our support team via <support@flashlinkvpn.com>. We will respond to and process your request within 30 days.
+3. **Data Deletion**: You can request the deletion of your account and associated personal data by contacting our support team via <support@flashlink.me>. We will respond to and process your request within 30 days.
 
 
 ### 4. Legal Bases for Data Processing
 ### 4. Legal Bases for Data Processing
 
 
@@ -61,7 +61,7 @@ As a data subject, you have the right to:
 4. Withdraw consent where processing is based on consent.
 4. Withdraw consent where processing is based on consent.
 5. Lodge a complaint with a data protection authority.
 5. Lodge a complaint with a data protection authority.
 
 
-To exercise these rights, please contact our Support Team via <support@flashlinkvpn.com>.
+To exercise these rights, please contact our Support Team via <support@flashlink.me>.
 
 
 ### 7. Minors' Data Protection
 ### 7. Minors' Data Protection
 
 
@@ -73,4 +73,4 @@ We may update this Privacy Policy to reflect changes in our services (such as th
 
 
 ### 9. Contact Information
 ### 9. Contact Information
 
 
-If you have any questions about this Privacy Policy, please contact us at <support@flashlinkvpn.com>.
+If you have any questions about this Privacy Policy, please contact us at <support@flashlink.me>.

+ 1 - 1
src/assets/md/termsOfService_en-US.md

@@ -70,4 +70,4 @@ We may update this Agreement from time to time. The most current version will al
 
 
 ## 11. Contact Information
 ## 11. Contact Information
 
 
-If you have any questions regarding this Agreement, please contact us at <support@flashlinkvpn.com>.
+If you have any questions regarding this Agreement, please contact us at <support@flashlink.me>.

+ 23 - 16
src/components/Footerbar/index.tsx

@@ -12,15 +12,11 @@ const Footerbar = memo(() => {
     const { t } = useTranslation();
     const { t } = useTranslation();
     const navigate = useNavigate();
     const navigate = useNavigate();
 
 
-    const handleLinkClick = (path: string) => {
-        navigate(path);
-    };
-
-    const navLinks = [
+    const navLinks: { path: string; labelKey: string; href?: string }[] = [
         { path: '/privacy', labelKey: 'components.footerbar.privacyPolicy' },
         { path: '/privacy', labelKey: 'components.footerbar.privacyPolicy' },
         { path: '/terms-of-service', labelKey: 'components.footerbar.termsOfService' },
         { path: '/terms-of-service', labelKey: 'components.footerbar.termsOfService' },
-        { path: '/contact', labelKey: 'components.footerbar.contact' },
-    ] as const;
+        { path: '/contact', labelKey: 'components.footerbar.contact', href: 'mailto:support@flashlink.me' },
+    ];
 
 
     return (
     return (
         <footer className="bg-black border-t border-white/10">
         <footer className="bg-black border-t border-white/10">
@@ -43,15 +39,25 @@ const Footerbar = memo(() => {
 
 
                     {/* Navigation Links */}
                     {/* Navigation Links */}
                     <nav className="flex items-center justify-center gap-8">
                     <nav className="flex items-center justify-center gap-8">
-                        {navLinks.map(({ path, labelKey }) => (
-                            <button
-                                key={path}
-                                onClick={() => handleLinkClick(path)}
-                                className="text-sm font-normal leading-[1.43] text-white/60 hover:text-white transition-colors border-none bg-transparent whitespace-nowrap"
-                            >
-                                {t(labelKey)}
-                            </button>
-                        ))}
+                        {navLinks.map(({ path, labelKey, href }) =>
+                            href ? (
+                                <a
+                                    key={path}
+                                    href={href}
+                                    className="text-sm font-normal leading-[1.43] text-white/60 hover:text-white transition-colors"
+                                >
+                                    {t(labelKey)}
+                                </a>
+                            ) : (
+                                <button
+                                    key={path}
+                                    onClick={() => navigate(path)}
+                                    className="text-sm font-normal leading-[1.43] text-white/60 hover:text-white transition-colors border-none bg-transparent whitespace-nowrap"
+                                >
+                                    {t(labelKey)}
+                                </button>
+                            )
+                        )}
                     </nav>
                     </nav>
                 </div>
                 </div>
             </div>
             </div>
@@ -62,3 +68,4 @@ const Footerbar = memo(() => {
 Footerbar.displayName = 'Footerbar';
 Footerbar.displayName = 'Footerbar';
 
 
 export default Footerbar;
 export default Footerbar;
+

+ 5 - 5
src/components/Topbar/index.tsx

@@ -8,8 +8,8 @@ import { useTranslation } from 'react-i18next';
 import chevronDownIcon from '@/assets/iconify/single-color/chevron-down.svg';
 import chevronDownIcon from '@/assets/iconify/single-color/chevron-down.svg';
 import closeIcon from '@/assets/iconify/single-color/close.svg';
 import closeIcon from '@/assets/iconify/single-color/close.svg';
 import menuIcon from '@/assets/iconify/single-color/menu.svg';
 import menuIcon from '@/assets/iconify/single-color/menu.svg';
-import flashLinkLogoIcon from '@/assets/images/home/flash-link-logo-icon.png'
-import { LanguageSwitch } from '@/components/LanguageSwitch';
+import flashLinkLogoIcon from '@/assets/images/home/flash-link-logo-icon.png';
+// import { LanguageSwitch } from '@/components/LanguageSwitch';
 import { useAuth } from '@/hooks/useAuth';
 import { useAuth } from '@/hooks/useAuth';
 import { useLoginDialog } from '@/hooks/useLoginDialog';
 import { useLoginDialog } from '@/hooks/useLoginDialog';
 import { useResponsive } from '@/hooks/useSize';
 import { useResponsive } from '@/hooks/useSize';
@@ -115,7 +115,7 @@ const Topbar = memo(() => {
                             </div>
                             </div>
 
 
                             <div ref={languageButtonRef}>
                             <div ref={languageButtonRef}>
-                                <LanguageSwitch className="px-2.5 h-10 flex items-center justify-center transition-colors text-base leading-6 border-none bg-transparent font-normal text-white/80 hover:text-white whitespace-nowrap cursor-pointer" />
+                                {/* <LanguageSwitch className="px-2.5 h-10 flex items-center justify-center transition-colors text-base leading-6 border-none bg-transparent font-normal text-white/80 hover:text-white whitespace-nowrap cursor-pointer" /> */}
                             </div>
                             </div>
 
 
                             {!isLoggedIn && (
                             {!isLoggedIn && (
@@ -123,7 +123,7 @@ const Topbar = memo(() => {
                                     ref={loginButtonRef}
                                     ref={loginButtonRef}
                                     type="button"
                                     type="button"
                                     onClick={() => openLoginDialog()}
                                     onClick={() => openLoginDialog()}
-                                    className="ms-2 px-4 h-10 rounded-full bg-[#0FA4E9] text-white text-base font-normal border-none hover:bg-[#0d93d1] transition-colors whitespace-nowrap"
+                                    className="ms-2 px-4 h-10 rounded-full bg-[#0FA4E9] text-white text-base font-normal border-none hover:bg-[#0d93d1] transition-colors whitespace-nowrap hidden"
                                 >
                                 >
                                     {t('components.topbar.login')}
                                     {t('components.topbar.login')}
                                 </button>
                                 </button>
@@ -178,7 +178,7 @@ const Topbar = memo(() => {
                                     </button>
                                     </button>
                                 );
                                 );
                             })}
                             })}
-                            <LanguageSwitch className="text-base leading-[1.5] font-normal text-[#999] hover:text-white transition-colors border-none bg-transparent whitespace-nowrap cursor-pointer" />
+                            {/* <LanguageSwitch className="text-base leading-[1.5] font-normal text-[#999] hover:text-white transition-colors border-none bg-transparent whitespace-nowrap cursor-pointer" /> */}
                             {!isLoggedIn && (
                             {!isLoggedIn && (
                                 <button
                                 <button
                                     type="button"
                                     type="button"

+ 3 - 3
src/locales/en-US/pages.ts

@@ -39,7 +39,7 @@ export default {
         slogan: {
         slogan: {
             title: 'VPN for Everyday Use',
             title: 'VPN for Everyday Use',
             description:
             description:
-                'Connect in 2 seconds, enjoy 3 days free trial, and experience high-speed, low-latency internet access. FlashLinkVPN helps you access global content with premium quality and best-in-class privacy protection.',
+                'Connect in 2 seconds, enjoy 3 days free trial, and experience high-speed, low-latency internet access. FlashLink VPN helps you access global content with premium quality and best-in-class privacy protection.',
         },
         },
         choosePlatform: {
         choosePlatform: {
             title: 'Choose your FlashLink VPN',
             title: 'Choose your FlashLink VPN',
@@ -53,12 +53,12 @@ export default {
             speed: {
             speed: {
                 title: 'High-quality low-latency dedicated line',
                 title: 'High-quality low-latency dedicated line',
                 description:
                 description:
-                    'FlashLinkVPN uses high-quality proprietary lines, resulting in shorter routing paths, faster and more stable internet speeds, with no congestion or packet loss during peak hours.',
+                    'FlashLink VPN uses high-quality proprietary lines, resulting in shorter routing paths, faster and more stable internet speeds, with no congestion or packet loss during peak hours.',
             },
             },
             privacy: {
             privacy: {
                 title: 'No Record VPN',
                 title: 'No Record VPN',
                 description:
                 description:
-                    'FlashLinkVPN never collects your browsing history, downloads, or any other sensitive data',
+                    'FlashLink VPN never collects your browsing history, downloads, or any other sensitive data',
             },
             },
             fixedIp: {
             fixedIp: {
                 title: 'Provide fixed IP functionality',
                 title: 'Provide fixed IP functionality',

+ 3 - 3
src/locales/fa-IR/pages.ts

@@ -39,7 +39,7 @@ export default {
         slogan: {
         slogan: {
             title: 'VPN برای استفاده روزانه',
             title: 'VPN برای استفاده روزانه',
             description:
             description:
-                'در ۲ ثانیه متصل شوید، ۳ روز آزمایش رایگان و دسترسی اینترنتی پرسرعت و کم‌تأخیر را تجربه کنید. FlashLinkVPN به شما کمک می‌کند با کیفیت برتر و بهترین حفاظت حریم خصوصی به محتوای جهانی دسترسی پیدا کنید.',
+                'در ۲ ثانیه متصل شوید، ۳ روز آزمایش رایگان و دسترسی اینترنتی پرسرعت و کم‌تأخیر را تجربه کنید. FlashLink VPN به شما کمک می‌کند با کیفیت برتر و بهترین حفاظت حریم خصوصی به محتوای جهانی دسترسی پیدا کنید.',
         },
         },
         choosePlatform: {
         choosePlatform: {
             title: 'FlashLink VPN خود را انتخاب کنید',
             title: 'FlashLink VPN خود را انتخاب کنید',
@@ -53,12 +53,12 @@ export default {
             speed: {
             speed: {
                 title: 'خط اختصاصی با کیفیت بالا و تأخیر کم',
                 title: 'خط اختصاصی با کیفیت بالا و تأخیر کم',
                 description:
                 description:
-                    'FlashLinkVPN از خطوط اختصاصی با کیفیت بالا استفاده می‌کند که مسیر کوتاه‌تر، سرعت اینترنت سریع‌تر و پایدارتر و بدون ازدحام یا از دست رفتن بسته در ساعات اوج مصرف را فراهم می‌کند.',
+                    'FlashLink VPN از خطوط اختصاصی با کیفیت بالا استفاده می‌کند که مسیر کوتاه‌تر، سرعت اینترنت سریع‌تر و پایدارتر و بدون ازدحام یا از دست رفتن بسته در ساعات اوج مصرف را فراهم می‌کند.',
             },
             },
             privacy: {
             privacy: {
                 title: 'VPN بدون ثبت سوابق',
                 title: 'VPN بدون ثبت سوابق',
                 description:
                 description:
-                    'FlashLinkVPN هرگز تاریخچه مرور، دانلودها یا هر داده حساس دیگری را جمع‌آوری نمی‌کند',
+                    'FlashLink VPN هرگز تاریخچه مرور، دانلودها یا هر داده حساس دیگری را جمع‌آوری نمی‌کند',
             },
             },
             fixedIp: {
             fixedIp: {
                 title: 'قابلیت IP ثابت',
                 title: 'قابلیت IP ثابت',

+ 3 - 3
src/locales/zh-CN/pages.ts

@@ -39,7 +39,7 @@ export default {
         slogan: {
         slogan: {
             title: '日常必备 VPN',
             title: '日常必备 VPN',
             description:
             description:
-                '2秒极速连接,享受3天免费试用,体验高速低延迟的网络访问。FlashLinkVPN 帮助您以优质品质和一流隐私保护访问全球内容。',
+                '2秒极速连接,享受3天免费试用,体验高速低延迟的网络访问。FlashLink VPN 帮助您以优质品质和一流隐私保护访问全球内容。',
         },
         },
         choosePlatform: {
         choosePlatform: {
             title: '选择你的 FlashLink VPN',
             title: '选择你的 FlashLink VPN',
@@ -53,11 +53,11 @@ export default {
             speed: {
             speed: {
                 title: '高品质低延迟专线',
                 title: '高品质低延迟专线',
                 description:
                 description:
-                    'FlashLinkVPN 使用高品质自有专线,路由路径更短,网速更快更稳定,高峰时段无拥堵、无丢包。',
+                    'FlashLink VPN 使用高品质自有专线,路由路径更短,网速更快更稳定,高峰时段无拥堵、无丢包。',
             },
             },
             privacy: {
             privacy: {
                 title: '零记录 VPN',
                 title: '零记录 VPN',
-                description: 'FlashLinkVPN 绝不收集您的浏览历史、下载记录或任何其他敏感数据',
+                description: 'FlashLink VPN 绝不收集您的浏览历史、下载记录或任何其他敏感数据',
             },
             },
             fixedIp: {
             fixedIp: {
                 title: '提供固定 IP 功能',
                 title: '提供固定 IP 功能',

+ 6 - 6
src/router/routes.tsx

@@ -7,7 +7,7 @@ import ServerError from '@/pages/error/500';
 import Home from '@/pages/home';
 import Home from '@/pages/home';
 // import RouteDemo from '@/pages/routeDemo';
 // import RouteDemo from '@/pages/routeDemo';
 // import FeatureDemo from '@/pages/featureDemo';
 // import FeatureDemo from '@/pages/featureDemo';
-import Pricing from '@/pages/pricing';
+// import Pricing from '@/pages/pricing';
 import PrivacyPolicy from '@/pages/privacyPolicy';
 import PrivacyPolicy from '@/pages/privacyPolicy';
 import Redirect from '@/pages/redirect';
 import Redirect from '@/pages/redirect';
 import TermsOfService from '@/pages/termsOfService';
 import TermsOfService from '@/pages/termsOfService';
@@ -28,11 +28,11 @@ const routes: AppRouteObject[] = [
                 path: '/home',
                 path: '/home',
                 element: <Home />,
                 element: <Home />,
             },
             },
-            {
-                name: 'pricing',
-                path: '/pricing',
-                element: <Pricing />,
-            },
+            // {
+            //     name: 'pricing',
+            //     path: '/pricing',
+            //     element: <Pricing />,
+            // },
             {
             {
                 name: 'privacyPolicy',
                 name: 'privacyPolicy',
                 path: '/privacy',
                 path: '/privacy',