WIP <Compose> Refactor; <OnboardingModal> ed.
This commit is contained in:
parent
49d8d72192
commit
c20717bd9f
4 changed files with 35 additions and 39 deletions
|
@ -434,6 +434,12 @@ Composer.propTypes = {
|
||||||
}).isRequired,
|
}).isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Default props.
|
||||||
|
Composer.defaultProps = {
|
||||||
|
dispatch: {},
|
||||||
|
state: {},
|
||||||
|
};
|
||||||
|
|
||||||
// Connecting and export.
|
// Connecting and export.
|
||||||
export { Composer as WrappedComponent };
|
export { Composer as WrappedComponent };
|
||||||
export default wrap(Composer, mapStateToProps, mapDispatchToProps, true);
|
export default wrap(Composer, mapStateToProps, mapDispatchToProps, true);
|
||||||
|
|
|
@ -143,6 +143,12 @@ Drawer.propTypes = {
|
||||||
}).isRequired,
|
}).isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Default props.
|
||||||
|
Drawer.defaultProps = {
|
||||||
|
dispatch: {},
|
||||||
|
state: {},
|
||||||
|
};
|
||||||
|
|
||||||
// Connecting and export.
|
// Connecting and export.
|
||||||
export { Drawer as WrappedComponent };
|
export { Drawer as WrappedComponent };
|
||||||
export default wrap(Drawer, mapStateToProps, mapDispatchToProps, true);
|
export default wrap(Drawer, mapStateToProps, mapDispatchToProps, true);
|
||||||
|
|
|
@ -109,7 +109,7 @@ export default class DrawerSearch extends React.PureComponent {
|
||||||
<input
|
<input
|
||||||
type='text'
|
type='text'
|
||||||
placeholder={intl.formatMessage(messages.placeholder)}
|
placeholder={intl.formatMessage(messages.placeholder)}
|
||||||
value={value}
|
value={value || ''}
|
||||||
onChange={change}
|
onChange={change}
|
||||||
onKeyUp={keyUp}
|
onKeyUp={keyUp}
|
||||||
onFocus={focus}
|
onFocus={focus}
|
||||||
|
@ -129,7 +129,7 @@ export default class DrawerSearch extends React.PureComponent {
|
||||||
|
|
||||||
<Overlay
|
<Overlay
|
||||||
placement='bottom'
|
placement='bottom'
|
||||||
show={expanded && !value.length && !submitted}
|
show={expanded && !(value || '').length && !submitted}
|
||||||
target={this}
|
target={this}
|
||||||
><DrawerSearchPopout /></Overlay>
|
><DrawerSearchPopout /></Overlay>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -6,14 +6,10 @@ import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
|
||||||
import ReactSwipeableViews from 'react-swipeable-views';
|
import ReactSwipeableViews from 'react-swipeable-views';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
import Permalink from 'flavours/glitch/components/permalink';
|
import Permalink from 'flavours/glitch/components/permalink';
|
||||||
import ComposeForm from 'flavours/glitch/features/compose/components/compose_form';
|
import { WrappedComponent as RawComposer } from 'flavours/glitch/features/composer';
|
||||||
import Search from 'flavours/glitch/features/compose/components/search';
|
import DrawerPagerAccount from 'flavours/glitch/features/drawer/pager/account';
|
||||||
import NavigationBar from 'flavours/glitch/features/compose/components/navigation_bar';
|
import DrawerSearch from 'flavours/glitch/features/drawer/search';
|
||||||
import ColumnHeader from './column_header';
|
import ColumnHeader from './column_header';
|
||||||
import {
|
|
||||||
List as ImmutableList,
|
|
||||||
Map as ImmutableMap,
|
|
||||||
} from 'immutable';
|
|
||||||
import { me } from 'flavours/glitch/util/initial_state';
|
import { me } from 'flavours/glitch/util/initial_state';
|
||||||
|
|
||||||
const noop = () => { };
|
const noop = () => { };
|
||||||
|
@ -44,52 +40,39 @@ PageOne.propTypes = {
|
||||||
domain: PropTypes.string.isRequired,
|
domain: PropTypes.string.isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
const PageTwo = ({ myAccount }) => (
|
const composerState = {
|
||||||
|
showSearch: true,
|
||||||
|
text: 'Awoo! #introductions',
|
||||||
|
};
|
||||||
|
|
||||||
|
const PageTwo = ({ intl, myAccount }) => (
|
||||||
<div className='onboarding-modal__page onboarding-modal__page-two'>
|
<div className='onboarding-modal__page onboarding-modal__page-two'>
|
||||||
<div className='figure non-interactive'>
|
<div className='figure non-interactive'>
|
||||||
<div className='pseudo-drawer'>
|
<div className='pseudo-drawer'>
|
||||||
<NavigationBar onClose={noop} account={myAccount} />
|
<DrawerPagerAccount account={myAccount} />
|
||||||
</div>
|
<RawComposer
|
||||||
<ComposeForm
|
intl={intl}
|
||||||
text='Awoo! #introductions'
|
state={composerState}
|
||||||
suggestions={ImmutableList()}
|
|
||||||
mentionedDomains={[]}
|
|
||||||
spoiler={false}
|
|
||||||
onChange={noop}
|
|
||||||
onSubmit={noop}
|
|
||||||
onPaste={noop}
|
|
||||||
onPickEmoji={noop}
|
|
||||||
onChangeSpoilerText={noop}
|
|
||||||
onClearSuggestions={noop}
|
|
||||||
onFetchSuggestions={noop}
|
|
||||||
onSuggestionSelected={noop}
|
|
||||||
onPrivacyChange={noop}
|
|
||||||
showSearch
|
|
||||||
settings={ImmutableMap.of('side_arm', 'none')}
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<p><FormattedMessage id='onboarding.page_two.compose' defaultMessage='Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.' /></p>
|
<p><FormattedMessage id='onboarding.page_two.compose' defaultMessage='Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.' /></p>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
||||||
PageTwo.propTypes = {
|
PageTwo.propTypes = {
|
||||||
|
intl: PropTypes.object.isRequired,
|
||||||
myAccount: ImmutablePropTypes.map.isRequired,
|
myAccount: ImmutablePropTypes.map.isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
const PageThree = ({ myAccount }) => (
|
const PageThree = ({ intl, myAccount }) => (
|
||||||
<div className='onboarding-modal__page onboarding-modal__page-three'>
|
<div className='onboarding-modal__page onboarding-modal__page-three'>
|
||||||
<div className='figure non-interactive'>
|
<div className='figure non-interactive'>
|
||||||
<Search
|
<DrawerSearch intl={intl} />
|
||||||
value=''
|
|
||||||
onChange={noop}
|
|
||||||
onSubmit={noop}
|
|
||||||
onClear={noop}
|
|
||||||
onShow={noop}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<div className='pseudo-drawer'>
|
<div className='pseudo-drawer'>
|
||||||
<NavigationBar onClose={noop} account={myAccount} />
|
<DrawerPagerAccount account={myAccount} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -99,6 +82,7 @@ const PageThree = ({ myAccount }) => (
|
||||||
);
|
);
|
||||||
|
|
||||||
PageThree.propTypes = {
|
PageThree.propTypes = {
|
||||||
|
intl: PropTypes.object.isRequired,
|
||||||
myAccount: ImmutablePropTypes.map.isRequired,
|
myAccount: ImmutablePropTypes.map.isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -192,8 +176,8 @@ export default class OnboardingModal extends React.PureComponent {
|
||||||
const { myAccount, admin, domain, intl } = this.props;
|
const { myAccount, admin, domain, intl } = this.props;
|
||||||
this.pages = [
|
this.pages = [
|
||||||
<PageOne acct={myAccount.get('acct')} domain={domain} />,
|
<PageOne acct={myAccount.get('acct')} domain={domain} />,
|
||||||
<PageTwo myAccount={myAccount} />,
|
<PageTwo myAccount={myAccount} intl={intl} />,
|
||||||
<PageThree myAccount={myAccount} />,
|
<PageThree myAccount={myAccount} intl={intl} />,
|
||||||
<PageFour domain={domain} intl={intl} />,
|
<PageFour domain={domain} intl={intl} />,
|
||||||
<PageSix admin={admin} domain={domain} />,
|
<PageSix admin={admin} domain={domain} />,
|
||||||
];
|
];
|
||||||
|
|
Loading…
Reference in a new issue