Add send-header to Storybook (#12084)
parent
c2bbbdd19c
commit
bf89226ca1
@ -0,0 +1,9 @@ |
||||
export const updateSendAsset = (type) => ({ |
||||
type: 'send/updateSendAsset', |
||||
payload: type, |
||||
}); |
||||
|
||||
export const updateSendStage = (stage) => ({ |
||||
type: 'send/updateSendStage', |
||||
payload: stage, |
||||
}); |
@ -0,0 +1,9 @@ |
||||
import testData from '../test-data'; |
||||
|
||||
const initialState = { ...testData.history }; |
||||
export default function historySBReducer(state = initialState, action) { |
||||
switch (action.type) { |
||||
default: |
||||
return state; |
||||
} |
||||
} |
@ -0,0 +1,19 @@ |
||||
import testData from '../test-data'; |
||||
|
||||
const initialState = { ...testData.send }; |
||||
export default function sendSBReducer(state = initialState, action) { |
||||
switch (action.type) { |
||||
case 'send/updateSendStage': |
||||
return { |
||||
...state, |
||||
stage: action.payload, |
||||
}; |
||||
case 'send/updateSendAsset': |
||||
return { |
||||
...state, |
||||
asset: { ...state.asset, type: action.payload }, |
||||
}; |
||||
default: |
||||
return state; |
||||
} |
||||
} |
@ -0,0 +1,54 @@ |
||||
import React, { useEffect } from 'react'; |
||||
import { combineReducers, createStore } from 'redux'; |
||||
import { Provider } from 'react-redux'; |
||||
|
||||
import { select } from '@storybook/addon-knobs'; |
||||
import { |
||||
updateSendStage, |
||||
updateSendAsset, |
||||
} from '../../../../.storybook/actions/sb-send-action'; |
||||
|
||||
import sendSBReducer from '../../../../.storybook/reducers/sb-send-reducer'; |
||||
import historySBReducer from '../../../../.storybook/reducers/sb-history-reducer'; |
||||
|
||||
import { ASSET_TYPES, SEND_STAGES } from '../../../ducks/send'; |
||||
import SendHeader from './send-header.component'; |
||||
|
||||
export default { |
||||
title: 'SendHeader', |
||||
id: __filename, |
||||
}; |
||||
|
||||
export const SendHeaderComponent = () => { |
||||
const store = createStore( |
||||
combineReducers({ send: sendSBReducer, history: historySBReducer }), |
||||
); |
||||
const state = store.getState(); |
||||
const { send } = state; |
||||
const asset = |
||||
select('Asset', [ASSET_TYPES.NATIVE, ASSET_TYPES.TOKEN]) || send.asset; |
||||
|
||||
const stage = |
||||
select('Stage', [ |
||||
SEND_STAGES.ADD_RECIPIENT, |
||||
SEND_STAGES.DRAFT, |
||||
SEND_STAGES.EDIT, |
||||
SEND_STAGES.INACTIVE, |
||||
]) || send.stage; |
||||
|
||||
useEffect(() => { |
||||
store.dispatch(updateSendAsset(asset)); |
||||
}, [store, asset]); |
||||
|
||||
useEffect(() => { |
||||
store.dispatch(updateSendStage(stage)); |
||||
}, [store, stage]); |
||||
|
||||
return ( |
||||
<Provider store={store}> |
||||
<div style={{ width: 600 }}> |
||||
<SendHeader /> |
||||
</div> |
||||
</Provider> |
||||
); |
||||
}; |
Loading…
Reference in new issue