From 2c1ed5f8720dfdba9cf7582d097f4702e19eeeb6 Mon Sep 17 00:00:00 2001 From: Akihiko Odaki Date: Tue, 2 Jan 2018 13:07:56 +0900 Subject: [PATCH 1/2] Show mastodon on modal (#6129) --- .../authorize_follows_controller.rb | 5 +++++ app/controllers/remote_follow_controller.rb | 4 ++++ app/controllers/shares_controller.rb | 2 +- .../{mastodon-drawer.png => mastodon-ui.png} | Bin .../images/wave-compose-standalone.png | Bin 0 -> 5921 bytes app/javascript/images/wave-modal.png | Bin 0 -> 5200 bytes app/javascript/styles/application.scss | 1 + .../styles/mastodon/components.scss | 2 +- app/javascript/styles/mastodon/modal.scss | 20 ++++++++++++++++++ app/views/layouts/modal.html.haml | 2 ++ 10 files changed, 34 insertions(+), 2 deletions(-) rename app/javascript/images/{mastodon-drawer.png => mastodon-ui.png} (100%) create mode 100644 app/javascript/images/wave-compose-standalone.png create mode 100644 app/javascript/images/wave-modal.png create mode 100644 app/javascript/styles/mastodon/modal.scss diff --git a/app/controllers/authorize_follows_controller.rb b/app/controllers/authorize_follows_controller.rb index 78b56418364..7afe664d1be 100644 --- a/app/controllers/authorize_follows_controller.rb +++ b/app/controllers/authorize_follows_controller.rb @@ -4,6 +4,7 @@ class AuthorizeFollowsController < ApplicationController layout 'modal' before_action :authenticate_user! + before_action :set_body_classes def show @account = located_account || render(:error) @@ -58,4 +59,8 @@ class AuthorizeFollowsController < ApplicationController def acct_params params.fetch(:acct, '') end + + def set_body_classes + @body_classes = 'modal-layout' + end end diff --git a/app/controllers/remote_follow_controller.rb b/app/controllers/remote_follow_controller.rb index 48b026aa5a0..3b988e08d80 100644 --- a/app/controllers/remote_follow_controller.rb +++ b/app/controllers/remote_follow_controller.rb @@ -38,4 +38,8 @@ class RemoteFollowController < ApplicationController def suspended_account? @account.suspended? end + + def set_body_classes + @body_classes = 'modal-layout' + end end diff --git a/app/controllers/shares_controller.rb b/app/controllers/shares_controller.rb index 994742c3df6..fc2469deaaf 100644 --- a/app/controllers/shares_controller.rb +++ b/app/controllers/shares_controller.rb @@ -25,6 +25,6 @@ class SharesController < ApplicationController end def set_body_classes - @body_classes = 'compose-standalone' + @body_classes = 'modal-layout compose-standalone' end end diff --git a/app/javascript/images/mastodon-drawer.png b/app/javascript/images/mastodon-ui.png similarity index 100% rename from app/javascript/images/mastodon-drawer.png rename to app/javascript/images/mastodon-ui.png diff --git a/app/javascript/images/wave-compose-standalone.png b/app/javascript/images/wave-compose-standalone.png new file mode 100644 index 0000000000000000000000000000000000000000..287ee639b3426947ff629f9b8d183d38d0f767cf GIT binary patch literal 5921 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 literal 0 HcmV?d00001 diff --git a/app/javascript/images/wave-modal.png b/app/javascript/images/wave-modal.png new file mode 100644 index 0000000000000000000000000000000000000000..88818a6d78a30e2827d4e86db12f2b0d3d8f24fe GIT binary patch literal 5200 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 KMNUMnLSTZg*XzIl literal 0 HcmV?d00001 diff --git a/app/javascript/styles/application.scss b/app/javascript/styles/application.scss index 44aa105645a..fd6665f65c1 100644 --- a/app/javascript/styles/application.scss +++ b/app/javascript/styles/application.scss @@ -6,6 +6,7 @@ @import 'mastodon/reset'; @import 'mastodon/basics'; +@import 'mastodon/modal'; @import 'mastodon/containers'; @import 'mastodon/lists'; @import 'mastodon/footer'; diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 3240b38a420..bc193a15adf 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -1773,7 +1773,7 @@ } > .mastodon { - background: url('../images/mastodon-drawer.png') no-repeat left bottom / contain; + background: url('../images/mastodon-ui.png') no-repeat left bottom / contain; flex: 1; } } diff --git a/app/javascript/styles/mastodon/modal.scss b/app/javascript/styles/mastodon/modal.scss new file mode 100644 index 00000000000..310dcb9249e --- /dev/null +++ b/app/javascript/styles/mastodon/modal.scss @@ -0,0 +1,20 @@ +.modal-layout { + background: $ui-base-color url('../images/wave-modal.png') repeat-x bottom fixed; + display: flex; + flex-direction: column; + height: 100vh; + padding: 0; +} + +.modal-layout__mastodon { + display: flex; + flex: 1; + flex-direction: column; + justify-content: flex-end; + + > * { + flex: 1; + max-height: 235px; + background: url('../images/mastodon-ui.png') no-repeat left bottom / contain; + } +} diff --git a/app/views/layouts/modal.html.haml b/app/views/layouts/modal.html.haml index a819e098d6c..d01b6b6c565 100644 --- a/app/views/layouts/modal.html.haml +++ b/app/views/layouts/modal.html.haml @@ -12,5 +12,7 @@ = fa_icon 'sign-out' .container= yield + .modal-layout__mastodon + %div = render template: 'layouts/application' From 764f87695358c06a823a9c9541f2e8fb092de299 Mon Sep 17 00:00:00 2001 From: Akihiko Odaki Date: Tue, 2 Jan 2018 13:28:49 +0900 Subject: [PATCH 2/2] Use const instead of let for constant (#6106) --- .../mastodon/features/getting_started/index.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/javascript/mastodon/features/getting_started/index.js b/app/javascript/mastodon/features/getting_started/index.js index 2f02f245f8d..3c1619c240a 100644 --- a/app/javascript/mastodon/features/getting_started/index.js +++ b/app/javascript/mastodon/features/getting_started/index.js @@ -48,7 +48,7 @@ export default class GettingStarted extends ImmutablePureComponent { render () { const { intl, myAccount, columns, multiColumn } = this.props; - let navItems = []; + const navItems = []; if (multiColumn) { if (!columns.find(item => item.get('id') === 'HOME')) { @@ -68,20 +68,20 @@ export default class GettingStarted extends ImmutablePureComponent { } } - navItems = navItems.concat([ + navItems.push( , , - , - ]); + + ); if (myAccount.get('locked')) { navItems.push(); } - navItems = navItems.concat([ + navItems.push( , - , - ]); + + ); if (multiColumn) { navItems.push();