Share your watch progress between devices and keep them synced.
-
+
First choose the backend you want to use. If you do not know what
this does, use the default and click on 'Get started'.
@@ -77,24 +35,24 @@ export default function MovieWebScreen() {
-
-
+
+
Get started
-
-
+
+
diff --git a/apps/expo/src/app/(tabs)/settings.tsx b/apps/expo/src/app/(tabs)/settings.tsx
index aa152ad..810287c 100644
--- a/apps/expo/src/app/(tabs)/settings.tsx
+++ b/apps/expo/src/app/(tabs)/settings.tsx
@@ -206,7 +206,7 @@ export default function SettingsScreen() {
android: "android",
})}
size={24}
- color={theme.buttonSecondaryText.val}
+ color={theme.silver300.val}
/>
}
iconAfter={
@@ -229,7 +229,7 @@ export default function SettingsScreen() {
}
onPress={() => clearCacheDirectory()}
@@ -304,7 +304,7 @@ export function UpdateSheet({
}
onPress={() => WebBrowser.openBrowserAsync(downloadUrl)}
diff --git a/apps/expo/src/app/sync/login.tsx b/apps/expo/src/app/sync/login.tsx
new file mode 100644
index 0000000..603faab
--- /dev/null
+++ b/apps/expo/src/app/sync/login.tsx
@@ -0,0 +1,79 @@
+import { Stack } from "expo-router";
+import { H4, Label, Paragraph, Text, YStack } from "tamagui";
+
+import ScreenLayout from "~/components/layout/ScreenLayout";
+import { MWButton } from "~/components/ui/Button";
+import { MWCard } from "~/components/ui/Card";
+import { MWInput } from "~/components/ui/Input";
+
+export default function Page() {
+ return (
+
+
+
+
+
+
+
+
+ Enter a name for your device and pick colours and a user icon of
+ your choosing
+
+
+
+
+
+
+
+
+
+
+ setColor(color)} />
+
+
+
+ setColor2(color)} />
+
+
+
+ setIcon(icon)} />
+
+
+
+
+
+
+ Next
+
+
+
+
+
+ );
+}
diff --git a/apps/expo/src/app/sync/register/confirm.tsx b/apps/expo/src/app/sync/register/confirm.tsx
new file mode 100644
index 0000000..517de54
--- /dev/null
+++ b/apps/expo/src/app/sync/register/confirm.tsx
@@ -0,0 +1,68 @@
+import { Link, Stack } from "expo-router";
+import { H4, Label, Paragraph, YStack } from "tamagui";
+
+import ScreenLayout from "~/components/layout/ScreenLayout";
+import { MWButton } from "~/components/ui/Button";
+import { MWCard } from "~/components/ui/Card";
+import { MWInput } from "~/components/ui/Input";
+
+export default function Page() {
+ return (
+
+
+
+
+
+
+ Confirm your passphrase
+
+
+
+ Please enter your passphrase from earlier to confirm you have saved
+ it and to create your account
+
+
+
+
+
+
+
+
+
+
+
+
+ Create account
+
+
+
+
+ );
+}
diff --git a/apps/expo/src/app/sync/register/index.tsx b/apps/expo/src/app/sync/register/index.tsx
new file mode 100644
index 0000000..65ca629
--- /dev/null
+++ b/apps/expo/src/app/sync/register/index.tsx
@@ -0,0 +1,132 @@
+import { TouchableOpacity } from "react-native-gesture-handler";
+import * as Clipboard from "expo-clipboard";
+import { Link, Stack } from "expo-router";
+import { Feather } from "@expo/vector-icons";
+import { H4, Paragraph, Text, useTheme, View, XStack, YStack } from "tamagui";
+
+import { genMnemonic } from "@movie-web/api";
+
+import ScreenLayout from "~/components/layout/ScreenLayout";
+import { MWButton } from "~/components/ui/Button";
+import { MWCard } from "~/components/ui/Card";
+
+function PassphraseWord({ word }: { word: string }) {
+ return (
+
+ {word}
+
+ );
+}
+
+export default function Page() {
+ const theme = useTheme();
+ const words = genMnemonic().split(" ");
+
+ return (
+
+
+
+
+
+
+ Your passphrase
+
+
+
+ Your passphrase acts as your username and password. Make sure to
+ keep it safe as you will need to enter it to login to your account
+
+
+
+
+
+
+ Passphrase
+
+ {
+ await Clipboard.setStringAsync(words.join(""));
+ }}
+ >
+
+
+ Copy
+
+
+
+
+ {words.map((word, index) => (
+
+ ))}
+
+
+
+
+
+ I have saved my passphrase
+
+
+
+ Already have an account?{"\n"}
+
+ Login here
+
+
+
+
+
+ );
+}
diff --git a/apps/expo/src/app/sync/trust/[url].tsx b/apps/expo/src/app/sync/trust/[url].tsx
index 9f64eaa..f6df9a7 100644
--- a/apps/expo/src/app/sync/trust/[url].tsx
+++ b/apps/expo/src/app/sync/trust/[url].tsx
@@ -1,4 +1,4 @@
-import { Stack, useLocalSearchParams } from "expo-router";
+import { Link, Stack, useLocalSearchParams } from "expo-router";
import { useQuery } from "@tanstack/react-query";
import { H4, Paragraph, Text, View } from "tamagui";
@@ -30,7 +30,7 @@ export default function Page() {
title: "",
}}
/>
-
+
Do you trust this server?
@@ -90,15 +90,23 @@ export default function Page() {
flexDirection="column"
gap="$4"
>
- I trust this server
- Go back
-
-
- Already have an account?{" "}
-
- Login here
-
-
+
+ I trust this server
+
+
+ Go back
+