import type { ReactNode } from "react";
import { StyledDialog } from "./StyledDialog";
import { MaterialButton, MaterialIcon } from "@/utils/material";
import { OS_CONFIG, type DownloadOs } from "@/core/downloads/os";
import styles from "./css/download-dialog.module.scss";
interface DownloadDialogProps {
open: boolean;
onOpenChange: (open: boolean) => void;
os: DownloadOs;
}
function AndroidInstructions(): ReactNode {
return (
Установка на Android
Вы скачали APK-файл FromChat. Чтобы установить приложение:
- Откройте загруженный APK-файл из шторки уведомлений или файлового менеджера.
-
Если появится запрос "Разрешить установку из неизвестных источников" — дайте
разрешение для браузера, из которого вы скачивали APK.
-
Google Play Protect может предупредить о неизвестном приложении. Если вы доверяете FromChat,
нажмите "Подробнее" → "Всё равно установить" (или аналогичную кнопку).
- Дождитесь завершения установки и откройте FromChat из списка приложений.
);
}
function IosInstructions(): ReactNode {
return (
Установка на iOS
Эта сборка не распространяется через App Store или TestFlight. Чтобы установить FromChat на iPhone
или iPad, потребуется один из вариантов сторонней установки:
-
TrollStore: постоянная установка приложений из IPA-файлов. Требуется поддерживаемая
версия iOS и настройка TrollStore на устройстве.
-
Джейлбрейк: установка через менеджер пакетов (Sileo, Cydia и т.п.) или напрямую
из файлового менеджера, если у вас уже есть джейлбрейк.
-
Другие сервисы сайдлоада: сторонние инструменты, которые подписывают IPA-файл
вашим сертификатом разработчика или временным сертификатом.
К сожалению, простого и официально поддерживаемого пути установки для iOS здесь нет — именно поэтому я
бы сам iPhone не покупал 😄
);
}
function renderInstructions(os: DownloadOs): ReactNode {
if (os === "android") {
return ;
}
if (os === "ios") {
return ;
}
return null;
}
export function DownloadDialog({ open, onOpenChange, os }: DownloadDialogProps) {
const osInfo = OS_CONFIG[os];
return (
onOpenChange(false)}>
Закрыть
}
>
Thanks for downloading
FromChat для
{osInfo.label}
{renderInstructions(os)}
);
}