Put Bookmarks and Lists behind feature flags

v1.x.x
Alex Gleason 2021-09-18 15:03:38 -05:00
rodzic be8f3d9e64
commit 074604a1c9
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 7211D1F99744FBB7
5 zmienionych plików z 34 dodań i 21 usunięć

Wyświetl plik

@ -218,14 +218,14 @@ class SidebarMenu extends ImmutablePureComponent {
<Icon id='bitcoin' /> <Icon id='bitcoin' />
<span className='sidebar-menu-item__title'>{intl.formatMessage(messages.donate_crypto)}</span> <span className='sidebar-menu-item__title'>{intl.formatMessage(messages.donate_crypto)}</span>
</NavLink>} </NavLink>}
<NavLink className='sidebar-menu-item' to='/lists' onClick={this.handleClose}> {features.lists && <NavLink className='sidebar-menu-item' to='/lists' onClick={this.handleClose}>
<Icon id='list' /> <Icon id='list' />
<span className='sidebar-menu-item__title'>{intl.formatMessage(messages.lists)}</span> <span className='sidebar-menu-item__title'>{intl.formatMessage(messages.lists)}</span>
</NavLink> </NavLink>}
<NavLink className='sidebar-menu-item' to='/bookmarks' onClick={this.handleClose}> {features.bookmarks && <NavLink className='sidebar-menu-item' to='/bookmarks' onClick={this.handleClose}>
<Icon id='bookmark' /> <Icon id='bookmark' />
<span className='sidebar-menu-item__title'>{intl.formatMessage(messages.bookmarks)}</span> <span className='sidebar-menu-item__title'>{intl.formatMessage(messages.bookmarks)}</span>
</NavLink> </NavLink>}
</div> </div>
<div className='sidebar-menu__section'> <div className='sidebar-menu__section'>

Wyświetl plik

@ -290,7 +290,7 @@ class StatusActionBar extends ImmutablePureComponent {
} }
_makeMenu = (publicStatus) => { _makeMenu = (publicStatus) => {
const { status, intl, withDismiss, withGroupAdmin, me, isStaff, isAdmin } = this.props; const { status, intl, withDismiss, withGroupAdmin, me, features, isStaff, isAdmin } = this.props;
const mutingConversation = status.get('muted'); const mutingConversation = status.get('muted');
const ownAccount = status.getIn(['account', 'id']) === me; const ownAccount = status.getIn(['account', 'id']) === me;
@ -303,7 +303,9 @@ class StatusActionBar extends ImmutablePureComponent {
// menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed }); // menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });
} }
if (features.bookmarks) {
menu.push({ text: intl.formatMessage(status.get('bookmarked') ? messages.unbookmark : messages.bookmark), action: this.handleBookmarkClick }); menu.push({ text: intl.formatMessage(status.get('bookmarked') ? messages.unbookmark : messages.bookmark), action: this.handleBookmarkClick });
}
if (!me) { if (!me) {
return menu; return menu;

Wyświetl plik

@ -189,16 +189,21 @@ class Header extends ImmutablePureComponent {
menu.push({ text: intl.formatMessage(messages.showReblogs, { name: account.get('username') }), action: this.props.onReblogToggle }); menu.push({ text: intl.formatMessage(messages.showReblogs, { name: account.get('username') }), action: this.props.onReblogToggle });
} }
if (features.accountSubscriptions) {
if (account.getIn(['relationship', 'subscribing'])) { if (account.getIn(['relationship', 'subscribing'])) {
menu.push({ text: intl.formatMessage(messages.unsubscribe, { name: account.get('username') }), action: this.props.onSubscriptionToggle }); menu.push({ text: intl.formatMessage(messages.unsubscribe, { name: account.get('username') }), action: this.props.onSubscriptionToggle });
} else { } else {
menu.push({ text: intl.formatMessage(messages.subscribe, { name: account.get('username') }), action: this.props.onSubscriptionToggle }); menu.push({ text: intl.formatMessage(messages.subscribe, { name: account.get('username') }), action: this.props.onSubscriptionToggle });
} }
}
if (features.lists) {
menu.push({ text: intl.formatMessage(messages.add_or_remove_from_list), action: this.props.onAddToList }); menu.push({ text: intl.formatMessage(messages.add_or_remove_from_list), action: this.props.onAddToList });
}
// menu.push({ text: intl.formatMessage(account.getIn(['relationship', 'endorsed']) ? messages.unendorse : messages.endorse), action: this.props.onEndorseToggle }); // menu.push({ text: intl.formatMessage(account.getIn(['relationship', 'endorsed']) ? messages.unendorse : messages.endorse), action: this.props.onEndorseToggle });
menu.push(null); menu.push(null);
} else if (features.unrestrictedLists) { } else if (features.lists && features.unrestrictedLists) {
menu.push({ text: intl.formatMessage(messages.add_or_remove_from_list), action: this.props.onAddToList }); menu.push({ text: intl.formatMessage(messages.add_or_remove_from_list), action: this.props.onAddToList });
} }

Wyświetl plik

@ -315,7 +315,9 @@ class ActionBar extends React.PureComponent {
// menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed }); // menu.push({ text: intl.formatMessage(messages.embed), action: this.handleEmbed });
} }
if (features.bookmarks) {
menu.push({ text: intl.formatMessage(status.get('bookmarked') ? messages.unbookmark : messages.bookmark), action: this.handleBookmarkClick }); menu.push({ text: intl.formatMessage(status.get('bookmarked') ? messages.unbookmark : messages.bookmark), action: this.handleBookmarkClick });
}
menu.push(null); menu.push(null);

Wyświetl plik

@ -62,15 +62,19 @@ class FeaturesPanel extends React.PureComponent {
{intl.formatMessage(messages.follow_requests)} {intl.formatMessage(messages.follow_requests)}
</NavLink>} </NavLink>}
{features.bookmarks && (
<NavLink className='promo-panel-item' to='/bookmarks'> <NavLink className='promo-panel-item' to='/bookmarks'>
<Icon id='bookmark' className='promo-panel-item__icon' fixedWidth /> <Icon id='bookmark' className='promo-panel-item__icon' fixedWidth />
{intl.formatMessage(messages.bookmarks)} {intl.formatMessage(messages.bookmarks)}
</NavLink> </NavLink>
)}
{features.lists && (
<NavLink className='promo-panel-item' to='/lists'> <NavLink className='promo-panel-item' to='/lists'>
<Icon id='list' className='promo-panel-item__icon' fixedWidth /> <Icon id='list' className='promo-panel-item__icon' fixedWidth />
{intl.formatMessage(messages.lists)} {intl.formatMessage(messages.lists)}
</NavLink> </NavLink>
)}
{features.securityAPI ? ( {features.securityAPI ? (
<NavLink className='promo-panel-item' to='/auth/edit'> <NavLink className='promo-panel-item' to='/auth/edit'>