diff --git a/src/View/Modals/onboardingModal.tsx b/src/View/Modals/onboardingModal.tsx
index a0efe7c4..c53119be 100644
--- a/src/View/Modals/onboardingModal.tsx
+++ b/src/View/Modals/onboardingModal.tsx
@@ -6,7 +6,8 @@ import OnboardingViewModel, {OnboardingModals} from "../../ViewModel/Global/onbo
export function OnboardingModalWrapper(coreViewModel: CoreViewModel, onboardingViewModel: OnboardingViewModel) {
return
{ConnectionModal(coreViewModel, onboardingViewModel)}
-
+ {TransferModal(coreViewModel, onboardingViewModel)}
+
}
function ConnectionModal(coreViewModel: CoreViewModel, onboardingViewModel: OnboardingViewModel) {
@@ -74,3 +75,60 @@ function ConnectionModal(coreViewModel: CoreViewModel, onboardingViewModel: Onbo
}
+
+function TransferModal(coreViewModel: CoreViewModel, onboardingViewModel: OnboardingViewModel) {
+ const isPresented = React.createProxyState(
+ [onboardingViewModel.presentedModal],
+ () =>
+ onboardingViewModel.presentedModal.value ==
+ OnboardingModals.TransferOrNew
+ );
+
+ return
+
+
+ {coreViewModel.translations.onboarding.transferHeadline}
+ {coreViewModel.translations.onboarding.transferDescription}
+
+
+
+
+
+
+
+
+
+
+
+
+
+}
diff --git a/src/View/translations.ts b/src/View/translations.ts
index c5938c9c..d3d9394b 100644
--- a/src/View/translations.ts
+++ b/src/View/translations.ts
@@ -117,6 +117,13 @@ const englishTranslations = {
connectionDescription: "To transfer files and send messages, connect to the Universal Decentralized Network (UDN).",
connectButton: "Connect",
connectionNextButton: (isConnected: boolean) => isConnected ? "Continue" : "Continue without UDN",
+
+ ///
+
+ transferHeadline: "Copy Your Data",
+ transferDescription: "If you already use the Coordination Tool on another device, copy your identity here. You can use both devices at the same time.",
+ transferOptionTransfer: "Copy here",
+ transferOptionNew: "Set up as new device",
},
connectionModal: {
diff --git a/src/ViewModel/Global/onboardingViewModel.ts b/src/ViewModel/Global/onboardingViewModel.ts
index a730acf2..320bc94f 100644
--- a/src/ViewModel/Global/onboardingViewModel.ts
+++ b/src/ViewModel/Global/onboardingViewModel.ts
@@ -8,6 +8,9 @@ export default class OnboardingViewModel {
// state
presentedModal: React.State = new React.State(undefined);
+ // guards
+ cannotTransfer: React.State = React.createProxyState([this.connectionViewmodel.isConnected], ()=>!this.connectionViewmodel.isConnected.value)
+
// navigation
open = (): void => {
this.presentedModal.value = OnboardingModals.Connection;
@@ -17,6 +20,17 @@ export default class OnboardingViewModel {
this.presentedModal.value = OnboardingModals.TransferOrNew;
}
+ setupNew = (): void => {
+ this.presentedModal.value = OnboardingModals.Name;
+ }
+
+ // methods
+ transferData = (): void => {
+ this.fileTransferViewModel.showTransferDataInputModal();
+ this.presentedModal.value = undefined;
+ }
+
+ // init
constructor(
public connectionViewmodel: ConnectionViewModel,
public fileTransferViewModel: FileTransferViewModel,