parent
dceefef404
commit
6e0cb369dc
@ -0,0 +1,52 @@
|
||||
import React, { useState } from 'react';
|
||||
import { FormattedMessage } from 'react-intl';
|
||||
|
||||
import { Modal, Stack } from 'soapbox/components/ui';
|
||||
|
||||
import ExtensionStep from './steps/extension-step';
|
||||
import IdentityStep from './steps/identity-step';
|
||||
|
||||
interface INostrSigninModal {
|
||||
onClose: (type?: string) => void;
|
||||
}
|
||||
|
||||
const NostrSigninModal: React.FC<INostrSigninModal> = ({ onClose }) => {
|
||||
const [step, setStep] = useState(0);
|
||||
|
||||
const handleClose = () => {
|
||||
onClose('NOSTR_SIGNIN');
|
||||
};
|
||||
|
||||
const renderStep = () => {
|
||||
switch (step) {
|
||||
case 0:
|
||||
return <ExtensionStep setStep={setStep} />;
|
||||
case 1:
|
||||
return <IdentityStep setStep={setStep} />;
|
||||
}
|
||||
};
|
||||
|
||||
const renderModalTitle = () => {
|
||||
switch (step) {
|
||||
case 0:
|
||||
return <FormattedMessage id='nostr_signin.siwe.title' defaultMessage='Sign in with extension' />;
|
||||
case 1:
|
||||
return <FormattedMessage id='nostr_signin.identity.title' defaultMessage='Who are you?' />;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<Modal
|
||||
title={renderModalTitle()}
|
||||
onClose={handleClose}
|
||||
>
|
||||
<Stack space={2}>
|
||||
{renderStep()}
|
||||
</Stack>
|
||||
</Modal>
|
||||
);
|
||||
};
|
||||
|
||||
export default NostrSigninModal;
|
@ -0,0 +1,17 @@
|
||||
import React from 'react';
|
||||
|
||||
import { Stack } from 'soapbox/components/ui';
|
||||
|
||||
interface IExtensionStep {
|
||||
setStep: (step: number) => void;
|
||||
}
|
||||
|
||||
const ExtensionStep: React.FC<IExtensionStep> = () => {
|
||||
return (
|
||||
<Stack>
|
||||
extension step
|
||||
</Stack>
|
||||
);
|
||||
};
|
||||
|
||||
export default ExtensionStep;
|
@ -0,0 +1,17 @@
|
||||
import React from 'react';
|
||||
|
||||
import { Stack } from 'soapbox/components/ui';
|
||||
|
||||
interface IIdentityStep {
|
||||
setStep: (step: number) => void;
|
||||
}
|
||||
|
||||
const IdentityStep: React.FC<IIdentityStep> = () => {
|
||||
return (
|
||||
<Stack>
|
||||
identity step
|
||||
</Stack>
|
||||
);
|
||||
};
|
||||
|
||||
export default IdentityStep;
|
Loading…
Reference in new issue