All cybrespace changes through 5/28
BIN
app/javascript/images/background-cybre.png
Normal file
After Width: | Height: | Size: 232 KiB |
BIN
app/javascript/images/logo-cybre.png
Normal file
After Width: | Height: | Size: 184 KiB |
|
@ -140,7 +140,7 @@ export default class StatusActionBar extends ImmutablePureComponent {
|
|||
<div className='status__action-bar'>
|
||||
<IconButton className='status__action-bar-button' title={replyTitle} icon={replyIcon} onClick={this.handleReplyClick} />
|
||||
<IconButton className='status__action-bar-button' disabled={reblogDisabled} active={status.get('reblogged')} title={reblogDisabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)} icon={reblogIcon} onClick={this.handleReblogClick} />
|
||||
<IconButton className='status__action-bar-button star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} />
|
||||
<IconButton className='status__action-bar-button star-icon' animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='floppy-o' onClick={this.handleFavouriteClick} />
|
||||
|
||||
<div className='status__action-bar-dropdown'>
|
||||
<DropdownMenu items={menu} icon='ellipsis-h' size={18} direction='right' ariaLabel='More' />
|
||||
|
|
|
@ -10,19 +10,19 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
|
|||
|
||||
const messages = defineMessages({
|
||||
heading: { id: 'getting_started.heading', defaultMessage: 'Getting started' },
|
||||
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' },
|
||||
navigation_subheading: { id: 'column_subheading.navigation', defaultMessage: 'Navigation' },
|
||||
settings_subheading: { id: 'column_subheading.settings', defaultMessage: 'Settings' },
|
||||
community_timeline: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' },
|
||||
community_timeline: { id: 'navigation_bar.community_timeline', defaultMessage: '/timelines/local' },
|
||||
preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },
|
||||
follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: 'Follow requests' },
|
||||
sign_out: { id: 'navigation_bar.logout', defaultMessage: 'Logout' },
|
||||
favourites: { id: 'navigation_bar.favourites', defaultMessage: 'Favourites' },
|
||||
blocks: { id: 'navigation_bar.blocks', defaultMessage: 'Blocked users' },
|
||||
mutes: { id: 'navigation_bar.mutes', defaultMessage: 'Muted users' },
|
||||
info: { id: 'navigation_bar.info', defaultMessage: 'Extended information' },
|
||||
follow_requests: { id: 'navigation_bar.follow_requests', defaultMessage: '~/.follow-requests' },
|
||||
sign_out: { id: 'navigation_bar.logout', defaultMessage: 'exit' },
|
||||
favourites: { id: 'navigation_bar.favourites', defaultMessage: '~/.florps' },
|
||||
blocks: { id: 'navigation_bar.blocks', defaultMessage: '~/.blocked' },
|
||||
mutes: { id: 'navigation_bar.mutes', defaultMessage: '~/.muted' },
|
||||
info: { id: 'navigation_bar.info', defaultMessage: '/about/more' },
|
||||
});
|
||||
|
||||
const mapStateToProps = state => ({
|
||||
|
@ -65,7 +65,7 @@ export default class GettingStarted extends ImmutablePureComponent {
|
|||
}
|
||||
|
||||
navItems = navItems.concat([
|
||||
<ColumnLink key='4' icon='star' text={intl.formatMessage(messages.favourites)} to='/favourites' />,
|
||||
<ColumnLink key='4' icon='floppy-o' text={intl.formatMessage(messages.favourites)} to='/favourites' />,
|
||||
]);
|
||||
|
||||
if (me.get('locked')) {
|
||||
|
|
|
@ -39,7 +39,7 @@ export default class Notification extends ImmutablePureComponent {
|
|||
<div className='notification notification-favourite'>
|
||||
<div className='notification__message'>
|
||||
<div className='notification__favourite-icon-wrapper'>
|
||||
<i className='fa fa-fw fa-star star-icon' />
|
||||
<i className='fa fa-fw fa-floppy-o star-icon'/>
|
||||
</div>
|
||||
<FormattedMessage id='notification.favourite' defaultMessage='{name} favourited your status' values={{ name: link }} />
|
||||
</div>
|
||||
|
|
|
@ -82,7 +82,7 @@ export default class ActionBar extends React.PureComponent {
|
|||
<div className='detailed-status__action-bar'>
|
||||
<div className='detailed-status__button'><IconButton title={intl.formatMessage(messages.reply)} icon={status.get('in_reply_to_id', null) === null ? 'reply' : 'reply-all'} onClick={this.handleReplyClick} /></div>
|
||||
<div className='detailed-status__button'><IconButton disabled={reblog_disabled} active={status.get('reblogged')} title={reblog_disabled ? intl.formatMessage(messages.cannot_reblog) : intl.formatMessage(messages.reblog)} icon={reblogIcon} onClick={this.handleReblogClick} /></div>
|
||||
<div className='detailed-status__button'><IconButton animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='star' onClick={this.handleFavouriteClick} activeStyle={{ color: '#ca8f04' }} /></div>
|
||||
<div className='detailed-status__button'><IconButton animate active={status.get('favourited')} title={intl.formatMessage(messages.favourite)} icon='floppy-o' onClick={this.handleFavouriteClick} activeStyle={{ color: '#ca8f04' }} /></div>
|
||||
|
||||
<div className='detailed-status__action-bar-dropdown'>
|
||||
<DropdownMenu size={18} icon='ellipsis-h' items={menu} direction='left' ariaLabel='More' />
|
||||
|
|
|
@ -76,7 +76,7 @@ export default class DetailedStatus extends ImmutablePureComponent {
|
|||
<FormattedNumber value={status.get('reblogs_count')} />
|
||||
</span>
|
||||
</Link> · <Link to={`/statuses/${status.get('id')}/favourites`} className='detailed-status__link'>
|
||||
<i className='fa fa-star' />
|
||||
<i className='fa fa-floppy-o' />
|
||||
<span className='detailed-status__favorites'>
|
||||
<FormattedNumber value={status.get('favourites_count')} />
|
||||
</span>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"account.block": "Block @{name}",
|
||||
"account.block_domain": "Hide everything from {domain}",
|
||||
"account.disclaimer": "This user is from another instance. This number may be larger.",
|
||||
"account.edit_profile": "Edit profile",
|
||||
"account.edit_profile": "edit ~/.profile",
|
||||
"account.follow": "Follow",
|
||||
"account.followers": "Followers",
|
||||
"account.follows": "Follows",
|
||||
|
@ -10,7 +10,7 @@
|
|||
"account.media": "Media",
|
||||
"account.mention": "Mention @{name}",
|
||||
"account.mute": "Mute @{name}",
|
||||
"account.posts": "Posts",
|
||||
"account.posts": "Pings",
|
||||
"account.report": "Report @{name}",
|
||||
"account.requested": "Awaiting approval",
|
||||
"account.unblock": "Unblock @{name}",
|
||||
|
@ -18,14 +18,14 @@
|
|||
"account.unfollow": "Unfollow",
|
||||
"account.unmute": "Unmute @{name}",
|
||||
"boost_modal.combo": "You can press {combo} to skip this next time",
|
||||
"column.blocks": "Blocked users",
|
||||
"column.community": "Local timeline",
|
||||
"column.favourites": "Favourites",
|
||||
"column.follow_requests": "Follow requests",
|
||||
"column.home": "Home",
|
||||
"column.mutes": "Muted users",
|
||||
"column.notifications": "Notifications",
|
||||
"column.public": "Federated timeline",
|
||||
"column.blocks": "~/.blocked",
|
||||
"column.community": "/timelines/local",
|
||||
"column.favourites": "~/.florps",
|
||||
"column.follow_requests": "~/.follow-requests",
|
||||
"column.home": "/timelines/home",
|
||||
"column.mutes": "~/.muted",
|
||||
"column.notifications": "~/.notifications",
|
||||
"column.public": "/timelines/federated",
|
||||
"column_back_button.label": "Back",
|
||||
"column_header.pin": "Pin",
|
||||
"column_header.unpin": "Unpin",
|
||||
|
@ -33,9 +33,9 @@
|
|||
"column_subheading.settings": "Settings",
|
||||
"compose_form.lock_disclaimer": "Your account is not {locked}. Anyone can follow you to view your follower-only posts.",
|
||||
"compose_form.lock_disclaimer.lock": "locked",
|
||||
"compose_form.placeholder": "What is on your mind?",
|
||||
"compose_form.placeholder": "What is in your databanks?",
|
||||
"compose_form.privacy_disclaimer": "Your post will be delivered to mentioned users on {domains}. Do you trust {domainsCount, plural, one {that server} other {those servers}}? Post privacy only works on Mastodon instances. If {domains} {domainsCount, plural, one {is not a Mastodon instance} other {are not Mastodon instances}}, there will be no indication that your post is not a public post, and it may be boosted or otherwise made visible to unintended recipients.",
|
||||
"compose_form.publish": "Toot",
|
||||
"compose_form.publish": "Ping",
|
||||
"compose_form.publish_loud": "{publish}!",
|
||||
"compose_form.sensitive": "Mark media as sensitive",
|
||||
"compose_form.spoiler": "Hide text behind warning",
|
||||
|
@ -61,7 +61,7 @@
|
|||
"emoji_button.travel": "Travel & Places",
|
||||
"empty_column.community": "The local timeline is empty. Write something publicly to get the ball rolling!",
|
||||
"empty_column.hashtag": "There is nothing in this hashtag yet.",
|
||||
"empty_column.home": "You aren't following anyone yet. Visit {public} or use search to get started and meet other users.",
|
||||
"empty_column.home": "You aren't following anyone yet. Visit {public} or use query to get started and meet other users.",
|
||||
"empty_column.home.inactivity": "Your home feed is empty. If you have been inactive for a while, it will be regenerated for you soon.",
|
||||
"empty_column.home.public_timeline": "the public timeline",
|
||||
"empty_column.notifications": "You don't have any notifications yet. Interact with others to start the conversation.",
|
||||
|
@ -76,24 +76,24 @@
|
|||
"home.column_settings.advanced": "Advanced",
|
||||
"home.column_settings.basic": "Basic",
|
||||
"home.column_settings.filter_regex": "Filter out by regular expressions",
|
||||
"home.column_settings.show_reblogs": "Show boosts",
|
||||
"home.column_settings.show_reblogs": "Show relays",
|
||||
"home.column_settings.show_replies": "Show replies",
|
||||
"home.settings": "Column settings",
|
||||
"lightbox.close": "Close",
|
||||
"loading_indicator.label": "Loading...",
|
||||
"media_gallery.toggle_visible": "Toggle visibility",
|
||||
"missing_indicator.label": "Not found",
|
||||
"navigation_bar.blocks": "Blocked users",
|
||||
"navigation_bar.community_timeline": "Local timeline",
|
||||
"navigation_bar.edit_profile": "Edit profile",
|
||||
"navigation_bar.favourites": "Favourites",
|
||||
"navigation_bar.follow_requests": "Follow requests",
|
||||
"navigation_bar.info": "About this instance",
|
||||
"navigation_bar.logout": "Logout",
|
||||
"navigation_bar.mutes": "Muted users",
|
||||
"navigation_bar.blocks": "~/.blocks",
|
||||
"navigation_bar.community_timeline": "/timelines/local",
|
||||
"navigation_bar.edit_profile": "edit ~/.profile",
|
||||
"navigation_bar.favourites": "~/.florps",
|
||||
"navigation_bar.follow_requests": "~/.follow-requests",
|
||||
"navigation_bar.info": "/about/more",
|
||||
"navigation_bar.logout": "Jack out",
|
||||
"navigation_bar.mutes": "~/.muted",
|
||||
"navigation_bar.preferences": "Preferences",
|
||||
"navigation_bar.public_timeline": "Federated timeline",
|
||||
"notification.favourite": "{name} favourited your status",
|
||||
"navigation_bar.public_timeline": "/timelines/federated",
|
||||
"notification.favourite": "{name} florped your ping",
|
||||
"notification.follow": "{name} followed you",
|
||||
"notification.mention": "{name} mentioned you",
|
||||
"notification.reblog": "{name} boosted your status",
|
||||
|
@ -140,18 +140,18 @@
|
|||
"report.placeholder": "Additional comments",
|
||||
"report.submit": "Submit",
|
||||
"report.target": "Reporting",
|
||||
"search.placeholder": "Search",
|
||||
"search.placeholder": "Query...",
|
||||
"search_results.total": "{count, number} {count, plural, one {result} other {results}}",
|
||||
"status.cannot_reblog": "This post cannot be boosted",
|
||||
"status.cannot_reblog": "This ping cannot be relayed",
|
||||
"status.delete": "Delete",
|
||||
"status.favourite": "Favourite",
|
||||
"status.favourite": "Florp",
|
||||
"status.load_more": "Load more",
|
||||
"status.media_hidden": "Media hidden",
|
||||
"status.mention": "Mention @{name}",
|
||||
"status.mute_conversation": "Mute conversation",
|
||||
"status.open": "Expand this status",
|
||||
"status.reblog": "Boost",
|
||||
"status.reblogged_by": "{name} boosted",
|
||||
"status.reblog": "Relay",
|
||||
"status.reblogged_by": "{name} relayed",
|
||||
"status.reply": "Reply",
|
||||
"status.replyAll": "Reply to thread",
|
||||
"status.report": "Report @{name}",
|
||||
|
|
|
@ -12,13 +12,25 @@ body {
|
|||
@media screen and (min-width: 1300px) {
|
||||
.column {
|
||||
flex-grow: 1 !important;
|
||||
max-width: 400px;
|
||||
max-width: 500px;
|
||||
}
|
||||
|
||||
.drawer {
|
||||
width: 17%;
|
||||
max-width: 400px;
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.columns-area {
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 1900px) {
|
||||
.column, .drawer {
|
||||
width: 400px;
|
||||
border-radius: 4px;
|
||||
height: 96vh;
|
||||
margin-top: 2vh;
|
||||
}
|
||||
}
|
||||
|
||||
.muted {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class StatusLengthValidator < ActiveModel::Validator
|
||||
MAX_CHARS = 500
|
||||
MAX_CHARS = 512
|
||||
|
||||
def validate(status)
|
||||
return unless status.local? && !status.reblog?
|
||||
|
|
|
@ -9,4 +9,4 @@
|
|||
%li= link_to t('about.get_started'), new_user_registration_path
|
||||
%li= link_to t('auth.login'), new_user_session_path
|
||||
%li= link_to t('about.terms'), terms_path
|
||||
%li= link_to t('about.source_code'), 'https://github.com/tootsuite/mastodon'
|
||||
%li= link_to t('about.source_code'), 'https://github.com/chronister/mastodon'
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
.wrapper
|
||||
%h1
|
||||
= image_tag asset_pack_path('logo.png')
|
||||
= image_tag asset_pack_path('logo-cybre.png')
|
||||
= Setting.site_title
|
||||
|
||||
%p!= t('about.about_mastodon')
|
||||
|
@ -36,7 +36,7 @@
|
|||
.info
|
||||
= link_to t('auth.login'), new_user_session_path, class: 'webapp-btn'
|
||||
·
|
||||
= link_to t('about.other_instances'), 'https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/List-of-Mastodon-instances.md'
|
||||
= link_to t('about.other_instances'), 'https://instances.mastodon.xyz/'
|
||||
·
|
||||
= link_to t('about.about_this'), about_more_path
|
||||
|
||||
|
@ -82,6 +82,6 @@
|
|||
·
|
||||
= link_to t('about.apps'), 'https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/Apps.md'
|
||||
·
|
||||
= link_to t('about.source_code'), 'https://github.com/tootsuite/mastodon'
|
||||
= link_to t('about.source_code'), 'https://github.com/chronister/mastodon'
|
||||
·
|
||||
= link_to t('about.other_instances'), 'https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/List-of-Mastodon-instances.md'
|
||||
= link_to t('about.other_instances'), 'https://instances.mastodon.xyz/'
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
.sidebar-wrapper
|
||||
.sidebar
|
||||
= link_to root_path do
|
||||
= image_tag asset_pack_path('logo.png'), class: 'logo'
|
||||
= image_tag asset_pack_path('logo-cybre.png'), class: 'logo'
|
||||
|
||||
= render_navigation
|
||||
.content-wrapper
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
.logo-container
|
||||
%h1
|
||||
= link_to root_path do
|
||||
= image_tag asset_pack_path('logo.png')
|
||||
= image_tag asset_pack_path('logo-cybre.png')
|
||||
|
||||
.form-container
|
||||
= render 'flashes'
|
||||
|
|
|
@ -1,30 +1,30 @@
|
|||
---
|
||||
en:
|
||||
about:
|
||||
about_mastodon: Mastodon is a <em>free, open-source</em> social network. A <em>decentralized</em> alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust — whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the <em>social network</em> seamlessly.
|
||||
about_mastodon: Cybrespace is an instance of Mastodon, a <em>free, open-source</em> social network. A <em>decentralized</em> alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust — whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the <em>social network</em> seamlessly.
|
||||
about_this: About this instance
|
||||
apps: Apps
|
||||
business_email: 'Business e-mail:'
|
||||
closed_registrations: Registrations are currently closed on this instance.
|
||||
contact: Contact
|
||||
description_headline: What is %{domain}?
|
||||
description_headline: What's special about %{domain}?
|
||||
domain_count_after: other instances
|
||||
domain_count_before: Connected to
|
||||
features:
|
||||
api: Open API for apps and services
|
||||
blocks: Rich block and muting tools
|
||||
characters: 500 characters per post
|
||||
characters: 512 characters per post
|
||||
chronology: Timelines are chronological
|
||||
ethics: 'Ethical design: no ads, no tracking'
|
||||
gifv: GIFV sets and short videos
|
||||
privacy: Granular, per-post privacy settings
|
||||
privacy: Granular, per-ping privacy settings
|
||||
public: Public timelines
|
||||
features_headline: What sets Mastodon apart
|
||||
get_started: Get started
|
||||
links: Links
|
||||
other_instances: Other instances
|
||||
source_code: Source code
|
||||
status_count_after: statuses
|
||||
status_count_after: pings
|
||||
status_count_before: Who authored
|
||||
terms: Terms
|
||||
user_count_after: users
|
||||
|
@ -37,7 +37,7 @@ en:
|
|||
nothing_here: There is nothing here!
|
||||
people_followed_by: People whom %{name} follows
|
||||
people_who_follow: People who follow %{name}
|
||||
posts: Posts
|
||||
posts: Pings
|
||||
remote_follow: Remote follow
|
||||
reserved_username: The username is reserved
|
||||
unfollow: Unfollow
|
||||
|
@ -205,9 +205,9 @@ en:
|
|||
delete_account_html: If you wish to delete your account, you can <a href="%{path}">proceed here</a>. You will be asked for confirmation.
|
||||
didnt_get_confirmation: Didn't receive confirmation instructions?
|
||||
forgot_password: Forgot your password?
|
||||
login: Log in
|
||||
logout: Logout
|
||||
register: Sign up
|
||||
login: Jack in
|
||||
logout: Jack out
|
||||
register: Apply for upload
|
||||
resend_confirmation: Resend confirmation instructions
|
||||
reset_password: Reset password
|
||||
set_new_password: Set new password
|
||||
|
@ -255,7 +255,7 @@ en:
|
|||
storage: Media storage
|
||||
followers:
|
||||
domain: Domain
|
||||
explanation_html: If you want to ensure the privacy of your statuses, you must be aware of who is following you. <strong>Your private statuses are delivered to all instances where you have followers</strong>. You may wish to review them, and remove followers if you do not trust your privacy to be respected by the staff or software of those instances.
|
||||
explanation_html: If you want to ensure the privacy of your pings , you must be aware of who is following you. <strong>Your private pings are delivered to all instances where you have followers</strong>. You may wish to review them, and remove followers if you do not trust your privacy to be respected by the staff or software of those instances.
|
||||
followers_count: Number of followers
|
||||
lock_link: Lock your account
|
||||
purge: Remove from followers
|
||||
|
@ -263,7 +263,7 @@ en:
|
|||
one: In the process of soft-blocking followers from one domain...
|
||||
other: In the process of soft-blocking followers from %{count} domains...
|
||||
true_privacy_html: Please mind that <strong>true privacy can only be achieved with end-to-end encryption</strong>.
|
||||
unlocked_warning_html: Anyone can follow you to immediately view your private statuses. %{lock_link} to be able to review and reject followers.
|
||||
unlocked_warning_html: Anyone can follow you to immediately view your private pings. %{lock_link} to be able to review and reject followers.
|
||||
unlocked_warning_title: Your account is not locked
|
||||
generic:
|
||||
changes_saved_msg: Changes successfully saved!
|
||||
|
@ -284,7 +284,7 @@ en:
|
|||
landing_strip_signup_html: If you don't, you can <a href="%{sign_up_path}">sign up here</a>.
|
||||
media_attachments:
|
||||
validations:
|
||||
images_and_video: Cannot attach a video to a status that already contains images
|
||||
images_and_video: Cannot attach a video to a ping that already contains images
|
||||
too_many: Cannot attach more than 4 files
|
||||
notification_mailer:
|
||||
digest:
|
||||
|
@ -297,8 +297,8 @@ en:
|
|||
one: "1 new notification since your last visit \U0001F418"
|
||||
other: "%{count} new notifications since your last visit \U0001F418"
|
||||
favourite:
|
||||
body: 'Your status was favourited by %{name}:'
|
||||
subject: "%{name} favourited your status"
|
||||
body: 'Your ping was florped by %{name}:'
|
||||
subject: "%{name} florped your ping"
|
||||
follow:
|
||||
body: "%{name} is now following you!"
|
||||
subject: "%{name} is now following you"
|
||||
|
@ -309,8 +309,8 @@ en:
|
|||
body: 'You were mentioned by %{name} in:'
|
||||
subject: You were mentioned by %{name}
|
||||
reblog:
|
||||
body: 'Your status was boosted by %{name}:'
|
||||
subject: "%{name} boosted your status"
|
||||
body: 'Your ping was relayed by %{name}:'
|
||||
subject: "%{name} relayed your ping"
|
||||
pagination:
|
||||
next: Next
|
||||
prev: Prev
|
||||
|
@ -324,7 +324,7 @@ en:
|
|||
authorized_apps: Authorized apps
|
||||
back: Back to Mastodon
|
||||
delete: Account deletion
|
||||
edit_profile: Edit profile
|
||||
edit_profile: edit ~/.profile
|
||||
export: Data export
|
||||
followers: Authorized followers
|
||||
import: Import
|
||||
|
@ -344,7 +344,7 @@ en:
|
|||
unlisted_long: Everyone can see, but not listed on public timelines
|
||||
stream_entries:
|
||||
click_to_show: Click to show
|
||||
reblogged: boosted
|
||||
reblogged: relayed
|
||||
sensitive_content: Sensitive content
|
||||
time:
|
||||
formats:
|
||||
|
|
|
@ -8,7 +8,7 @@ en:
|
|||
one: <span class="name-counter">1</span> character left
|
||||
other: <span class="name-counter">%{count}</span> characters left
|
||||
header: PNG, GIF or JPG. At most 2MB. Will be downscaled to 700x335px
|
||||
locked: Requires you to manually approve followers and defaults post privacy to followers-only
|
||||
locked: Requires you to manually approve followers and defaults ping privacy to followers-only
|
||||
note:
|
||||
one: <span class="note-counter">1</span> character left
|
||||
other: <span class="note-counter">%{count}</span> characters left
|
||||
|
@ -46,11 +46,11 @@ en:
|
|||
must_be_following: Block notifications from people you don't follow
|
||||
notification_emails:
|
||||
digest: Send digest e-mails
|
||||
favourite: Send e-mail when someone favourites your status
|
||||
favourite: Send e-mail when someone florps your ping
|
||||
follow: Send e-mail when someone follows you
|
||||
follow_request: Send e-mail when someone requests to follow you
|
||||
mention: Send e-mail when someone mentions you
|
||||
reblog: Send e-mail when someone boosts your status
|
||||
reblog: Send e-mail when someone boosts your ping
|
||||
'no': 'No'
|
||||
required:
|
||||
mark: "*"
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
# For more information, see docs/Running-Mastodon/Administration-guide.md
|
||||
#
|
||||
defaults: &defaults
|
||||
site_title: Mastodon
|
||||
site_title: 'Cybrespace'
|
||||
site_description: ''
|
||||
site_extended_description: ''
|
||||
site_contact_username: ''
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
<style>
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
||||
background: #282c37;
|
||||
color: #9baec8;
|
||||
background: #181818 url("/background-cybre.png");
|
||||
color: #1ea21e;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
padding: 20px;
|
||||
|
@ -33,7 +33,7 @@
|
|||
|
||||
<body>
|
||||
<div class="dialog">
|
||||
<img src="/oops.png" alt="Mastodon" />
|
||||
<img src="/logo-cybre-glitch.gif" alt="Cybrespace" />
|
||||
|
||||
<div>
|
||||
<h1>We're sorry, but something went wrong.</h1>
|
||||
|
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 37 KiB |
BIN
public/background-cybre.png
Normal file
After Width: | Height: | Size: 232 KiB |
|
@ -3,7 +3,7 @@
|
|||
<msapplication>
|
||||
<tile>
|
||||
<square150x150logo src="/mstile-150x150.png"/>
|
||||
<TileColor>#2b5797</TileColor>
|
||||
<TileColor>#1ea21e</TileColor>
|
||||
</tile>
|
||||
</msapplication>
|
||||
</browserconfig>
|
||||
|
|
22
public/clock.js
Normal file
|
@ -0,0 +1,22 @@
|
|||
document.addEventListener("DOMContentLoaded", function(event) {
|
||||
updateClock();
|
||||
setInterval(updateClock, 1000);
|
||||
});
|
||||
|
||||
function updateClock() {
|
||||
var clock = document.querySelector(".closed-registrations-message .clock");
|
||||
var now = new Date();
|
||||
var open = new Date(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate());
|
||||
var ts = open.setUTCHours(19);
|
||||
if (open - now < 0) {
|
||||
open = new Date(ts + 24*60*60*1000);
|
||||
}
|
||||
var until = open - now;
|
||||
var ms = until % 1000;
|
||||
var s = Math.floor((until / 1000)) % 60;
|
||||
var m = Math.floor((until / 1000 / 60)) % 60;
|
||||
var h = Math.floor((until / 1000 / 60 / 60));
|
||||
if (m < 10) m = "0" + m;
|
||||
if (s < 10) s = "0" + s;
|
||||
clock.innerHTML = h + ":" + m + ":" + s;
|
||||
}
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 310 KiB |
BIN
public/logo-cybre-glitch.gif
Normal file
After Width: | Height: | Size: 818 KiB |
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 27 KiB |