Skip to content

Commit

Permalink
chore: split up sign up account type component
Browse files Browse the repository at this point in the history
  • Loading branch information
mpblocky committed Mar 3, 2025
1 parent d7e9a3a commit 6081096
Show file tree
Hide file tree
Showing 6 changed files with 184 additions and 153 deletions.
Original file line number Diff line number Diff line change
@@ -1,24 +1,19 @@
import { Grid, List, ListItemText, Typography } from '@mui/material';
import { Grid, Typography } from '@mui/material';
import { useTranslation } from 'react-i18next';
import { Link } from 'react-router-dom';
import { Button } from '@/shared/components/ui/button';
import { useIsMobile } from '@/shared/hooks/use-is-mobile';
import { routerPaths } from '@/router/router-paths';
import { PageCard } from '@/shared/components/ui/page-card';
import type { HomePageStageType } from '@/modules/homepage/views/home.page';
import { useColorMode } from '@/shared/contexts/color-mode';
import { onlyDarkModeColor } from '@/shared/styles/dark-color-palette';
import { useHomePageState } from '@/shared/contexts/homepage-state';
import { WorkerSignUp } from './worker-sign-up';
import { OperatorSignUp } from './operator-sign-up';

interface ChooseSignUpAccountType {
setStage: (step: HomePageStageType) => void;
}

