Revert "Use localStorage as a backup for users who can't update settings [MAILPOET-1627]"
This reverts commit f7057b3bd3d37f557e23dd390b298e1bdf2f37a4.
This commit is contained in:
@ -3,38 +3,14 @@ import classNames from 'classnames';
|
|||||||
import MailPoet from 'mailpoet';
|
import MailPoet from 'mailpoet';
|
||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
|
|
||||||
const LAST_ANNOUNCEMENT_SEEN_LS_KEY = 'last_announcement_seen';
|
|
||||||
|
|
||||||
const getLocalStorageKey = function getLocalStorageKey() {
|
|
||||||
try {
|
|
||||||
return parseInt(window.localStorage.getItem(LAST_ANNOUNCEMENT_SEEN_LS_KEY), 10);
|
|
||||||
} catch (e) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const setLocalStorageKey = function setLocalStorageKey(value) {
|
|
||||||
try {
|
|
||||||
return window.localStorage.setItem(LAST_ANNOUNCEMENT_SEEN_LS_KEY, String(value));
|
|
||||||
} catch (e) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
class FeatureAnnouncement extends React.Component {
|
class FeatureAnnouncement extends React.Component {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
this.loadBeamer = this.loadBeamer.bind(this);
|
this.loadBeamer = this.loadBeamer.bind(this);
|
||||||
this.beamerCallback = this.beamerCallback.bind(this);
|
this.beamerCallback = this.beamerCallback.bind(this);
|
||||||
|
|
||||||
// localStorage is used as a backup for users who don't have a permission to update settings
|
|
||||||
const lastAnnouncementSeenLS = getLocalStorageKey();
|
|
||||||
const hasNewsLS = lastAnnouncementSeenLS > 0 ?
|
|
||||||
lastAnnouncementSeenLS < window.mailpoet_last_announcement_date :
|
|
||||||
null;
|
|
||||||
|
|
||||||
this.state = {
|
this.state = {
|
||||||
showDot: hasNewsLS !== null ? hasNewsLS : props.hasNews,
|
showDot: props.hasNews,
|
||||||
beamerLoaded: typeof window.Beamer !== 'undefined',
|
beamerLoaded: typeof window.Beamer !== 'undefined',
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -64,9 +40,7 @@ class FeatureAnnouncement extends React.Component {
|
|||||||
window.Beamer.show();
|
window.Beamer.show();
|
||||||
const data = { last_announcement_seen: window.mailpoet_last_announcement_seen || {} };
|
const data = { last_announcement_seen: window.mailpoet_last_announcement_seen || {} };
|
||||||
const userId = window.mailpoet_current_wp_user.ID;
|
const userId = window.mailpoet_current_wp_user.ID;
|
||||||
const lastAnnouncementSeen = Math.floor(Date.now() / 1000);
|
data.last_announcement_seen[userId] = Math.floor(Date.now() / 1000);
|
||||||
data.last_announcement_seen[userId] = lastAnnouncementSeen;
|
|
||||||
setLocalStorageKey(lastAnnouncementSeen);
|
|
||||||
MailPoet.Ajax.post({
|
MailPoet.Ajax.post({
|
||||||
api_version: window.mailpoet_api_version,
|
api_version: window.mailpoet_api_version,
|
||||||
endpoint: 'settings',
|
endpoint: 'settings',
|
||||||
|
@ -587,7 +587,6 @@ class Menu {
|
|||||||
$data['feature_announcement_has_news'] = empty($data['settings']['last_announcement_seen'][$user_id])
|
$data['feature_announcement_has_news'] = empty($data['settings']['last_announcement_seen'][$user_id])
|
||||||
|| $data['settings']['last_announcement_seen'][$user_id] < strtotime(self::LAST_ANNOUNCEMENT_DATE);
|
|| $data['settings']['last_announcement_seen'][$user_id] < strtotime(self::LAST_ANNOUNCEMENT_DATE);
|
||||||
$data['last_announcement_seen'] = isset($data['settings']['last_announcement_seen']) ? $data['settings']['last_announcement_seen'] : false;
|
$data['last_announcement_seen'] = isset($data['settings']['last_announcement_seen']) ? $data['settings']['last_announcement_seen'] : false;
|
||||||
$data['last_announcement_date'] = strtotime(self::LAST_ANNOUNCEMENT_DATE);
|
|
||||||
|
|
||||||
$data['automatic_emails'] = array(
|
$data['automatic_emails'] = array(
|
||||||
array(
|
array(
|
||||||
|
@ -25,7 +25,6 @@
|
|||||||
var mailpoet_automatic_emails = <%= json_encode(automatic_emails) %>;
|
var mailpoet_automatic_emails = <%= json_encode(automatic_emails) %>;
|
||||||
var mailpoet_feature_announcement_has_news = <%= json_encode(feature_announcement_has_news) %>;
|
var mailpoet_feature_announcement_has_news = <%= json_encode(feature_announcement_has_news) %>;
|
||||||
var mailpoet_last_announcement_seen = <%= json_encode(last_announcement_seen) %>;
|
var mailpoet_last_announcement_seen = <%= json_encode(last_announcement_seen) %>;
|
||||||
var mailpoet_last_announcement_date = <%= json_encode(last_announcement_date) %>;
|
|
||||||
var mailpoet_user_locale = '<%= get_locale() %>';
|
var mailpoet_user_locale = '<%= get_locale() %>';
|
||||||
var mailpoet_in_app_announcements = mailpoet_settings.in_app_announcements;
|
var mailpoet_in_app_announcements = mailpoet_settings.in_app_announcements;
|
||||||
var mailpoet_free_welcome_emails_image = '<%= cdn_url('in-app-announcements/hello-illustration-for-welcome-emails.20181121-1440.png') %>';
|
var mailpoet_free_welcome_emails_image = '<%= cdn_url('in-app-announcements/hello-illustration-for-welcome-emails.20181121-1440.png') %>';
|
||||||
|
Reference in New Issue
Block a user