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 +} 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,