mirror of
https://github.com/ManchildProductions/UXP-Fixed.git
synced 2026-06-12 10:59:19 +00:00
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
"use strict";
|
|
|
|
const I = require("devtools/client/shared/vendor/immutable");
|
|
const {
|
|
DISABLE_TOGGLE_BUTTON,
|
|
SHOW_SIDEBAR,
|
|
TOGGLE_SIDEBAR,
|
|
} = require("../constants");
|
|
|
|
const SidebarState = I.Record({
|
|
toggleButtonDisabled: true,
|
|
visible: false,
|
|
});
|
|
|
|
function disableToggleButton(state, action) {
|
|
return state.set("toggleButtonDisabled", action.disabled);
|
|
}
|
|
|
|
function showSidebar(state, action) {
|
|
return state.set("visible", action.visible);
|
|
}
|
|
|
|
function toggleSidebar(state, action) {
|
|
return state.set("visible", !state.visible);
|
|
}
|
|
|
|
function sidebar(state = new SidebarState(), action) {
|
|
switch (action.type) {
|
|
case DISABLE_TOGGLE_BUTTON:
|
|
return disableToggleButton(state, action);
|
|
case SHOW_SIDEBAR:
|
|
return showSidebar(state, action);
|
|
case TOGGLE_SIDEBAR:
|
|
return toggleSidebar(state, action);
|
|
default:
|
|
return state;
|
|
}
|
|
}
|
|
|
|
module.exports = sidebar;
|