-
Notifications
You must be signed in to change notification settings - Fork 2k
/
storageUtils.js
36 lines (31 loc) · 1.65 KB
/
storageUtils.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import cookie from 'cookie';
export const persistSignupDestination = ( url ) => {
const DAY_IN_SECONDS = 3600 * 24;
const expirationDate = new Date( new Date().getTime() + DAY_IN_SECONDS * 1000 );
const options = { path: '/', expires: expirationDate, sameSite: 'strict' };
document.cookie = cookie.serialize( 'wpcom_signup_complete_destination', url, options );
};
export const retrieveSignupDestination = () => {
const cookies = cookie.parse( document.cookie );
return cookies.wpcom_signup_complete_destination;
};
export const clearSignupDestinationCookie = () => {
// Set expiration to a random time in the past so that the cookie gets removed.
const expirationDate = new Date( new Date().getTime() - 1000 );
const options = { path: '/', expires: expirationDate };
document.cookie = cookie.serialize( 'wpcom_signup_complete_destination', '', options );
};
export const getSignupCompleteSlug = () =>
sessionStorage.getItem( 'wpcom_signup_complete_site_slug' );
export const setSignupCompleteSlug = ( value ) =>
sessionStorage.setItem( 'wpcom_signup_complete_site_slug', value );
export const wasSignupCheckoutPageUnloaded = () =>
sessionStorage.getItem( 'was_signup_checkout_page_unloaded' );
export const setSignupCheckoutPageUnloaded = ( value ) =>
sessionStorage.setItem( 'was_signup_checkout_page_unloaded', value );
export const getSignupCompleteFlowName = () =>
sessionStorage.getItem( 'wpcom_signup_complete_flow_name' );
export const setSignupCompleteFlowName = ( value ) =>
sessionStorage.setItem( 'wpcom_signup_complete_flow_name', value );
export const clearSignupCompleteFlowName = () =>
sessionStorage.removeItem( 'wpcom_signup_complete_flow_name' );