Merge branch 'master' into glitch-soc/merge-upstream

This commit is contained in:
Thibaut Girka
2020-01-28 19:15:03 +01:00
11 changed files with 232 additions and 39 deletions

View File

@@ -376,7 +376,7 @@ class Announcements extends ImmutablePureComponent {
<img className='announcements__mastodon' alt='' draggable='false' src={mascot || elephantUIPlane} />
<div className='announcements__container'>
<ReactSwipeableViews animateHeight index={index} onChangeIndex={this.handleChangeIndex}>
<ReactSwipeableViews animateHeight={!reduceMotion} adjustHeight={reduceMotion} index={index} onChangeIndex={this.handleChangeIndex}>
{announcements.map(announcement => (
<Announcement
key={announcement.get('id')}

View File

@@ -16,7 +16,7 @@ import { Map as ImmutableMap, List as ImmutableList, Set as ImmutableSet, fromJS
const initialState = ImmutableMap({
items: ImmutableList(),
isLoading: false,
show: true,
show: false,
unread: ImmutableSet(),
});
@@ -84,10 +84,11 @@ export default function announcementsReducer(state = initialState, action) {
const items = fromJS(action.announcements);
map.set('unread', ImmutableSet());
map.set('items', items);
map.set('isLoading', false);
addUnread(map, items);
map.set('items', items);
map.set('isLoading', false);
});
case ANNOUNCEMENTS_FETCH_FAIL:
return state.set('isLoading', false);

View File

@@ -919,3 +919,46 @@ a.name-tag,
.center-text {
text-align: center;
}
.announcements-list {
border: 1px solid lighten($ui-base-color, 4%);
border-radius: 4px;
&__item {
padding: 15px 0;
background: $ui-base-color;
border-bottom: 1px solid lighten($ui-base-color, 4%);
&__title {
padding: 0 15px;
display: block;
font-weight: 500;
font-size: 18px;
line-height: 1.5;
color: $secondary-text-color;
text-decoration: none;
margin-bottom: 10px;
&:hover,
&:focus,
&:active {
color: $primary-text-color;
}
}
&__meta {
padding: 0 15px;
color: $dark-text-color;
}
&__action-bar {
display: flex;
justify-content: space-between;
align-items: center;
}
&:last-child {
border-bottom: 0;
}
}
}

View File

@@ -5761,8 +5761,8 @@ a.status-card.compact:hover {
text-align: center;
text-decoration: none;
position: relative;
overflow: hidden;
width: 100%;
white-space: nowrap;
&.active {
color: $secondary-text-color;

View File

@@ -1,21 +1,19 @@
%tr
%td
.announcements-list__item
= link_to edit_admin_announcement_path(announcement), class: 'announcements-list__item__title' do
= truncate(announcement.text)
%td
= time_range(announcement) if announcement.time_range?
%td
- if announcement.scheduled_at.present?
= fa_icon('clock-o') if announcement.scheduled_at > Time.now.utc
= l(announcement.scheduled_at)
- else
= l(announcement.created_at)
%td
- if can?(:update, announcement)
- if announcement.published?
= table_link_to 'pause', t('admin.announcements.unpublish'), unpublish_admin_announcement_path(announcement), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
.announcements-list__item__action-bar
.announcements-list__item__meta
- if announcement.scheduled_at.present?
= t('admin.announcements.scheduled_for', time: l(announcement.scheduled_at))
- else
= table_link_to 'play', t('admin.announcements.publish'), publish_admin_announcement_path(announcement), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
= l(announcement.created_at)
= table_link_to 'pencil', t('generic.edit'), edit_admin_announcement_path(announcement)
%div
- if can?(:update, announcement)
- if announcement.published?
= table_link_to 'toggle-off', t('admin.announcements.unpublish'), unpublish_admin_announcement_path(announcement), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
- else
= table_link_to 'toggle-on', t('admin.announcements.publish'), publish_admin_announcement_path(announcement), method: :post, data: { confirm: t('admin.accounts.are_you_sure') }
= table_link_to 'trash', t('generic.delete'), admin_announcement_path(announcement), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, announcement)
= table_link_to 'trash', t('generic.delete'), admin_announcement_path(announcement), method: :delete, data: { confirm: t('admin.accounts.are_you_sure') } if can?(:destroy, announcement)

View File

@@ -15,16 +15,8 @@
%div.muted-hint.center-text
= t 'admin.announcements.empty'
- else
.table-wrapper
%table.table
%thead
%tr
%th= t('simple_form.labels.announcement.text')
%th= t('admin.announcements.time_range')
%th= t('admin.announcements.published')
%th
%tbody
= render partial: 'announcement', collection: @announcements
.announcements-list
= render partial: 'announcement', collection: @announcements
= paginate @announcements