MyBB Community Forums

Full Version: Memorizing the position of the side panel
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello

I have a small problem with the side panel after updating the script and I am not able to solve it

<script>
sidebarStatus = ($.cookie(cookiePrefix + 'sidebar_collapsed') === undefined || $.cookie(cookiePrefix + 'sidebar_collapsed') == '0');
if (sidebarStatus == false) {
$('.section-side').hide();
$('.collapse-bar .collapse').removeClass('fa-angle-double-right').addClass('fa-angle-double-left');
}
$('.collapse-bar .collapse').click(function(){
sidebarStatus = !sidebarStatus;
$.cookie(cookiePrefix + 'sidebar_collapsed', (sidebarStatus ? '0' : '1'));
$('.section-side').fadeToggle();
$('.collapse-bar .collapse').toggleClass('fa-angle-double-right').toggleClass('fa-angle-double-left');
});	
</script>

Error console

TypeError: $.cookie is not a function
most recent versions of MyBB have some changes in the script libraries.
functions like $.cookie might not work with recent versions of MyBB.

$.cookie("CookieName");
needs to be replaced by
Cookies.get("CookieName");
<script>
sidebarStatus = (Cookies.get(cookiePrefix + 'sidebar_collapsed') === undefined || Cookies.get(cookiePrefix + 'sidebar_collapsed') == '0');
if (sidebarStatus == false) {
$('.section-side').hide();
$('.collapse-bar .collapse').removeClass('fa-angle-double-right').addClass('fa-angle-double-left');
}
$('.collapse-bar .collapse').click(function(){
sidebarStatus = !sidebarStatus;
Cookies.get(cookiePrefix + 'sidebar_collapsed', (sidebarStatus ? '0' : '1'));
$('.section-side').fadeToggle();
$('.collapse-bar .collapse').toggleClass('fa-angle-double-right').toggleClass('fa-angle-double-left');
});	
</script>

I have changed what you mentioned, the panel is hidden, but after refreshing the website it does not remember its position
what is your forum url ? exactly which version of MyBB you are using & which theme ?
Under click function you have to set the value, not get, I guess ....
Cookies.get(cookiePrefix + 'sidebar_collapsed', (sidebarStatus ? '0' : '1'));

Should be
Cookies.set(cookiePrefix + 'sidebar_collapsed', (sidebarStatus ? '0' : '1'));
Thanks, problem solved