export function ChooseSignUpAccountType() {
const { colorPalette, isDarkMode } = useColorMode();
const { setPageView } = useHomePageState();
const { t } = useTranslation();
const isMobile = useIsMobile('lg');
const isMobileMd = useIsMobile('md');

const backToWelcomeStage = () => {
Expand All @@ -38,150 +33,8 @@ export function ChooseSignUpAccountType() {
<Grid item sx={{ paddingBottom: '16px' }} xs={12}>
<Typography variant="h4">{t('homepage.howWillUse')}</Typography>
</Grid>
<Grid
item
sx={{
paddingTop: '44px',
}}
xs={isMobile ? 12 : 6}
>
<Grid
sx={{
display: 'flex',
flexDirection: 'column',
height: '100%',
justifyContent: 'space-between',
}}
>
<div>
<Typography
color={
isDarkMode
? onlyDarkModeColor.additionalTextColor
: colorPalette.primary.light
}
variant="h6"
>
{t('homepage.iWantToEarn')}
</Typography>
<List
sx={{
listStyleType: 'disc',
listStylePosition: 'inside',
paddingLeft: '0.5rem',
}}
>
<ListItemText
primary={t('homepage.completeTask')}
primaryTypographyProps={{
variant: 'subtitle2',
sx: {
display: 'list-item',
},
}}
/>
<ListItemText
primary={t('homepage.workAnywhere')}
primaryTypographyProps={{
variant: 'subtitle2',
sx: {
display: 'list-item',
},
}}
/>
</List>
</div>
<Grid
sx={{
display: 'flex',
alignItems: 'flex-end',
justifyContent: 'flex-end',
paddingTop: '2rem',
}}
xs={12}
>
<Button
component={Link}
fullWidth
size="large"
sx={{ fontFamily: 'Inter' }}
to={routerPaths.worker.signUp}
variant="contained"
>
{t('homepage.signUpToComplete')}
</Button>
</Grid>
</Grid>
</Grid>
<Grid
item
sx={{
paddingTop: '44px',
display: 'flex',
flexDirection: 'column',
justifyContent: 'space-between',
}}
xs={isMobile ? 12 : 6}
>
<div>
<Typography
color={
isDarkMode
? onlyDarkModeColor.additionalTextColor
: colorPalette.primary.light
}
variant="h6"
>
{t('homepage.joinAsOperator')}
</Typography>
<List
sx={{
listStyleType: 'disc',
listStylePosition: 'inside',
paddingLeft: '0.5rem',
}}
>
<ListItemText
primary={t('homepage.becomePartner')}
primaryTypographyProps={{
variant: 'subtitle2',
sx: {
display: 'list-item',
},
}}
/>
<ListItemText
primary={t('homepage.runAsOracle')}
primaryTypographyProps={{
variant: 'subtitle2',
sx: {
display: 'list-item',
},
}}
/>
</List>
</div>
<Grid
sx={{
display: 'flex',
alignItems: 'flex-end',
justifyContent: 'flex-end',
paddingTop: '2rem',
}}
xs={12}
>
<Button
component={Link}
fullWidth
size="large"
sx={{ fontFamily: 'Inter' }}
to={routerPaths.operator.connectWallet}
variant="contained"
>
{t('homepage.signAsOperator')}
</Button>
</Grid>
</Grid>
<WorkerSignUp />
<OperatorSignUp />
</Grid>
</PageCard>
);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
import { Grid, Typography, List, ListItemText, Button } from '@mui/material';
import { useTranslation } from 'react-i18next';
import { Link } from 'react-router-dom';
import { routerPaths } from '@/router/router-paths';
import { useColorMode } from '@/shared/contexts/color-mode';
import { useIsMobile } from '@/shared/hooks/use-is-mobile';
import { onlyDarkModeColor } from '@/shared/styles/dark-color-palette';

export function OperatorSignUp() {
const { colorPalette, isDarkMode } = useColorMode();
const { t } = useTranslation();
const isMobile = useIsMobile('lg');

return (
<Grid
item
sx={{
paddingTop: '44px',
display: 'flex',
flexDirection: 'column',
justifyContent: 'space-between',
}}
xs={isMobile ? 12 : 6}
>
<div>
<Typography
color={
isDarkMode
? onlyDarkModeColor.additionalTextColor
: colorPalette.primary.light
}
variant="h6"
>
{t('homepage.joinAsOperator')}
</Typography>
<List
sx={{
listStyleType: 'disc',
listStylePosition: 'inside',
paddingLeft: '0.5rem',
}}
>
<ListItemText
primary={t('homepage.becomePartner')}
primaryTypographyProps={{
variant: 'subtitle2',
sx: {
display: 'list-item',
},
}}
/>
<ListItemText
primary={t('homepage.runAsOracle')}
primaryTypographyProps={{
variant: 'subtitle2',
sx: {
display: 'list-item',
},
}}
/>
</List>
</div>
<Grid
sx={{
display: 'flex',
alignItems: 'flex-end',
justifyContent: 'flex-end',
paddingTop: '2rem',
}}
xs={12}
>
<Button
component={Link}
fullWidth
size="large"
sx={{ fontFamily: 'Inter' }}
to={routerPaths.operator.connectWallet}
variant="contained"
>
{t('homepage.signAsOperator')}
</Button>
</Grid>
</Grid>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
import { Grid, Typography, List, ListItemText, Button } from '@mui/material';
import { useTranslation } from 'react-i18next';
import { Link } from 'react-router-dom';
import { routerPaths } from '@/router/router-paths';
import { useColorMode } from '@/shared/contexts/color-mode';
import { useIsMobile } from '@/shared/hooks/use-is-mobile';
import { onlyDarkModeColor } from '@/shared/styles/dark-color-palette';

export function WorkerSignUp() {
const { colorPalette, isDarkMode } = useColorMode();
const { t } = useTranslation();
const isMobile = useIsMobile('lg');

return (
<Grid
item
sx={{
paddingTop: '44px',
}}
xs={isMobile ? 12 : 6}
>
<Grid
sx={{
display: 'flex',
flexDirection: 'column',
height: '100%',
justifyContent: 'space-between',
}}
>
<div>
<Typography
color={
isDarkMode
? onlyDarkModeColor.additionalTextColor
: colorPalette.primary.light
}
variant="h6"
>
{t('homepage.iWantToEarn')}
</Typography>
<List
sx={{
listStyleType: 'disc',
listStylePosition: 'inside',
paddingLeft: '0.5rem',
}}
>
<ListItemText
primary={t('homepage.completeTask')}
primaryTypographyProps={{
variant: 'subtitle2',
sx: {
display: 'list-item',
},
}}
/>
<ListItemText
primary={t('homepage.workAnywhere')}
primaryTypographyProps={{
variant: 'subtitle2',
sx: {
display: 'list-item',
},
}}
/>
</List>
</div>
<Grid
sx={{
display: 'flex',
alignItems: 'flex-end',
justifyContent: 'flex-end',
paddingTop: '2rem',
}}
xs={12}
>
<Button
component={Link}
fullWidth
size="large"
sx={{ fontFamily: 'Inter' }}
to={routerPaths.worker.signUp}
variant="contained"
>
{t('homepage.signUpToComplete')}
</Button>
</Grid>
</Grid>
</Grid>
);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './views';
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './home.page';
2 changes: 1 addition & 1 deletion packages/apps/human-app/frontend/src/router/routes.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import { AddKeysOperatorPage } from '@/modules/operator/views/sign-up/add-keys.p
import { AddStakeOperatorPage } from '@/modules/operator/views/sign-up/add-stake.page';
import { ConnectWalletOperatorPage } from '@/modules/operator/views/sign-up/connect-wallet.page';
import { Playground } from '@/modules/playground/views/playground.page';
import { HomePage } from '@/modules/homepage/views/home.page';
import {
HcaptchaLabelingPage,
UserStatsAccordion,
Expand All @@ -35,6 +34,7 @@ import { JobsDiscoveryPage } from '@/modules/worker/jobs-discovery';
import { WorkerProfilePage } from '@/modules/worker/profile';
import { SignUpWorkerPage } from '@/modules/signup/worker';
import { OperatorProfilePage } from '@/modules/operator/profile';
import { HomePage } from '@/modules/homepage';

export const unprotectedRoutes: RouteProps[] = [
{
Expand Down

0 comments on commit 6081096

Please sign in to comment.