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') %>