diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index 8109ae5c..c0a28eb5 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -2,23 +2,23 @@ import React from 'react' import type { Preview } from '@storybook/react' import { TamaguiProvider } from '@tamagui/web' import { Provider as StatusProvider } from '@status-im/components' -import '../src/index.css' +import { Provider as ReduxProvider } from 'react-redux' + import appConfig from '../tamagui.config' +import store from '../src/redux/store' +import '../src/index.css' const preview: Preview = { - parameters: { - // layout: 'centered', - }, decorators: [ - Story => { - return ( - - + Story => ( + + + - - - ) - }, + + + + ), ], } diff --git a/package.json b/package.json index 3a0421a2..c088e1eb 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,8 @@ "@nivo/pie": "^0.83.0", "@reduxjs/toolkit": "^1.9.5", "@status-im/colors": "*", - "@status-im/components": "^0.2.6", + "@status-im/components": "^0.3.0", + "@storybook/addon-actions": "^7.4.0", "@tamagui/config": "1.36.4", "@tamagui/react-17-patch": "1.36.4", "@tamagui/vite-plugin": "1.36.4", @@ -32,12 +33,16 @@ "expo-modules-core": "^1.5.9", "react": "18", "react-color": "^2.19.3", + "react-confetti": "^6.1.0", "react-dom": "18", + "react-form-stepper": "^2.0.3", "react-native": "^0.72.3", "react-native-svg": "^13.10.0", "react-redux": "^8.1.2", "react-router-dom": "^6.14.2", - "tamagui": "1.36.4" + "react-syntax-highlighter": "^15.5.0", + "tamagui": "1.36.4", + "web-bip39": "^0.0.3" }, "devDependencies": { "@fsouza/prettierd": "^0.24.2", @@ -52,6 +57,7 @@ "@storybook/test-runner": "^0.12.0", "@storybook/testing-library": "^0.2.0", "@types/react-color": "^3.0.6", + "@types/react-syntax-highlighter": "^15.5.7", "@types/uuid": "^9.0.2", "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", diff --git a/public/icons/Linux.png b/public/icons/Linux.png new file mode 100644 index 00000000..2156d1d6 Binary files /dev/null and b/public/icons/Linux.png differ diff --git a/public/icons/MAC.png b/public/icons/MAC.png new file mode 100644 index 00000000..891ef1df Binary files /dev/null and b/public/icons/MAC.png differ diff --git a/public/icons/Nimbus-black.png b/public/icons/Nimbus-black.png new file mode 100644 index 00000000..95ce174e Binary files /dev/null and b/public/icons/Nimbus-black.png differ diff --git a/public/icons/NimbusDisabled.svg b/public/icons/NimbusDisabled.svg new file mode 100644 index 00000000..528c705d --- /dev/null +++ b/public/icons/NimbusDisabled.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/public/icons/erigon-circle.png b/public/icons/erigon-circle.png new file mode 100644 index 00000000..6a0652ae Binary files /dev/null and b/public/icons/erigon-circle.png differ diff --git a/public/icons/gethereum-mascot-circle.png b/public/icons/gethereum-mascot-circle.png new file mode 100644 index 00000000..7aa28153 Binary files /dev/null and b/public/icons/gethereum-mascot-circle.png differ diff --git a/public/icons/hyperledger-besu-circle.png b/public/icons/hyperledger-besu-circle.png new file mode 100644 index 00000000..bc28640f Binary files /dev/null and b/public/icons/hyperledger-besu-circle.png differ diff --git a/public/icons/nethermind-circle.png b/public/icons/nethermind-circle.png new file mode 100644 index 00000000..b4e3a2a2 Binary files /dev/null and b/public/icons/nethermind-circle.png differ diff --git a/public/icons/windows.png b/public/icons/windows.png new file mode 100644 index 00000000..3fbf8bbc Binary files /dev/null and b/public/icons/windows.png differ diff --git a/src/App.tsx b/src/App.tsx index 1d5d8bcd..337bcf2b 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -12,6 +12,7 @@ import { useSelector } from 'react-redux' import PinnedNotification from './components/General/PinnedNottification' import { RootState } from './redux/store' import CreateLocalNodePage from './pages/CreateLocalNodePage/CreateLocalNodePage' +import ValidatorOnboarding from './pages/ValidatorOnboarding/ValidatorOnboarding' const router = createBrowserRouter([ { @@ -35,6 +36,7 @@ const router = createBrowserRouter([ element: , }, { path: '/create-local-node', element: }, + { path: '/validator-onboarding', element: }, ]) function App() { diff --git a/src/components/General/BorderBox.stories.tsx b/src/components/General/BorderBox.stories.tsx new file mode 100644 index 00000000..2cd18f59 --- /dev/null +++ b/src/components/General/BorderBox.stories.tsx @@ -0,0 +1,27 @@ +import type { Meta, StoryObj } from '@storybook/react' + +import BorderBox from './BorderBox' + +const meta = { + title: 'General/BorderBox', + component: BorderBox, + parameters: { + layout: 'centered', + }, + tags: ['autodocs'], +} satisfies Meta + +export default meta +type Story = StoryObj + +export const WithData: Story = { + args: { + children: 'BorderBox', + }, +} + +export const WithoutData: Story = { + args: { + children: '', + }, +} diff --git a/src/components/General/BorderBox.tsx b/src/components/General/BorderBox.tsx new file mode 100644 index 00000000..da78a519 --- /dev/null +++ b/src/components/General/BorderBox.tsx @@ -0,0 +1,18 @@ +import { Stack } from 'tamagui' + +type BorderBoxProps = { + children: React.ReactNode + style?: React.CSSProperties +} + +const BorderBox = ({ children, style }: BorderBoxProps) => { + return ( + + {children} + + ) +} + +export default BorderBox diff --git a/src/components/General/LabelInputField.tsx b/src/components/General/LabelInputField.tsx index fb71d95e..5761ce7b 100644 --- a/src/components/General/LabelInputField.tsx +++ b/src/components/General/LabelInputField.tsx @@ -7,7 +7,7 @@ type LabelInputProps = { placeholderText: string } -function LabelInputField({ labelText, placeholderText }: LabelInputProps) { +const LabelInputField = ({ labelText, placeholderText }: LabelInputProps) => { return (