diff --git a/assets/css/src/settings.styl b/assets/css/src/settings.styl index b08b1975c9..93968ef228 100644 --- a/assets/css/src/settings.styl +++ b/assets/css/src/settings.styl @@ -1,7 +1,10 @@ -.mailpoet_form .form-table th +#mailpoet_role_permissions + margin-top: 20px; + +#mailpoet_settings .form-table th width:20em // responsive @media screen and (max-width: 782px) - .mailpoet_form .form-table th + #mailpoet_settings .form-table th width: auto \ No newline at end of file diff --git a/assets/js/src/newsletters/list.jsx b/assets/js/src/newsletters/list.jsx index 6a9fd55295..46f4d44ad1 100644 --- a/assets/js/src/newsletters/list.jsx +++ b/assets/js/src/newsletters/list.jsx @@ -80,7 +80,10 @@ define( render: function() { return (
-

Newsletters New

+

+ Newsletters New +

+ + ); } }); diff --git a/assets/js/src/segments/form.jsx b/assets/js/src/segments/form.jsx index 0bd8ff19ab..06e2938a19 100644 --- a/assets/js/src/segments/form.jsx +++ b/assets/js/src/segments/form.jsx @@ -1,11 +1,13 @@ define( [ 'react', + 'react-router', 'mailpoet', 'form/form.jsx' ], function( React, + Router, MailPoet, Form ) { @@ -27,15 +29,22 @@ define( } }; + var Link = Router.Link; + var SegmentForm = React.createClass({ render: function() { - return ( -
+
+

+ Segment Back to list +

+ + +
); } }); diff --git a/assets/js/src/segments/list.jsx b/assets/js/src/segments/list.jsx index 25fc720bee..287be13d1c 100644 --- a/assets/js/src/segments/list.jsx +++ b/assets/js/src/segments/list.jsx @@ -1,11 +1,13 @@ define( [ 'react', + 'react-router', 'listing/listing.jsx', 'classnames' ], function( React, + Router, Listing, classNames ) { @@ -34,6 +36,8 @@ define( } ]; + var Link = Router.Link; + var SegmentList = React.createClass({ renderItem: function(segment, actions) { var rowClasses = classNames( @@ -61,11 +65,17 @@ define( }, render: function() { return ( - +
+

+ Segments New +

+ + +
); } }); diff --git a/assets/js/src/segments/segments.jsx b/assets/js/src/segments/segments.jsx index 9c62a4a011..2d460e2144 100644 --- a/assets/js/src/segments/segments.jsx +++ b/assets/js/src/segments/segments.jsx @@ -20,15 +20,7 @@ define( var App = React.createClass({ render: function() { return ( -
-

- { MailPoetI18n.pageTitle } -   - New -

- - -
+ ); } }); diff --git a/assets/js/src/settings/tabs.js b/assets/js/src/settings/tabs.js new file mode 100644 index 0000000000..cc4aad1f24 --- /dev/null +++ b/assets/js/src/settings/tabs.js @@ -0,0 +1,79 @@ +define( + [ + 'backbone', + 'jquery', + 'mailpoet' + ], + function( + Backbone, + jQuery, + MailPoet + ) { + if(jQuery('#mailpoet_settings').length === 0) { + return; + } + + MailPoet.Router = new (Backbone.Router.extend({ + routes: { + 'mta(/:method)': 'sendingMethod', + '(:tab)': 'tabs', + }, + sendingMethod: function(method) { + // display mta tab + this.tabs('mta'); + + // hide all sending methods' settings + jQuery( + '#mailpoet_sending_method_setup, .mailpoet_sending_method' + ).hide(); + + // hide "save settings" button + jQuery('.mailpoet_settings_submit').hide(); + + if(method === null) { + // show sending methods + jQuery('.mailpoet_sending_methods').fadeIn(); + } else { + // hide DKIM option when using MailPoet's API + jQuery('#mailpoet_mta_dkim')[ + (method === 'mailpoet') + ? 'hide' + : 'show' + ](); + + // hide sending methods + jQuery('.mailpoet_sending_methods').hide(); + + // display selected sending method's settings + jQuery('.mailpoet_sending_method[data-method="'+ method +'"]').show(); + jQuery('#mailpoet_sending_method_setup').fadeIn(); + } + }, + tabs: function(tab, section) { + // set default tab + tab = tab || 'basics'; + + // reset all active tabs + jQuery('.nav-tab-wrapper a').removeClass('nav-tab-active'); + + // hide panels & sections + jQuery('.mailpoet_panel, .mailpoet_section').hide(); + + // set active tab + jQuery('a.nav-tab[href="#'+tab+'"]').addClass('nav-tab-active').blur(); + + // show selected panel + if(jQuery('.mailpoet_panel[data-tab="'+ tab +'"]').length > 0) { + jQuery('.mailpoet_panel[data-tab="'+ tab +'"]').show(); + } + + // show "save settings" button + jQuery('.mailpoet_settings_submit').show(); + } + })); + + jQuery(document).ready(function() { + Backbone.history.start(); + }); + } +); \ No newline at end of file diff --git a/assets/js/src/subscribers/form.jsx b/assets/js/src/subscribers/form.jsx index 63fb31ac33..2db90ca0fd 100644 --- a/assets/js/src/subscribers/form.jsx +++ b/assets/js/src/subscribers/form.jsx @@ -1,11 +1,13 @@ define( [ 'react', + 'react-router', 'mailpoet', 'form/form.jsx' ], function( React, + Router, MailPoet, Form ) { @@ -47,15 +49,22 @@ define( } }; + var Link = Router.Link; + var SubscriberForm = React.createClass({ render: function() { - return ( - +
+

+ Subscriber Back to list +

+ + +
); } }); diff --git a/assets/js/src/subscribers/list.jsx b/assets/js/src/subscribers/list.jsx index f63b6dadf7..68ba2e749b 100644 --- a/assets/js/src/subscribers/list.jsx +++ b/assets/js/src/subscribers/list.jsx @@ -177,11 +177,17 @@ define( }, render: function() { return ( - +
+

+ Subscribers New +

+ + +
); } }); diff --git a/assets/js/src/subscribers/subscribers.jsx b/assets/js/src/subscribers/subscribers.jsx index 4de3b14a6c..eddd29dae5 100644 --- a/assets/js/src/subscribers/subscribers.jsx +++ b/assets/js/src/subscribers/subscribers.jsx @@ -20,15 +20,7 @@ define( var App = React.createClass({ render: function() { return ( -
-

- { MailPoetI18n.pageTitle } -   - New -

- - -
+ ); } }); diff --git a/views/settings.html b/views/settings.html index da8df3598b..3ec114ccf8 100644 --- a/views/settings.html +++ b/views/settings.html @@ -3,7 +3,7 @@ <% block content %>
-

<%= __('Settings') %>

+

<%= __('Settings') %>

- -
- <% include 'settings/basics.html' %> +
+ <% include 'settings/basics.html' %>
-
+
<% include 'settings/signup.html' %>
-<# + -
+
<% include 'settings/mta.html' %>
-#> + -
+
<% include 'settings/advanced.html' %>
-<# + -
+
<% include 'settings/bounce.html' %>
-#> -

+ +

+
@@ -85,7 +85,7 @@ <% if(settings.analytics) %> checked="checked" <% endif %> - /> <%= __('Yes') %> + /><%= __('Yes') %>  

diff --git a/views/settings/mta.html b/views/settings/mta.html index f7f122e53a..e69de29bb2 100644 --- a/views/settings/mta.html +++ b/views/settings/mta.html @@ -1 +0,0 @@ -mta.html \ No newline at end of file diff --git a/views/settings/signup.html b/views/settings/signup.html index c453e01543..b91cd235d4 100644 --- a/views/settings/signup.html +++ b/views/settings/signup.html @@ -113,7 +113,10 @@ <% if(settings.signup_confirmation_email_subject) %> value="<%= settings.signup_confirmation_email_subject %>" <% else %> - value="<%= __('Confirm your subscription to %1$s') %>" + value="<%= + __('Confirm your subscription to %1$s') + | format(get_option('blogname')) + %>" <% endif %> /> diff --git a/webpack.config.js b/webpack.config.js index cea931fda3..051aee0c36 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -68,7 +68,8 @@ config.push(_.extend({}, baseConfig, { admin: [ 'subscribers/subscribers.jsx', 'newsletters/newsletters.jsx', - 'segments/segments.jsx' + 'segments/segments.jsx', + 'settings/tabs.js' ], newsletter_editor: [ 'underscore',