diff --git a/app/javascript/images/floppy-1.svg b/app/javascript/images/floppy-1.svg new file mode 100644 index 000000000..08c1e4a6c --- /dev/null +++ b/app/javascript/images/floppy-1.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/javascript/images/floppy-2.svg b/app/javascript/images/floppy-2.svg new file mode 100644 index 000000000..d57a72a72 --- /dev/null +++ b/app/javascript/images/floppy-2.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/javascript/images/floppy-3.svg b/app/javascript/images/floppy-3.svg new file mode 100644 index 000000000..2fe8ef399 --- /dev/null +++ b/app/javascript/images/floppy-3.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/javascript/images/header-cybre-alt.jpg b/app/javascript/images/header-cybre-alt.jpg new file mode 100644 index 000000000..4d2b6b3a8 Binary files /dev/null and b/app/javascript/images/header-cybre-alt.jpg differ diff --git a/app/javascript/images/logo-cybre.png b/app/javascript/images/logo-cybre.png new file mode 100644 index 000000000..41dd8fd4c Binary files /dev/null and b/app/javascript/images/logo-cybre.png differ diff --git a/app/javascript/mastodon/components/status_action_bar.js b/app/javascript/mastodon/components/status_action_bar.js index 66b5a17ac..b0aa42162 100644 --- a/app/javascript/mastodon/components/status_action_bar.js +++ b/app/javascript/mastodon/components/status_action_bar.js @@ -321,8 +321,7 @@ class StatusActionBar extends ImmutablePureComponent {
- - + {shareButton}
diff --git a/app/javascript/mastodon/components/status_content.js b/app/javascript/mastodon/components/status_content.js index 185a2a663..8e4cf0e53 100644 --- a/app/javascript/mastodon/components/status_content.js +++ b/app/javascript/mastodon/components/status_content.js @@ -193,6 +193,7 @@ export default class StatusContent extends React.PureComponent { const showThreadButton = ( ); diff --git a/app/javascript/mastodon/containers/timeline_container.js b/app/javascript/mastodon/containers/timeline_container.js index ed8095f90..8de2379b7 100644 --- a/app/javascript/mastodon/containers/timeline_container.js +++ b/app/javascript/mastodon/containers/timeline_container.js @@ -7,6 +7,7 @@ import { hydrateStore } from '../actions/store'; import { IntlProvider, addLocaleData } from 'react-intl'; import { getLocale } from '../locales'; import PublicTimeline from '../features/standalone/public_timeline'; +import CommunityTimeline from '../features/standalone/community_timeline'; import HashtagTimeline from '../features/standalone/hashtag_timeline'; import ModalContainer from '../features/ui/containers/modal_container'; import initialState from '../initial_state'; @@ -25,22 +26,24 @@ export default class TimelineContainer extends React.PureComponent { static propTypes = { locale: PropTypes.string.isRequired, hashtag: PropTypes.string, - local: PropTypes.bool, + showPublicTimeline: PropTypes.bool.isRequired, }; static defaultProps = { - local: !initialState.settings.known_fediverse, + showPublicTimeline: initialState.settings.known_fediverse, }; render () { - const { locale, hashtag, local } = this.props; + const { locale, hashtag, showPublicTimeline } = this.props; let timeline; if (hashtag) { timeline = ; + } else if (showPublicTimeline) { + timeline = ; } else { - timeline = ; + timeline = ; } return ( @@ -48,7 +51,6 @@ export default class TimelineContainer extends React.PureComponent { {timeline} - {ReactDOM.createPortal( , document.getElementById('modal-container'), diff --git a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js index dc4f48060..c99825895 100644 --- a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js +++ b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js @@ -361,8 +361,8 @@ class EmojiPickerDropdown extends React.PureComponent {
{button || ๐Ÿ™‚}
diff --git a/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js b/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js index 5ec937a39..4c1332153 100644 --- a/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js +++ b/app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js @@ -12,13 +12,13 @@ const DEFAULTS = [ '+1', 'grinning', 'kissing_heart', - 'heart_eyes', + 'vhs', 'laughing', - 'stuck_out_tongue_winking_eye', + 'floppy_disk', 'sweat_smile', 'joy', 'yum', - 'disappointed', + 'computer', 'thinking_face', 'weary', 'sob', diff --git a/app/javascript/mastodon/features/getting_started/index.js b/app/javascript/mastodon/features/getting_started/index.js index 1b9994612..a60c69418 100644 --- a/app/javascript/mastodon/features/getting_started/index.js +++ b/app/javascript/mastodon/features/getting_started/index.js @@ -16,21 +16,21 @@ import LinkFooter from 'mastodon/features/ui/components/link_footer'; import TrendsContainer from './containers/trends_container'; const messages = defineMessages({ - home_timeline: { id: 'tabs_bar.home', defaultMessage: 'Home' }, - notifications: { id: 'tabs_bar.notifications', defaultMessage: 'Notifications' }, - public_timeline: { id: 'navigation_bar.public_timeline', defaultMessage: 'Federated timeline' }, + home_timeline: { id: 'tabs_bar.home', defaultMessage: '/timelines/home' }, + notifications: { id: 'tabs_bar.notifications', defaultMessage: '~/.notifications' }, + public_timeline: { id: 'navigation_bar.public_timeline', defaultMessage: '/timelines/federated' }, settings_subheading: { id: 'column_subheading.settings', defaultMessage: 'Settings' }, - community_timeline: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' }, - direct: { id: 'navigation_bar.direct', defaultMessage: 'Direct messages' }, - bookmarks: { id: 'navigation_bar.bookmarks', defaultMessage: 'Bookmarks' }, - preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' }, - follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' }, - favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' }, - blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocked users' }, - domain_blocks: { id: 'navigation_bar.domain_blocks', defaultMessage: 'Hidden domains' }, - mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' }, - pins: { id: 'navigation_bar.pins', defaultMessage: 'Pinned toots' }, - lists: { id: 'navigation_bar.lists', defaultMessage: 'Lists' }, + community_timeline: { id: 'navigation_bar.community_timeline', defaultMessage: '/timelines/local' }, + direct: { id: 'navigation_bar.direct', defaultMessage: '~/.dms' }, + bookmarks: { id: 'navigation_bar.bookmarks', defaultMessage: '~/.bookmarks' }, + preferences: { id: 'navigation_bar.preferences', defaultMessage: 'edit ~/.config' }, + follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: '~/.follow-requests' }, + favourites: { id: 'navigation_bar.favourites', defaultMessage: '~/.florps' }, + blocks: { id: 'navigation_bar.blocks', defaultMessage: '~/.blocked' }, + domain_blocks: { id: 'navigation_bar.domain_blocks', defaultMessage: '~/.muted/domains' }, + mutes: { id: 'navigation_bar.mutes', defaultMessage: '~/.muted' }, + pins: { id: 'navigation_bar.pins', defaultMessage: '~/.pinned' }, + lists: { id: 'navigation_bar.lists', defaultMessage: '~/.lists' }, discover: { id: 'navigation_bar.discover', defaultMessage: 'Discover' }, personal: { id: 'navigation_bar.personal', defaultMessage: 'Personal' }, security: { id: 'navigation_bar.security', defaultMessage: 'Security' }, diff --git a/app/javascript/mastodon/features/notifications/components/notification.js b/app/javascript/mastodon/features/notifications/components/notification.js index 94fdbd6f4..7c5da8785 100644 --- a/app/javascript/mastodon/features/notifications/components/notification.js +++ b/app/javascript/mastodon/features/notifications/components/notification.js @@ -185,7 +185,7 @@ class Notification extends ImmutablePureComponent {
- +
diff --git a/app/javascript/mastodon/features/standalone/community_timeline/index.js b/app/javascript/mastodon/features/standalone/community_timeline/index.js new file mode 100644 index 000000000..f917f41c9 --- /dev/null +++ b/app/javascript/mastodon/features/standalone/community_timeline/index.js @@ -0,0 +1,71 @@ +import React from 'react'; +import { connect } from 'react-redux'; +import PropTypes from 'prop-types'; +import StatusListContainer from '../../ui/containers/status_list_container'; +import { expandCommunityTimeline } from '../../../actions/timelines'; +import Column from '../../../components/column'; +import ColumnHeader from '../../../components/column_header'; +import { defineMessages, injectIntl } from 'react-intl'; +import { connectCommunityStream } from '../../../actions/streaming'; + +const messages = defineMessages({ + title: { id: 'standalone.public_title', defaultMessage: 'A look inside...' }, +}); + +export default @connect() +@injectIntl +class CommunityTimeline extends React.PureComponent { + + static propTypes = { + dispatch: PropTypes.func.isRequired, + intl: PropTypes.object.isRequired, + }; + + handleHeaderClick = () => { + this.column.scrollTop(); + } + + setRef = c => { + this.column = c; + } + + componentDidMount () { + const { dispatch } = this.props; + + dispatch(expandCommunityTimeline()); + this.disconnect = dispatch(connectCommunityStream()); + } + + componentWillUnmount () { + if (this.disconnect) { + this.disconnect(); + this.disconnect = null; + } + } + + handleLoadMore = maxId => { + this.props.dispatch(expandCommunityTimeline({ maxId })); + } + + render () { + const { intl } = this.props; + + return ( + + + + + + ); + } + +} diff --git a/app/javascript/mastodon/features/status/components/action_bar.js b/app/javascript/mastodon/features/status/components/action_bar.js index d7d504bc5..5c25e5363 100644 --- a/app/javascript/mastodon/features/status/components/action_bar.js +++ b/app/javascript/mastodon/features/status/components/action_bar.js @@ -275,7 +275,7 @@ class ActionBar extends React.PureComponent {
-
+
{shareButton}
diff --git a/app/javascript/mastodon/features/status/components/detailed_status.js b/app/javascript/mastodon/features/status/components/detailed_status.js index 043a749ed..db038fe63 100644 --- a/app/javascript/mastodon/features/status/components/detailed_status.js +++ b/app/javascript/mastodon/features/status/components/detailed_status.js @@ -220,7 +220,7 @@ class DetailedStatus extends ImmutablePureComponent { if (this.context.router) { favouriteLink = ( - + @@ -229,7 +229,7 @@ class DetailedStatus extends ImmutablePureComponent { } else { favouriteLink = ( - + diff --git a/app/javascript/styles/mastodon/containers.scss b/app/javascript/styles/mastodon/containers.scss index cb0301372..1df9af91d 100644 --- a/app/javascript/styles/mastodon/containers.scss +++ b/app/javascript/styles/mastodon/containers.scss @@ -263,8 +263,6 @@ } .container { - max-width: 960px; - @media screen and (max-width: $no-gap-breakpoint) { padding: 0; } diff --git a/app/presenters/instance_presenter.rb b/app/presenters/instance_presenter.rb index 1bfdd40ac..97a4d0d84 100644 --- a/app/presenters/instance_presenter.rb +++ b/app/presenters/instance_presenter.rb @@ -8,6 +8,7 @@ class InstancePresenter :site_description, :site_extended_description, :site_terms, + :open_registrations, :closed_registrations_message, to: Setting ) diff --git a/app/views/layouts/admin.html.haml b/app/views/layouts/admin.html.haml index 62716ab1e..fd3a86698 100644 --- a/app/views/layouts/admin.html.haml +++ b/app/views/layouts/admin.html.haml @@ -8,7 +8,7 @@ .sidebar-wrapper__inner .sidebar = link_to root_path do - = image_pack_tag 'logo.svg', class: 'logo', alt: 'Mastodon' + = image_pack_tag 'logo-cybre.png', class: 'logo', alt: 'Cybrespace' .sidebar__toggle .sidebar__toggle__logo diff --git a/app/views/layouts/auth.html.haml b/app/views/layouts/auth.html.haml index 0ea3bbe3b..d035ce0c6 100644 --- a/app/views/layouts/auth.html.haml +++ b/app/views/layouts/auth.html.haml @@ -6,7 +6,7 @@ .logo-container %h1 = link_to root_path do - = svg_logo_full + = image_pack_tag 'logo-cybre.png', alt: 'Cybrespace' .form-container = render 'flashes' diff --git a/app/views/layouts/public.html.haml b/app/views/layouts/public.html.haml index e63cf0848..05513f241 100644 --- a/app/views/layouts/public.html.haml +++ b/app/views/layouts/public.html.haml @@ -42,7 +42,7 @@ %li= link_to t('about.api'), 'https://docs.joinmastodon.org/client/intro/' .column-2 %h4= link_to t('about.what_is_mastodon'), 'https://joinmastodon.org/' - = link_to svg_logo, root_url, class: 'brand' + = link_to (image_pack_tag 'logo-cybre.png', width: 50), root_url, class: 'brand', alt: 'Cybrespace' .column-3 %h4= site_hostname %ul diff --git a/app/views/statuses/_detailed_status.html.haml b/app/views/statuses/_detailed_status.html.haml index 4c879472d..dfe2107ad 100644 --- a/app/views/statuses/_detailed_status.html.haml +++ b/app/views/statuses/_detailed_status.html.haml @@ -71,7 +71,7 @@ = " " ยท = link_to remote_interaction_path(status, type: :favourite), class: 'modal-button detailed-status__link' do - = fa_icon('star') + = fa_icon('floppy-o') %span.detailed-status__favorites>= number_to_human status.favourites_count, strip_insignificant_zeros: true = " " diff --git a/app/views/statuses/_simple_status.html.haml b/app/views/statuses/_simple_status.html.haml index 236948a84..4ea79f10d 100644 --- a/app/views/statuses/_simple_status.html.haml +++ b/app/views/statuses/_simple_status.html.haml @@ -69,4 +69,4 @@ - else = fa_icon 'envelope fw' = link_to remote_interaction_path(status, type: :favourite), class: 'status__action-bar-button icon-button modal-button' do - = fa_icon 'star fw' + = fa_icon 'floppy-o fw' diff --git a/config/settings.yml b/config/settings.yml index 9cf68a096..a70314bf2 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -2,7 +2,7 @@ # important settings can be changed from the admin interface. defaults: &defaults - site_title: Mastodon + site_title: 'Cybrespace' site_short_description: '' site_description: '' site_extended_description: '' diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index bd0915775..8d78c2337 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -21,7 +21,7 @@ module Mastodon end def suffix - '' + '-cybre' end def to_a diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png index 7a99a1964..8e9c26b58 100644 Binary files a/public/android-chrome-192x192.png and b/public/android-chrome-192x192.png differ diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png index b12aa55a3..691c1f20a 100644 Binary files a/public/apple-touch-icon.png and b/public/apple-touch-icon.png differ diff --git a/public/background-cybre.png b/public/background-cybre.png new file mode 100644 index 000000000..151fd5584 Binary files /dev/null and b/public/background-cybre.png differ diff --git a/public/browserconfig.xml b/public/browserconfig.xml index 7fdab5058..fcf794bc2 100644 --- a/public/browserconfig.xml +++ b/public/browserconfig.xml @@ -3,7 +3,7 @@ - #282c37 + #1ea21e diff --git a/public/emoji/1f418.svg b/public/emoji/1f418.svg index fb9656cd1..3852006c5 100644 --- a/public/emoji/1f418.svg +++ b/public/emoji/1f418.svg @@ -1 +1,17 @@ - \ No newline at end of file + + + + + 1f418 + + + + diff --git a/public/favicon.ico b/public/favicon.ico index 79000c9cc..887128534 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/header.jpeg b/public/header.jpeg new file mode 100644 index 000000000..e9d7b336f Binary files /dev/null and b/public/header.jpeg differ diff --git a/public/logo-cybre-glitch.gif b/public/logo-cybre-glitch.gif new file mode 100644 index 000000000..abe9b2a9a Binary files /dev/null and b/public/logo-cybre-glitch.gif differ diff --git a/public/logo-cybre.png b/public/logo-cybre.png new file mode 100644 index 000000000..41dd8fd4c Binary files /dev/null and b/public/logo-cybre.png differ diff --git a/public/mstile-150x150.png b/public/mstile-150x150.png index a4994062d..a79f11992 100644 Binary files a/public/mstile-150x150.png and b/public/mstile-150x150.png differ diff --git a/public/riot-glitch.png b/public/riot-glitch.png new file mode 100644 index 000000000..1c97ce5f1 Binary files /dev/null and b/public/riot-glitch.png differ