@ -296,7 +296,7 @@
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background: lighten($ui-base-color, 13%) url('~images/wave-drawer.png') no-repeat bottom / 100% auto;
|
||||
background: lighten($ui-base-color, 13%) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 234.80078 31.757813" width="234.80078" height="31.757812"><path d="M19.599609 0c-1.05 0-2.10039.375-2.90039 1.125L0 16.925781v14.832031h234.80078V17.025391l-16.5-15.900391c-1.6-1.5-4.20078-1.5-5.80078 0l-13.80078 13.099609c-1.6 1.5-4.19883 1.5-5.79883 0L179.09961 1.125c-1.6-1.5-4.19883-1.5-5.79883 0L159.5 14.224609c-1.6 1.5-4.20078 1.5-5.80078 0L139.90039 1.125c-1.6-1.5-4.20078-1.5-5.80078 0l-13.79883 13.099609c-1.6 1.5-4.20078 1.5-5.80078 0L100.69922 1.125c-1.600001-1.5-4.198829-1.5-5.798829 0l-13.59961 13.099609c-1.6 1.5-4.200781 1.5-5.800781 0L61.699219 1.125c-1.6-1.5-4.198828-1.5-5.798828 0L42.099609 14.224609c-1.6 1.5-4.198828 1.5-5.798828 0L22.5 1.125C21.7.375 20.649609 0 19.599609 0z" fill="#{hex-color($ui-base-color)}"/></svg>') no-repeat bottom / 100% auto;
|
||||
box-sizing: border-box;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
@ -311,7 +311,7 @@
|
||||
}
|
||||
|
||||
> .mastodon {
|
||||
background: url('~images/mastodon-ui.png') no-repeat left bottom / contain;
|
||||
background: url('~images/elephant_ui_plane.svg') no-repeat left bottom / contain;
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
|
@ -77,13 +77,12 @@
|
||||
height: 80vh;
|
||||
width: 80vw;
|
||||
max-width: 520px;
|
||||
max-height: 420px;
|
||||
max-height: 470px;
|
||||
|
||||
.react-swipeable-view-container > div {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
padding: 25px;
|
||||
display: none;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
@ -156,23 +155,32 @@
|
||||
.onboarding-modal__nav,
|
||||
.error-modal__nav {
|
||||
color: darken($ui-secondary-color, 34%);
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
padding: 0;
|
||||
padding: 10px 25px;
|
||||
line-height: inherit;
|
||||
height: auto;
|
||||
margin: -10px;
|
||||
border-radius: 4px;
|
||||
background-color: transparent;
|
||||
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
color: darken($ui-secondary-color, 38%);
|
||||
background-color: darken($ui-secondary-color, 16%);
|
||||
}
|
||||
|
||||
&.onboarding-modal__done,
|
||||
&.onboarding-modal__next {
|
||||
color: $ui-highlight-color;
|
||||
color: $ui-base-color;
|
||||
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
color: darken($ui-base-color, 4%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -208,6 +216,8 @@
|
||||
|
||||
.onboarding-modal__page__wrapper {
|
||||
pointer-events: none;
|
||||
padding: 25px;
|
||||
padding-bottom: 0;
|
||||
|
||||
&.onboarding-modal__page__wrapper--active {
|
||||
pointer-events: auto;
|
||||
@ -235,6 +245,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
.navigation-bar a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 16px;
|
||||
color: lighten($ui-base-color, 8%);
|
||||
@ -262,29 +276,56 @@
|
||||
}
|
||||
}
|
||||
|
||||
.onboarding-modal__page__wrapper-0 {
|
||||
background: url('~images/elephant_ui_greeting.svg') no-repeat left bottom / auto 250px;
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.onboarding-modal__page-one {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
&__lead {
|
||||
padding: 65px;
|
||||
padding-top: 45px;
|
||||
padding-bottom: 0;
|
||||
margin-bottom: 10px;
|
||||
|
||||
.onboarding-modal__page-one__elephant-friend {
|
||||
background: url('~images/elephant-friend-1.png') no-repeat center center / contain;
|
||||
width: 155px;
|
||||
height: 193px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 26px;
|
||||
line-height: 36px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 400px) {
|
||||
.onboarding-modal__page-one {
|
||||
flex-direction: column;
|
||||
align-items: normal;
|
||||
p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.onboarding-modal__page-one__elephant-friend {
|
||||
width: 100%;
|
||||
height: 30vh;
|
||||
max-height: 160px;
|
||||
margin-bottom: 5vh;
|
||||
&__extra {
|
||||
padding-right: 65px;
|
||||
padding-left: 185px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.display-case {
|
||||
text-align: center;
|
||||
font-size: 15px;
|
||||
margin-bottom: 15px;
|
||||
|
||||
&__label {
|
||||
font-weight: 500;
|
||||
color: $ui-base-color;
|
||||
margin-bottom: 5px;
|
||||
text-transform: uppercase;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
&__case {
|
||||
background: $ui-base-color;
|
||||
color: $ui-secondary-color;
|
||||
font-weight: 500;
|
||||
padding: 10px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
@ -374,16 +415,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
.onboarding-modal__image {
|
||||
border-radius: 8px;
|
||||
width: 70vw;
|
||||
max-width: 450px;
|
||||
max-height: auto;
|
||||
display: block;
|
||||
margin: auto;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.onboard-sliders {
|
||||
display: inline-block;
|
||||
max-width: 30px;
|
||||
|
@ -1,5 +1,5 @@
|
||||
.modal-layout {
|
||||
background: $ui-base-color url('~images/wave-modal.png') repeat-x bottom fixed;
|
||||
background: $ui-base-color url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 234.80078 31.757813" width="234.80078" height="31.757812"><path d="M19.599609 0c-1.05 0-2.10039.375-2.90039 1.125L0 16.925781v14.832031h234.80078V17.025391l-16.5-15.900391c-1.6-1.5-4.20078-1.5-5.80078 0l-13.80078 13.099609c-1.6 1.5-4.19883 1.5-5.79883 0L179.09961 1.125c-1.6-1.5-4.19883-1.5-5.79883 0L159.5 14.224609c-1.6 1.5-4.20078 1.5-5.80078 0L139.90039 1.125c-1.6-1.5-4.20078-1.5-5.80078 0l-13.79883 13.099609c-1.6 1.5-4.20078 1.5-5.80078 0L100.69922 1.125c-1.600001-1.5-4.198829-1.5-5.798829 0l-13.59961 13.099609c-1.6 1.5-4.200781 1.5-5.800781 0L61.699219 1.125c-1.6-1.5-4.198828-1.5-5.798828 0L42.099609 14.224609c-1.6 1.5-4.198828 1.5-5.798828 0L22.5 1.125C21.7.375 20.649609 0 19.599609 0z" fill="#{hex-color($ui-base-lighter-color)}"/></svg>') repeat-x bottom fixed;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100vh;
|
||||
@ -15,6 +15,6 @@
|
||||
> * {
|
||||
flex: 1;
|
||||
max-height: 235px;
|
||||
background: url('~images/mastodon-ui.png') no-repeat left bottom / contain;
|
||||
background: url('~images/elephant_ui_plane.svg') no-repeat left bottom / contain;
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 142 KiB |
1
app/javascript/images/elephant_ui_greeting.svg
Normal file
After Width: | Height: | Size: 17 KiB |
1
app/javascript/images/elephant_ui_plane.svg
Normal file
After Width: | Height: | Size: 11 KiB |
4
app/javascript/images/icon_done.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<svg fill="#FFFFFF" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M0 0h24v24H0z" fill="none"/>
|
||||
<path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 214 B |
BIN
app/javascript/images/mailer/icon_cached.png
Normal file
After Width: | Height: | Size: 754 B |
BIN
app/javascript/images/mailer/icon_done.png
Normal file
After Width: | Height: | Size: 279 B |
BIN
app/javascript/images/mailer/icon_email.png
Normal file
After Width: | Height: | Size: 520 B |
BIN
app/javascript/images/mailer/icon_grade.png
Normal file
After Width: | Height: | Size: 541 B |
BIN
app/javascript/images/mailer/icon_lock_open.png
Normal file
After Width: | Height: | Size: 550 B |
BIN
app/javascript/images/mailer/icon_person_add.png
Normal file
After Width: | Height: | Size: 512 B |
BIN
app/javascript/images/mailer/icon_reply.png
Normal file
After Width: | Height: | Size: 391 B |
BIN
app/javascript/images/mailer/logo_full.png
Normal file
After Width: | Height: | Size: 3.0 KiB |
BIN
app/javascript/images/mailer/logo_transparent.png
Normal file
After Width: | Height: | Size: 627 B |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 5.1 KiB |
@ -24,14 +24,23 @@ const messages = defineMessages({
|
||||
|
||||
const PageOne = ({ acct, domain }) => (
|
||||
<div className='onboarding-modal__page onboarding-modal__page-one'>
|
||||
<div style={{ flex: '0 0 auto' }}>
|
||||
<div className='onboarding-modal__page-one__elephant-friend' />
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div className='onboarding-modal__page-one__lead'>
|
||||
<h1><FormattedMessage id='onboarding.page_one.welcome' defaultMessage='Welcome to Mastodon!' /></h1>
|
||||
<p><FormattedMessage id='onboarding.page_one.federation' defaultMessage='Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.' /></p>
|
||||
<p><FormattedMessage id='onboarding.page_one.handle' defaultMessage='You are on {domain}, so your full handle is {handle}' values={{ domain, handle: <strong>@{acct}@{domain}</strong> }} /></p>
|
||||
</div>
|
||||
|
||||
<div className='onboarding-modal__page-one__extra'>
|
||||
<div className='display-case'>
|
||||
<div className='display-case__label'>
|
||||
<FormattedMessage id='onboarding.page_one.full_handle' defaultMessage='Your full handle' />
|
||||
</div>
|
||||
|
||||
<div className='display-case__case'>
|
||||
@{acct}@{domain}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p><FormattedMessage id='onboarding.page_one.handle_hint' defaultMessage='This is what you would tell your friends to search for.' /></p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
@ -46,22 +55,23 @@ const PageTwo = ({ myAccount }) => (
|
||||
<div className='figure non-interactive'>
|
||||
<div className='pseudo-drawer'>
|
||||
<NavigationBar account={myAccount} />
|
||||
|
||||
<ComposeForm
|
||||
text='Awoo! #introductions'
|
||||
suggestions={ImmutableList()}
|
||||
mentionedDomains={[]}
|
||||
spoiler={false}
|
||||
onChange={noop}
|
||||
onSubmit={noop}
|
||||
onPaste={noop}
|
||||
onPickEmoji={noop}
|
||||
onChangeSpoilerText={noop}
|
||||
onClearSuggestions={noop}
|
||||
onFetchSuggestions={noop}
|
||||
onSuggestionSelected={noop}
|
||||
showSearch
|
||||
/>
|
||||
</div>
|
||||
<ComposeForm
|
||||
text='Awoo! #introductions'
|
||||
suggestions={ImmutableList()}
|
||||
mentionedDomains={[]}
|
||||
spoiler={false}
|
||||
onChange={noop}
|
||||
onSubmit={noop}
|
||||
onPaste={noop}
|
||||
onPickEmoji={noop}
|
||||
onChangeSpoilerText={noop}
|
||||
onClearSuggestions={noop}
|
||||
onFetchSuggestions={noop}
|
||||
onSuggestionSelected={noop}
|
||||
showSearch
|
||||
/>
|
||||
</div>
|
||||
|
||||
<p><FormattedMessage id='onboarding.page_two.compose' defaultMessage='Write posts from the compose column. You can upload images, change privacy settings, and add content warnings with the icons below.' /></p>
|
||||
@ -251,18 +261,12 @@ export default class OnboardingModal extends React.PureComponent {
|
||||
const hasMore = currentIndex < pages.length - 1;
|
||||
|
||||
const nextOrDoneBtn = hasMore ? (
|
||||
<button
|
||||
onClick={this.handleNext}
|
||||
className='onboarding-modal__nav onboarding-modal__next'
|
||||
>
|
||||
<FormattedMessage id='onboarding.next' defaultMessage='Next' />
|
||||
<button onClick={this.handleNext} className='onboarding-modal__nav onboarding-modal__next shake-bottom'>
|
||||
<FormattedMessage id='onboarding.next' defaultMessage='Next' /> <i className='fa fa-fw fa-chevron-right' />
|
||||
</button>
|
||||
) : (
|
||||
<button
|
||||
onClick={this.handleClose}
|
||||
className='onboarding-modal__nav onboarding-modal__done'
|
||||
>
|
||||
<FormattedMessage id='onboarding.done' defaultMessage='Done' />
|
||||
<button onClick={this.handleClose} className='onboarding-modal__nav onboarding-modal__done shake-bottom'>
|
||||
<FormattedMessage id='onboarding.done' defaultMessage='Done' /> <i className='fa fa-fw fa-check' />
|
||||
</button>
|
||||
);
|
||||
|
||||
@ -270,9 +274,10 @@ export default class OnboardingModal extends React.PureComponent {
|
||||
<div className='modal-root__modal onboarding-modal'>
|
||||
<ReactSwipeableViews index={currentIndex} onChangeIndex={this.handleSwipe} className='onboarding-modal__pager'>
|
||||
{pages.map((page, i) => {
|
||||
const className = classNames('onboarding-modal__page__wrapper', {
|
||||
const className = classNames('onboarding-modal__page__wrapper', `onboarding-modal__page__wrapper-${i}`, {
|
||||
'onboarding-modal__page__wrapper--active': i === currentIndex,
|
||||
});
|
||||
|
||||
return (
|
||||
<div key={i} className={className}>{page}</div>
|
||||
);
|
||||
@ -294,6 +299,7 @@ export default class OnboardingModal extends React.PureComponent {
|
||||
const className = classNames('onboarding-modal__dot', {
|
||||
active: i === currentIndex,
|
||||
});
|
||||
|
||||
return (
|
||||
<div
|
||||
key={`dot-${i}`}
|
||||
|
@ -181,7 +181,8 @@
|
||||
"onboarding.page_four.home": "The home timeline shows posts from people you follow.",
|
||||
"onboarding.page_four.notifications": "The notifications column shows when someone interacts with you.",
|
||||
"onboarding.page_one.federation": "Mastodon is a network of independent servers joining up to make one larger social network. We call these servers instances.",
|
||||
"onboarding.page_one.handle": "You are on {domain}, so your full handle is {handle}",
|
||||
"onboarding.page_one.full_handle": "Your full handle",
|
||||
"onboarding.page_one.handle_hint": "This is what you would tell your friends to search for.",
|
||||
"onboarding.page_one.welcome": "Welcome to Mastodon!",
|
||||
"onboarding.page_six.admin": "Your instance's admin is {admin}.",
|
||||
"onboarding.page_six.almost_done": "Almost done...",
|
||||
|
@ -139,6 +139,7 @@
|
||||
"loading_indicator.label": "加载中……",
|
||||
"media_gallery.toggle_visible": "切换显示/隐藏",
|
||||
"missing_indicator.label": "找不到内容",
|
||||
"missing_indicator.sublabel": "无法找到此资源",
|
||||
"mute_modal.hide_notifications": "同时隐藏来自这个用户的通知",
|
||||
"navigation_bar.blocks": "被屏蔽的用户",
|
||||
"navigation_bar.community_timeline": "本站时间轴",
|
||||
@ -174,7 +175,8 @@
|
||||
"onboarding.page_four.home": "你的“主页”时间轴上显示的是你的关注对象所发布的嘟文。",
|
||||
"onboarding.page_four.notifications": "如果有人与你互动了,他们就会出现在“通知”栏中哦~",
|
||||
"onboarding.page_one.federation": "Mastodon 是由一系列独立的服务器共同打造的强大的社交网络,我们将这些各自独立而又相互连接的服务器叫做“实例”。",
|
||||
"onboarding.page_one.handle": "你是在 {domain} 上注册的,所以你的完整用户地址是 {handle}。",
|
||||
"onboarding.page_one.full_handle": "你的完整用户地址",
|
||||
"onboarding.page_one.handle_hint": "你的朋友们需要这个才能通过搜索功能找到你。",
|
||||
"onboarding.page_one.welcome": "欢迎来到 Mastodon!",
|
||||
"onboarding.page_six.admin": "{admin} 是你所在服务器实例的管理员。",
|
||||
"onboarding.page_six.almost_done": "差不多了……",
|
||||
@ -197,6 +199,8 @@
|
||||
"privacy.public.short": "公开",
|
||||
"privacy.unlisted.long": "所有人可见,但不会出现在公共时间轴上",
|
||||
"privacy.unlisted.short": "不公开",
|
||||
"regeneration_indicator.label": "加载中……",
|
||||
"regeneration_indicator.sublabel": "你的主页时间轴正在准备中!",
|
||||
"relative_time.days": "{number}天",
|
||||
"relative_time.hours": "{number}时",
|
||||
"relative_time.just_now": "刚刚",
|
||||
|
@ -40,7 +40,7 @@ const normalizeTimeline = (state, timeline, statuses, next, isPartial) => {
|
||||
mMap.set('loaded', true);
|
||||
mMap.set('isLoading', false);
|
||||
if (!hadNext) mMap.set('next', next);
|
||||
mMap.set('items', wasLoaded ? ids.concat(oldIds) : ids);
|
||||
mMap.set('items', wasLoaded ? ids.concat(oldIds) : oldIds.concat(ids));
|
||||
mMap.set('isPartial', isPartial);
|
||||
}));
|
||||
};
|
||||
|
@ -6,7 +6,6 @@
|
||||
|
||||
@import 'mastodon/reset';
|
||||
@import 'mastodon/basics';
|
||||
@import 'mastodon/modal';
|
||||
@import 'mastodon/containers';
|
||||
@import 'mastodon/lists';
|
||||
@import 'mastodon/footer';
|
||||
@ -15,7 +14,9 @@
|
||||
@import 'mastodon/forms';
|
||||
@import 'mastodon/accounts';
|
||||
@import 'mastodon/stream_entries';
|
||||
@import 'mastodon/boost';
|
||||
@import 'mastodon/components';
|
||||
@import 'mastodon/modal';
|
||||
@import 'mastodon/emoji_picker';
|
||||
@import 'mastodon/about';
|
||||
@import 'mastodon/tables';
|
||||
|
@ -17,7 +17,7 @@ body {
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
.email_body {
|
||||
.email-body {
|
||||
td,
|
||||
div,
|
||||
a,
|
||||
@ -228,6 +228,19 @@ h3 {
|
||||
line-height: 25px;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
font-weight: 700;
|
||||
color: lighten($ui-base-color, 34%);
|
||||
}
|
||||
|
||||
.input-cell {
|
||||
h5 {
|
||||
margin-top: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
.input {
|
||||
td {
|
||||
background: darken($ui-base-color, 8%);
|
||||
@ -356,6 +369,19 @@ h3 {
|
||||
font-weight: 500 !important;
|
||||
}
|
||||
}
|
||||
|
||||
&.button-small {
|
||||
td {
|
||||
border-radius: 4px;
|
||||
font-size: 14px;
|
||||
padding: 8px 16px;
|
||||
|
||||
a {
|
||||
padding: 5px 16px !important;
|
||||
line-height: 26px !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.button-default {
|
||||
@ -379,6 +405,14 @@ h3 {
|
||||
padding-right: 16px;
|
||||
}
|
||||
|
||||
.padded-bottom {
|
||||
padding-bottom: 32px;
|
||||
}
|
||||
|
||||
.margin-bottom {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.hero-icon {
|
||||
width: 64px;
|
||||
|
||||
@ -463,8 +497,50 @@ h3 {
|
||||
border-top: 1px solid lighten($ui-base-color, 8%);
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-left: 15px;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
padding-top: 16px;
|
||||
|
||||
li {
|
||||
margin-bottom: 16px;
|
||||
color: lighten($ui-base-color, 26%);
|
||||
|
||||
span {
|
||||
color: $ui-primary-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
|
||||
body {
|
||||
min-height: 1024px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 697px) {
|
||||
.email-container,
|
||||
.col-1,
|
||||
.col-2,
|
||||
.col-3,
|
||||
.col-4,
|
||||
.col-5,
|
||||
.col-6 {
|
||||
width: 100% !important;
|
||||
max-width: none !important;
|
||||
}
|
||||
|
||||
.email-start {
|
||||
padding-top: 16px !important;
|
||||
}
|
||||
|
||||
.email-end {
|
||||
padding-bottom: 16px !important;
|
||||
}
|
||||
|
||||
.padded {
|
||||
padding-left: 0 !important;
|
||||
padding-right: 0 !important;
|
||||
}
|
||||
}
|
||||
|
@ -1419,6 +1419,10 @@
|
||||
color: $primary-text-color;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.permalink {
|
||||
text-decoration: none;
|
||||
}
|
||||
@ -1762,7 +1766,7 @@
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background: lighten($ui-base-color, 13%) url('~images/wave-drawer.png') no-repeat bottom / 100% auto;
|
||||
background: lighten($ui-base-color, 13%) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 234.80078 31.757813" width="234.80078" height="31.757812"><path d="M19.599609 0c-1.05 0-2.10039.375-2.90039 1.125L0 16.925781v14.832031h234.80078V17.025391l-16.5-15.900391c-1.6-1.5-4.20078-1.5-5.80078 0l-13.80078 13.099609c-1.6 1.5-4.19883 1.5-5.79883 0L179.09961 1.125c-1.6-1.5-4.19883-1.5-5.79883 0L159.5 14.224609c-1.6 1.5-4.20078 1.5-5.80078 0L139.90039 1.125c-1.6-1.5-4.20078-1.5-5.80078 0l-13.79883 13.099609c-1.6 1.5-4.20078 1.5-5.80078 0L100.69922 1.125c-1.600001-1.5-4.198829-1.5-5.798829 0l-13.59961 13.099609c-1.6 1.5-4.200781 1.5-5.800781 0L61.699219 1.125c-1.6-1.5-4.198828-1.5-5.798828 0L42.099609 14.224609c-1.6 1.5-4.198828 1.5-5.798828 0L22.5 1.125C21.7.375 20.649609 0 19.599609 0z" fill="#{hex-color($ui-base-color)}"/></svg>') no-repeat bottom / 100% auto;
|
||||
box-sizing: border-box;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
@ -1777,7 +1781,7 @@
|
||||
}
|
||||
|
||||
> .mastodon {
|
||||
background: url('~images/mastodon-ui.png') no-repeat left bottom / contain;
|
||||
background: url('~images/elephant_ui_plane.svg') no-repeat left bottom / contain;
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
@ -2154,10 +2158,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
@import 'boost';
|
||||
|
||||
.no-reduce-motion button.icon-button i.fa-retweet {
|
||||
|
||||
background-position: 0 0;
|
||||
height: 19px;
|
||||
transition: background-position 0.9s steps(10);
|
||||
@ -2763,6 +2764,7 @@
|
||||
flex: 1 1 auto;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
@supports(display: grid) { // hack to fix Chrome <57
|
||||
contain: strict;
|
||||
}
|
||||
@ -2808,11 +2810,48 @@
|
||||
}
|
||||
}
|
||||
|
||||
.pulse-loading {
|
||||
.no-reduce-motion .pulse-loading {
|
||||
transform-origin: center center;
|
||||
animation: heartbeat 1.5s ease-in-out infinite both;
|
||||
}
|
||||
|
||||
@keyframes shake-bottom {
|
||||
0%,
|
||||
100% {
|
||||
transform: rotate(0deg);
|
||||
transform-origin: 50% 100%;
|
||||
}
|
||||
|
||||
10% {
|
||||
transform: rotate(2deg);
|
||||
}
|
||||
|
||||
20%,
|
||||
40%,
|
||||
60% {
|
||||
transform: rotate(-4deg);
|
||||
}
|
||||
|
||||
30%,
|
||||
50%,
|
||||
70% {
|
||||
transform: rotate(4deg);
|
||||
}
|
||||
|
||||
80% {
|
||||
transform: rotate(-2deg);
|
||||
}
|
||||
|
||||
90% {
|
||||
transform: rotate(2deg);
|
||||
}
|
||||
}
|
||||
|
||||
.no-reduce-motion .shake-bottom {
|
||||
transform-origin: 50% 100%;
|
||||
animation: shake-bottom 0.8s cubic-bezier(0.455, 0.030, 0.515, 0.955) 2s 2 both;
|
||||
}
|
||||
|
||||
.emoji-picker-dropdown__menu {
|
||||
background: $simple-background-color;
|
||||
position: absolute;
|
||||
@ -3318,13 +3357,12 @@
|
||||
height: 80vh;
|
||||
width: 80vw;
|
||||
max-width: 520px;
|
||||
max-height: 420px;
|
||||
max-height: 470px;
|
||||
|
||||
.react-swipeable-view-container > div {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
padding: 25px;
|
||||
display: none;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
@ -3397,23 +3435,32 @@
|
||||
.onboarding-modal__nav,
|
||||
.error-modal__nav {
|
||||
color: darken($ui-secondary-color, 34%);
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
padding: 0;
|
||||
padding: 10px 25px;
|
||||
line-height: inherit;
|
||||
height: auto;
|
||||
margin: -10px;
|
||||
border-radius: 4px;
|
||||
background-color: transparent;
|
||||
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
color: darken($ui-secondary-color, 38%);
|
||||
background-color: darken($ui-secondary-color, 16%);
|
||||
}
|
||||
|
||||
&.onboarding-modal__done,
|
||||
&.onboarding-modal__next {
|
||||
color: $ui-highlight-color;
|
||||
color: $ui-base-color;
|
||||
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
color: darken($ui-base-color, 4%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -3449,6 +3496,8 @@
|
||||
|
||||
.onboarding-modal__page__wrapper {
|
||||
pointer-events: none;
|
||||
padding: 25px;
|
||||
padding-bottom: 0;
|
||||
|
||||
&.onboarding-modal__page__wrapper--active {
|
||||
pointer-events: auto;
|
||||
@ -3476,6 +3525,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
.navigation-bar a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 16px;
|
||||
color: lighten($ui-base-color, 8%);
|
||||
@ -3503,29 +3556,56 @@
|
||||
}
|
||||
}
|
||||
|
||||
.onboarding-modal__page__wrapper-0 {
|
||||
background: url('~images/elephant_ui_greeting.svg') no-repeat left bottom / auto 250px;
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.onboarding-modal__page-one {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
&__lead {
|
||||
padding: 65px;
|
||||
padding-top: 45px;
|
||||
padding-bottom: 0;
|
||||
margin-bottom: 10px;
|
||||
|
||||
.onboarding-modal__page-one__elephant-friend {
|
||||
background: url('~images/elephant-friend-1.png') no-repeat center center / contain;
|
||||
width: 155px;
|
||||
height: 193px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 26px;
|
||||
line-height: 36px;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 400px) {
|
||||
.onboarding-modal__page-one {
|
||||
flex-direction: column;
|
||||
align-items: normal;
|
||||
p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.onboarding-modal__page-one__elephant-friend {
|
||||
width: 100%;
|
||||
height: 30vh;
|
||||
max-height: 160px;
|
||||
margin-bottom: 5vh;
|
||||
&__extra {
|
||||
padding-right: 65px;
|
||||
padding-left: 185px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.display-case {
|
||||
text-align: center;
|
||||
font-size: 15px;
|
||||
margin-bottom: 15px;
|
||||
|
||||
&__label {
|
||||
font-weight: 500;
|
||||
color: $ui-base-color;
|
||||
margin-bottom: 5px;
|
||||
text-transform: uppercase;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
&__case {
|
||||
background: $ui-base-color;
|
||||
color: $ui-secondary-color;
|
||||
font-weight: 500;
|
||||
padding: 10px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
@ -3615,16 +3695,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
.onboarding-modal__image {
|
||||
border-radius: 8px;
|
||||
width: 70vw;
|
||||
max-width: 450px;
|
||||
max-height: auto;
|
||||
display: block;
|
||||
margin: auto;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.onboard-sliders {
|
||||
display: inline-block;
|
||||
max-width: 30px;
|
||||
|
@ -1,5 +1,5 @@
|
||||
.modal-layout {
|
||||
background: $ui-base-color url('~images/wave-modal.png') repeat-x bottom fixed;
|
||||
background: $ui-base-color url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 234.80078 31.757813" width="234.80078" height="31.757812"><path d="M19.599609 0c-1.05 0-2.10039.375-2.90039 1.125L0 16.925781v14.832031h234.80078V17.025391l-16.5-15.900391c-1.6-1.5-4.20078-1.5-5.80078 0l-13.80078 13.099609c-1.6 1.5-4.19883 1.5-5.79883 0L179.09961 1.125c-1.6-1.5-4.19883-1.5-5.79883 0L159.5 14.224609c-1.6 1.5-4.20078 1.5-5.80078 0L139.90039 1.125c-1.6-1.5-4.20078-1.5-5.80078 0l-13.79883 13.099609c-1.6 1.5-4.20078 1.5-5.80078 0L100.69922 1.125c-1.600001-1.5-4.198829-1.5-5.798829 0l-13.59961 13.099609c-1.6 1.5-4.200781 1.5-5.800781 0L61.699219 1.125c-1.6-1.5-4.198828-1.5-5.798828 0L42.099609 14.224609c-1.6 1.5-4.198828 1.5-5.798828 0L22.5 1.125C21.7.375 20.649609 0 19.599609 0z" fill="#{hex-color($ui-base-lighter-color)}"/></svg>') repeat-x bottom fixed;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100vh;
|
||||
@ -15,6 +15,6 @@
|
||||
> * {
|
||||
flex: 1;
|
||||
max-height: 235px;
|
||||
background: url('~images/mastodon-ui.png') no-repeat left bottom / contain;
|
||||
background: url('~images/elephant_ui_plane.svg') no-repeat left bottom / contain;
|
||||
}
|
||||
}
|
||||
|