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
+
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