-
-
- );
+ useEffect(() => {
+ router.replace("/connection-error", undefined, {
+ experimental: { nativeBehavior: "stack-replace", isNestedNavigator: false },
+ });
+ }, [router]);
+ return null;
};
const ThemedStack = ({ onLayout }: { onLayout?: () => void }) => {
@@ -135,14 +123,9 @@ export default function Root() {
}}
>
- {info.type === "loading" && }
- {info.type === "error" && }
- {info.type === "ok" && (
- <>
-
-
- >
- )}
+ {info.type === "loading" ? : }
+ {info.type === "error" && }
+ {info.type === "ok" && }
diff --git a/front/apps/mobile/app/connection-error.tsx b/front/apps/mobile/app/connection-error.tsx
new file mode 100644
index 00000000..b4b57ec8
--- /dev/null
+++ b/front/apps/mobile/app/connection-error.tsx
@@ -0,0 +1,50 @@
+/*
+ * Kyoo - A portable and vast media library solution.
+ * Copyright (c) Kyoo.
+ *
+ * See AUTHORS.md and LICENSE file in the project root for full license information.
+ *
+ * Kyoo is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * any later version.
+ *
+ * Kyoo is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Kyoo. If not, see .
+ */
+
+import { AccountContext } from "@kyoo/models";
+import { Button, H1, P, ts } from "@kyoo/primitives";
+import { useRouter } from "expo-router";
+import { useContext } from "react";
+import { useTranslation } from "react-i18next";
+import { View } from "react-native";
+import { useYoshiki } from "yoshiki/native";
+
+const ConnectionError = () => {
+ const { css } = useYoshiki();
+ const { t } = useTranslation();
+ const router = useRouter();
+ const { error, retry } = useContext(AccountContext);
+
+ return (
+
+