Skip to content

Instantly share code, notes, and snippets.

@TastyToast
Last active December 11, 2015 13:58
Show Gist options
  • Save TastyToast/4611296 to your computer and use it in GitHub Desktop.
Save TastyToast/4611296 to your computer and use it in GitHub Desktop.
Using Local Storage with cookies
<script src="https://s3.amazonaws.com/wildfireapp/assets/jstorage.min.js"></script>
<div class="sweeps-tab tab clearfix">
<div class="header">
<h1>Buy one get one FREE. Kodak 5x7 folded greeting card. Register for your FREE COUPON!</h1>
</div>
<div class="left-col">
<div class="sweeps-container cvs" style="display: none;" data-store="cvs">
{% plugin sweeps cvs_sweeps %}
{% marker cvs_sweeps %}
{% for message in cvs_sweeps.messages %}
<div style="display: none;">
{{ message.text }}
</div>
{% endfor %}
{% if cvs_sweeps.has_ended %}
{{ cvs_sweeps.after_content }}
{% elsif cvs_sweeps.completed %}
<!-- whatever alternate content to show -->
{% if cvs_sweeps.thank_you_code_result %}
{{ cvs_sweeps.thank_you_code_result }}
{% endif %}
{% elsif cvs_sweeps.has_not_started %}
{{ cvs_sweeps.before_content }}
{% else %}
{% formblock cvs_sweeps %}
{% for field in cvs_sweeps.fields %}
{{ field.body }}
{% endfor %}
<div class="policy-container">
<div class="policy-checkbox">
{{ cvs_sweeps.policy_checkbox }}
</div>
<div class="submit-btn">
{{ cvs_sweeps.submit_button }}
</div>
</div>
{% endformblock %}
{% endif %}
{% endmarker %}
</div>
<div class="sweeps-container target" style="display: none;" data-store="target">
{% plugin sweeps target_sweeps %}
{% marker target_sweeps %}
{% for message in target_sweeps.messages %}
<div style="display: none;">
{{ message.text }}
</div>
{% endfor %}
{% if target_sweeps.has_ended %}
{{ target_sweeps.after_content }}
{% elsif target_sweeps.completed %}
<!-- whatever alternate content to show -->
{% if target_sweeps.thank_you_code_result %}
{{ target_sweeps.thank_you_code_result }}
{% endif %}
{% elsif target_sweeps.has_not_started %}
{{ target_sweeps.before_content }}
{% else %}
{% formblock target_sweeps %}
{% for field in target_sweeps.fields %}
{{ field.body }}
{% endfor %}
<div class="policy-container">
<div class="policy-checkbox">
{{ target_sweeps.policy_checkbox }}
</div>
<div class="submit-btn">
{{ target_sweeps.submit_button }}
</div>
</div>
{% endformblock %}
{% endif %}
{% endmarker %}
</div>
<div class="sweeps-container drugmart" style="display: none;" data-store="drugmart">
{% plugin sweeps drug_mart_sweeps %}
{% marker drug_mart_sweeps %}
{% for message in drug_mart_sweeps.messages %}
<div style="display: none;">
{{ message.text }}
</div>
{% endfor %}
{% if drug_mart_sweeps.has_ended %}
{{ drug_mart_sweeps.after_content }}
{% elsif drug_mart_sweeps.completed %}
<!-- whatever alternate content to show -->
{% if drug_mart_sweeps.thank_you_code_result %}
{{ drug_mart_sweeps.thank_you_code_result }}
{% endif %}
{% elsif drug_mart_sweeps.has_not_started %}
{{ drug_mart_sweeps.before_content }}
{% else %}
{% formblock drug_mart_sweeps %}
{% for field in drug_mart_sweeps.fields %}
{{ field.body }}
{% endfor %}
<div class="policy-container">
<div class="policy-checkbox">
{{ drug_mart_sweeps.policy_checkbox }}
</div>
<div class="submit-btn">
{{ drug_mart_sweeps.submit_button }}
</div>
</div>
{% endformblock %}
{% endif %}
{% endmarker %}
</div>
<div class="sweeps-container bartell" style="display: none;" data-store="bartell">
{% plugin sweeps bartell_sweeps %}
{% marker bartell_sweeps %}
{% for message in bartell_sweeps.messages %}
<div style="display: none;">
{{ message.text }}
</div>
{% endfor %}
{% if bartell_sweeps.has_ended %}
{{ bartell_sweeps.after_content }}
{% elsif bartell_sweeps.completed %}
<!-- whatever alternate content to show -->
{% if bartell_sweeps.thank_you_code_result %}
{{ bartell_sweeps.thank_you_code_result }}
{% endif %}
{% elsif bartell_sweeps.has_not_started %}
{{ bartell_sweeps.before_content }}
{% else %}
{% formblock bartell_sweeps %}
{% for field in bartell_sweeps.fields %}
{{ field.body }}
{% endfor %}
<div class="policy-container">
<div class="policy-checkbox">
{{ bartell_sweeps.policy_checkbox }}
</div>
<div class="submit-btn">
{{ bartell_sweeps.submit_button }}
</div>
</div>
{% endformblock %}
{% endif %}
{% endmarker %}
</div>
</div>
if (!window.console) window.console={log:function(){}};
(function($){
var app = app || {
init: function(){
var self = this;
console.log('INIT');
self.setCookie();
self.checkSession();
$(document).on('click', '.retailers .btn a', function(e){
e.preventDefault();
self.selectedStore = $(this).attr('data-name');
console.log(self);
$('.retailer-tab').fadeOut(200, function(){
$('.sweeps-tab').find('.' + self.selectedStore).css('display', 'block');
$('.sweeps-tab').fadeIn(200);
})
})
},
checkSession: function(){
// READ LOCAL STORAGE AND DO STUFF WITH IT
var store = $.jStorage.get('kodakSelectedStore');
if(store != ('' || undefined || null)){
console.log('selected store is: ', store);
$('.tab').hide();
if(store == 'cvs'){
$('.coupon-tab').fadeIn(200);
} else {
// GENERIC COUPONS
$('.coupon-tab').fadeIn(200);
};
} else {
$('.retailer-tab').show();
};
},
setCookie: function(){
if(this.selectedStore != null){
console.log('Set Storage');
$.jStorage.set('kodakSelectedStore', app.selectedStore);
} else {
// IF THE USER ENTERED A SWEEPS THEN SET LOCAL STORAGE
if($('.engagements_submit').length <= 3){
$('.sweeps-container').each(function(i){
if( $(this).find('.engagements_submit').length === 0 ){
var store = $(this).attr('data-store');
// GET LOCAL STORAGE VALUE
var value = $.jStorage.get('kodakSelectedStore');
if(!value){
// IF NO VALUE, SET LOCAL STORAGE
$.jStorage.set('kodakSelectedStore', store);
};
}
});
} else {
// ELSE DELETE COOKIE
$.jStorage.deleteKey('kodakSelectedStore');
}
}
},
selectedStore: null,
};
$(document).ready(function(){
app.init();
});
$(document).bind('didRefreshWidgetContent', function(){
app.setCookie();
$('.sweeps-tab').fadeOut(200, function(){
app.checkSession();
});
});
})(jQuery);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment