"use strict";
var __webpack_require__ = {};
(()=>{
    __webpack_require__.d = function(exports1, definition) {
        for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
            enumerable: true,
            get: definition[key]
        });
    };
})();
(()=>{
    __webpack_require__.o = function(obj, prop) {
        return Object.prototype.hasOwnProperty.call(obj, prop);
    };
})();
(()=>{
    __webpack_require__.r = function(exports1) {
        if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
            value: 'Module'
        });
        Object.defineProperty(exports1, '__esModule', {
            value: true
        });
    };
})();
var __webpack_exports__ = {};
__webpack_require__.r(__webpack_exports__);
__webpack_require__.d(__webpack_exports__, {
    Label: ()=>Label,
    useTabSettings: ()=>useTabSettings,
    useUpdatePageStyleSettings: ()=>useUpdatePageStyleSettings
});
const jsx_runtime_namespaceObject = require("react/jsx-runtime");
const external_react_namespaceObject = require("react");
const client_namespaceObject = require("@tachybase/utils/client");
const external_react_i18next_namespaceObject = require("react-i18next");
const index_js_namespaceObject = require("../../api-client/index.js");
const external_common_index_js_namespaceObject = require("../../common/index.js");
const external_user_index_js_namespaceObject = require("../../user/index.js");
const useTabSettings = ()=>({
        key: 'tab',
        eventKey: 'tab',
        label: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Label, {})
    });
function Label() {
    var _currentUser_data_data_systemSettings;
    const { t } = (0, external_react_i18next_namespaceObject.useTranslation)();
    const { updateUserPageStyle } = useUpdatePageStyleSettings();
    const currentUser = (0, external_user_index_js_namespaceObject.useCurrentUserContext)();
    return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_common_index_js_namespaceObject.SelectWithTitle, {
        title: t('Page style'),
        defaultValue: (null === (_currentUser_data_data_systemSettings = currentUser.data.data.systemSettings) || void 0 === _currentUser_data_data_systemSettings ? void 0 : _currentUser_data_data_systemSettings.pageStyle) || 'classical',
        options: [
            {
                label: t('classical'),
                value: 'classical'
            },
            {
                label: t('tabs'),
                value: 'tab'
            }
        ],
        onChange: updateUserPageStyle
    });
}
function useUpdatePageStyleSettings() {
    const api = (0, index_js_namespaceObject.useAPIClient)();
    const currentUser = (0, external_user_index_js_namespaceObject.useCurrentUserContext)();
    const updateUserPageStyle = (0, external_react_namespaceObject.useCallback)(async (pageStyle)=>{
        var _currentUser_data_data_systemSettings;
        if (pageStyle === (null === (_currentUser_data_data_systemSettings = currentUser.data.data.systemSettings) || void 0 === _currentUser_data_data_systemSettings ? void 0 : _currentUser_data_data_systemSettings.pageStyle)) return;
        try {
            await api.resource('users').updateProfile({
                values: {
                    systemSettings: {
                        ...currentUser.data.data.systemSettings || {},
                        pageStyle
                    }
                }
            });
            currentUser.mutate({
                data: {
                    ...currentUser.data.data,
                    systemSettings: {
                        ...currentUser.data.data.systemSettings || {},
                        pageStyle
                    }
                }
            });
        } catch (err) {
            (0, client_namespaceObject.error)(err);
        }
    }, [
        api,
        currentUser
    ]);
    return {
        updateUserPageStyle
    };
}
var __webpack_export_target__ = exports;
for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
    value: true
});
