forked from Rosetta/landing
Убрать загрузку macOS с сайта
This commit is contained in:
@@ -4,14 +4,14 @@
|
|||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Rosetta - Secure & Private Messaging | End-to-End Encrypted Chat</title>
|
<title>Rosetta - Secure & Private Messaging | End-to-End Encrypted Chat</title>
|
||||||
<meta name="description" content="Rosetta is a secure, fast, and private messaging app with military-grade end-to-end encryption. Download for macOS, Windows, and Linux. No phone number required." />
|
<meta name="description" content="Rosetta is a secure, fast, and private messaging app with military-grade end-to-end encryption. Download for Windows, Linux, and Android. No phone number required." />
|
||||||
<meta name="keywords" content="secure messaging, encrypted chat, private messenger, end-to-end encryption, secure communication" />
|
<meta name="keywords" content="secure messaging, encrypted chat, private messenger, end-to-end encryption, secure communication" />
|
||||||
<meta name="author" content="Rosetta Team" />
|
<meta name="author" content="Rosetta Team" />
|
||||||
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />
|
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<meta property="og:url" content="https://rosetta.im/" />
|
<meta property="og:url" content="https://rosetta.im/" />
|
||||||
<meta property="og:title" content="Rosetta - Secure Messaging for Everyone" />
|
<meta property="og:title" content="Rosetta - Secure Messaging for Everyone" />
|
||||||
<meta property="og:description" content="End-to-end encrypted messaging app with zero-knowledge architecture. Download for macOS, Windows, Linux." />
|
<meta property="og:description" content="End-to-end encrypted messaging app with zero-knowledge architecture. Download for Windows, Linux, and Android." />
|
||||||
<meta property="og:image" content="/og-image.png" />
|
<meta property="og:image" content="/og-image.png" />
|
||||||
<meta property="og:site_name" content="Rosetta" />
|
<meta property="og:site_name" content="Rosetta" />
|
||||||
<meta property="og:locale" content="en_US" />
|
<meta property="og:locale" content="en_US" />
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
"description": "Secure end-to-end encrypted messaging application",
|
"description": "Secure end-to-end encrypted messaging application",
|
||||||
"url": "https://rosetta.im",
|
"url": "https://rosetta.im",
|
||||||
"applicationCategory": "CommunicationApplication",
|
"applicationCategory": "CommunicationApplication",
|
||||||
"operatingSystem": ["Windows", "macOS", "Linux", "Android"],
|
"operatingSystem": ["Windows", "Linux", "Android"],
|
||||||
"offers": {
|
"offers": {
|
||||||
"@type": "Offer",
|
"@type": "Offer",
|
||||||
"price": "0",
|
"price": "0",
|
||||||
|
|||||||
@@ -5,13 +5,12 @@ import {
|
|||||||
Flex,
|
Flex,
|
||||||
Text,
|
Text,
|
||||||
Title,
|
Title,
|
||||||
useComputedColorScheme,
|
|
||||||
useMantineTheme,
|
useMantineTheme,
|
||||||
} from '@mantine/core';
|
} from '@mantine/core';
|
||||||
import classes from './DownloadCenter.module.css';
|
import classes from './DownloadCenter.module.css';
|
||||||
import { RosettaLogo } from '../RosettaLogo/RosettaLogo';
|
import { RosettaLogo } from '../RosettaLogo/RosettaLogo';
|
||||||
import { useEffect, useState } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import { FaApple, FaWindows } from 'react-icons/fa';
|
import { FaWindows } from 'react-icons/fa';
|
||||||
import { FcAndroidOs, FcLinux } from 'react-icons/fc';
|
import { FcAndroidOs, FcLinux } from 'react-icons/fc';
|
||||||
import { Switch } from '../Switch/Switch';
|
import { Switch } from '../Switch/Switch';
|
||||||
import { IconDownload } from '@tabler/icons-react';
|
import { IconDownload } from '@tabler/icons-react';
|
||||||
@@ -41,7 +40,7 @@ const fetchUpdates = async (): Promise<DownloadFeature[]> => {
|
|||||||
version: item.version,
|
version: item.version,
|
||||||
link: new URL(item.downloadUrl, 'https://sdu.rosetta.im').toString(),
|
link: new URL(item.downloadUrl, 'https://sdu.rosetta.im').toString(),
|
||||||
})).sort((a, b) => {
|
})).sort((a, b) => {
|
||||||
const platformOrder = ['darwin', 'linux', 'win32', 'android'];
|
const platformOrder = ['linux', 'win32', 'android'];
|
||||||
const archOrder = ['arm64', 'x64', 'universal']
|
const archOrder = ['arm64', 'x64', 'universal']
|
||||||
const platformComparison = platformOrder.indexOf(a.platform) - platformOrder.indexOf(b.platform);
|
const platformComparison = platformOrder.indexOf(a.platform) - platformOrder.indexOf(b.platform);
|
||||||
if (platformComparison !== 0) {
|
if (platformComparison !== 0) {
|
||||||
@@ -57,9 +56,8 @@ const fetchUpdates = async (): Promise<DownloadFeature[]> => {
|
|||||||
|
|
||||||
export function DownloadCenter() {
|
export function DownloadCenter() {
|
||||||
const theme = useMantineTheme();
|
const theme = useMantineTheme();
|
||||||
const colorScheme = useComputedColorScheme();
|
|
||||||
const [kernels, setKernels] = useState<DownloadFeature[]>([]);
|
const [kernels, setKernels] = useState<DownloadFeature[]>([]);
|
||||||
const [targetPlatforms, setTargetPlatforms] = useState<string[]>(['darwin', 'linux', 'win32', 'android']);
|
const [targetPlatforms, setTargetPlatforms] = useState<string[]>(['linux', 'win32', 'android']);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
fetchUpdates().then(setKernels);
|
fetchUpdates().then(setKernels);
|
||||||
@@ -69,14 +67,11 @@ export function DownloadCenter() {
|
|||||||
let targetPlatforms: string[] = [];
|
let targetPlatforms: string[] = [];
|
||||||
switch(value){
|
switch(value){
|
||||||
case 'All':
|
case 'All':
|
||||||
targetPlatforms = ['darwin', 'linux', 'win32', 'android'];
|
targetPlatforms = ['linux', 'win32', 'android'];
|
||||||
break;
|
break;
|
||||||
case 'Windows':
|
case 'Windows':
|
||||||
targetPlatforms = ['win32'];
|
targetPlatforms = ['win32'];
|
||||||
break;
|
break;
|
||||||
case 'macOS':
|
|
||||||
targetPlatforms = ['darwin'];
|
|
||||||
break;
|
|
||||||
case 'Android':
|
case 'Android':
|
||||||
targetPlatforms = ['android'];
|
targetPlatforms = ['android'];
|
||||||
break;
|
break;
|
||||||
@@ -89,8 +84,6 @@ export function DownloadCenter() {
|
|||||||
|
|
||||||
const translatePlatformToOsName = (platform: string) => {
|
const translatePlatformToOsName = (platform: string) => {
|
||||||
switch(platform){
|
switch(platform){
|
||||||
case 'darwin':
|
|
||||||
return 'macOS';
|
|
||||||
case 'linux':
|
case 'linux':
|
||||||
return 'Linux';
|
return 'Linux';
|
||||||
case 'win32':
|
case 'win32':
|
||||||
@@ -104,8 +97,6 @@ export function DownloadCenter() {
|
|||||||
|
|
||||||
const translatePlatformAndArchToCpuName = (platform : string, arch: string) => {
|
const translatePlatformAndArchToCpuName = (platform : string, arch: string) => {
|
||||||
switch(platform){
|
switch(platform){
|
||||||
case 'darwin':
|
|
||||||
return arch === 'arm64' ? 'Apple Silicon' : 'Intel';
|
|
||||||
case 'linux':
|
case 'linux':
|
||||||
return arch === 'arm64' ? 'ARM64' : 'x64';
|
return arch === 'arm64' ? 'ARM64' : 'x64';
|
||||||
case 'win32':
|
case 'win32':
|
||||||
@@ -121,9 +112,6 @@ export function DownloadCenter() {
|
|||||||
const features = kernels.filter((v) => targetPlatforms.includes(v.platform)).map((feature) => (
|
const features = kernels.filter((v) => targetPlatforms.includes(v.platform)).map((feature) => (
|
||||||
<Card key={feature.link} radius="md" className={classes.card} padding="xl">
|
<Card key={feature.link} radius="md" className={classes.card} padding="xl">
|
||||||
<Flex direction={'column'} align="center" justify={'center'}>
|
<Flex direction={'column'} align="center" justify={'center'}>
|
||||||
{feature.platform === 'darwin' && <FaApple size={50} color={
|
|
||||||
colorScheme == 'dark' ? 'white' : 'black'
|
|
||||||
} />}
|
|
||||||
{feature.platform === 'linux' && <FcLinux size={50} />}
|
{feature.platform === 'linux' && <FcLinux size={50} />}
|
||||||
{feature.platform === 'win32' && <FaWindows size={50} color={theme.colors.blue[6]} />}
|
{feature.platform === 'win32' && <FaWindows size={50} color={theme.colors.blue[6]} />}
|
||||||
{feature.platform === 'android' && <FcAndroidOs size={50} />}
|
{feature.platform === 'android' && <FcAndroidOs size={50} />}
|
||||||
@@ -131,14 +119,6 @@ export function DownloadCenter() {
|
|||||||
{translatePlatformToOsName(feature.platform)} - {translatePlatformAndArchToCpuName(feature.platform, feature.arch)}
|
{translatePlatformToOsName(feature.platform)} - {translatePlatformAndArchToCpuName(feature.platform, feature.arch)}
|
||||||
</Text>
|
</Text>
|
||||||
<Text c="dimmed" fz="sm" ta={'center'} mt="xs">
|
<Text c="dimmed" fz="sm" ta={'center'} mt="xs">
|
||||||
{feature.platform == 'darwin' && <>
|
|
||||||
{feature.arch == 'arm64' && <>
|
|
||||||
Download this version if you have a Mac with Apple Silicon (M1, M2 chips).
|
|
||||||
</>}
|
|
||||||
{feature.arch == 'x64' && <>
|
|
||||||
Download this version if you have a Mac with an Intel processor, which was most likely manufactured before 2020.
|
|
||||||
</>}
|
|
||||||
</>}
|
|
||||||
{feature.platform == 'linux' && <>This version is for Linux and comes as an AppImage for the GUI versions.</>}
|
{feature.platform == 'linux' && <>This version is for Linux and comes as an AppImage for the GUI versions.</>}
|
||||||
{feature.platform == 'win32' && <>Download this version of you have computer on Windows 10 or later.</>}
|
{feature.platform == 'win32' && <>Download this version of you have computer on Windows 10 or later.</>}
|
||||||
{feature.platform == 'android' && <>This version is for Android devices and all architectures.</>}
|
{feature.platform == 'android' && <>This version is for Android devices and all architectures.</>}
|
||||||
@@ -165,7 +145,7 @@ export function DownloadCenter() {
|
|||||||
</Text>
|
</Text>
|
||||||
|
|
||||||
<Flex justify={'center'} mt={'lg'}>
|
<Flex justify={'center'} mt={'lg'}>
|
||||||
<Switch onChange={switchTarget} data={['All', 'Windows', 'macOS', 'Linux', 'Android']}></Switch>
|
<Switch onChange={switchTarget} data={['All', 'Windows', 'Linux', 'Android']}></Switch>
|
||||||
</Flex>
|
</Flex>
|
||||||
|
|
||||||
<Flex gap="xl" justify={'center'} wrap={'wrap'} align={'center'} mt={50}>
|
<Flex gap="xl" justify={'center'} wrap={'wrap'} align={'center'} mt={50}>
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ interface SEOProps {
|
|||||||
|
|
||||||
export function SEO({
|
export function SEO({
|
||||||
title = 'Rosetta - Secure Messaging for Everyone',
|
title = 'Rosetta - Secure Messaging for Everyone',
|
||||||
description = 'End-to-end encrypted messaging app with military-grade security. Download for macOS, Windows, Linux.',
|
description = 'End-to-end encrypted messaging app with military-grade security. Download for Windows, Linux, and Android.',
|
||||||
ogImage = '/og-image.png',
|
ogImage = '/og-image.png',
|
||||||
keywords = 'secure messaging, encrypted chat, private messenger'
|
keywords = 'secure messaging, encrypted chat, private messenger'
|
||||||
}: SEOProps) {
|
}: SEOProps) {
|
||||||
|
|||||||
Reference in New Issue
Block a user