Files
pole-book/server/node_modules/.strapi/vite/deps/SettingsPage-RQMX2WLO.js

420 lines
15 KiB
JavaScript

import {
PERMISSIONS,
getTrad
} from "./chunk-ALMC553V.js";
import "./chunk-QF6GPHA4.js";
import "./chunk-JRLAXHTE.js";
import "./chunk-E4IFZ6ZT.js";
import {
useMutation,
useQuery
} from "./chunk-QLEKUQKW.js";
import "./chunk-4J3VOWQV.js";
import "./chunk-PFI4R5WA.js";
import "./chunk-B3BGMYGX.js";
import "./chunk-W6ICJ5TB.js";
import "./chunk-IHYIPMY2.js";
import "./chunk-UWHSN2C7.js";
import "./chunk-ERK7O2GM.js";
import {
useFetchClient
} from "./chunk-FCIM6RNO.js";
import "./chunk-J33IXKN4.js";
import "./chunk-NP53ZCXD.js";
import "./chunk-KFLQQE5L.js";
import "./chunk-ED4XR3VQ.js";
import "./chunk-MBK4V2X7.js";
import "./chunk-5ESYXDTN.js";
import "./chunk-K65KIEAL.js";
import "./chunk-B7ZLODDO.js";
import "./chunk-PW7XKCYO.js";
import {
require_set
} from "./chunk-RMBEU7DO.js";
import "./chunk-RI2W2UZ6.js";
import "./chunk-IY256CNP.js";
import "./chunk-IFOFBKTA.js";
import "./chunk-XLSIZGJF.js";
import "./chunk-EGNP2T5O.js";
import "./chunk-GSN7U3BK.js";
import "./chunk-T3B5F2LV.js";
import "./chunk-YXDCVYVT.js";
import "./chunk-QIJGNK42.js";
import "./chunk-7PUJSL55.js";
import "./chunk-C2ZJTFO7.js";
import "./chunk-C75BZXCZ.js";
import "./chunk-APGTER6B.js";
import "./chunk-ZM6TT53G.js";
import "./chunk-6AXVGFVQ.js";
import "./chunk-BFLP6DBI.js";
import "./chunk-CMLQV3Z2.js";
import "./chunk-D4WYVNVM.js";
import "./chunk-MMOBCIZG.js";
import "./chunk-IGCTEXRF.js";
import {
Layouts
} from "./chunk-TIVRAWTC.js";
import "./chunk-PQINNV4N.js";
import {
require_isEqual
} from "./chunk-VYSYYPOB.js";
import {
Page
} from "./chunk-5CAWUBTQ.js";
import "./chunk-W2TBR6J3.js";
import "./chunk-QEGMJR7H.js";
import {
require_lib
} from "./chunk-LCL5TIBZ.js";
import "./chunk-WOQNBAGN.js";
import "./chunk-BHLYCXQ7.js";
import "./chunk-76QM3EFM.js";
import "./chunk-CE4VABH2.js";
import {
fn
} from "./chunk-5VODLFKF.js";
import {
useNotification
} from "./chunk-N55RVBRV.js";
import {
Box,
Button,
Field,
Flex,
Grid,
Toggle,
Typography,
useIntl
} from "./chunk-7XB6XSWQ.js";
import "./chunk-5ZC4PE57.js";
import "./chunk-TUXTO2Z5.js";
import "./chunk-FOD4ENRR.js";
import {
ForwardRef$4F
} from "./chunk-WRD5KPDH.js";
import {
require_jsx_runtime
} from "./chunk-NIAJZ5MX.js";
import "./chunk-ACIMPXWY.js";
import {
require_react
} from "./chunk-MADUDGYZ.js";
import {
__toESM
} from "./chunk-PLDDJCW6.js";
// node_modules/@strapi/upload/dist/admin/pages/SettingsPage/SettingsPage.mjs
var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
var React = __toESM(require_react(), 1);
var import_isEqual = __toESM(require_isEqual(), 1);
var import_qs = __toESM(require_lib(), 1);
// node_modules/@strapi/upload/dist/admin/pages/SettingsPage/init.mjs
var init = (initialState2) => {
return initialState2;
};
// node_modules/@strapi/upload/dist/admin/pages/SettingsPage/reducer.mjs
var import_set = __toESM(require_set(), 1);
var initialState = {
initialData: {
responsiveDimensions: true,
sizeOptimization: true,
autoOrientation: false,
videoPreview: false
},
modifiedData: {
responsiveDimensions: true,
sizeOptimization: true,
autoOrientation: false,
videoPreview: false
}
};
var reducer = (state, action) => fn(state, (drafState) => {
switch (action.type) {
case "GET_DATA_SUCCEEDED": {
drafState.initialData = action.data;
drafState.modifiedData = action.data;
break;
}
case "ON_CHANGE": {
(0, import_set.default)(drafState, [
"modifiedData",
...action.keys.split(".")
], action.value);
break;
}
default:
return state;
}
});
// node_modules/@strapi/upload/dist/admin/pages/SettingsPage/SettingsPage.mjs
var SettingsPage = () => {
const { formatMessage } = useIntl();
const { toggleNotification } = useNotification();
const { get, put } = useFetchClient();
const [{ initialData, modifiedData }, dispatch] = React.useReducer(reducer, initialState, init);
const { data, isLoading, refetch } = useQuery({
queryKey: [
"upload",
"settings"
],
async queryFn() {
const { data: { data: data2 } } = await get("/upload/settings");
return data2;
}
});
React.useEffect(() => {
if (data) {
dispatch({
type: "GET_DATA_SUCCEEDED",
data
});
}
}, [
data
]);
const isSaveButtonDisabled = (0, import_isEqual.default)(initialData, modifiedData);
const { mutateAsync, isLoading: isSubmitting } = useMutation(async (body) => {
const { data: data2 } = await put("/upload/settings", body);
return data2;
}, {
onSuccess() {
refetch();
toggleNotification({
type: "success",
message: formatMessage({
id: "notification.form.success.fields"
})
});
},
onError(err) {
console.error(err);
}
});
const handleSubmit = async (e) => {
e.preventDefault();
if (isSaveButtonDisabled) {
return;
}
await mutateAsync(modifiedData);
};
const handleChange = ({ target: { name, value } }) => {
dispatch({
type: "ON_CHANGE",
keys: name,
value
});
};
if (isLoading) {
return (0, import_jsx_runtime.jsx)(Page.Loading, {});
}
return (0, import_jsx_runtime.jsxs)(Page.Main, {
tabIndex: -1,
children: [
(0, import_jsx_runtime.jsx)(Page.Title, {
children: formatMessage({
id: getTrad("page.title"),
defaultMessage: "Settings - Media Libray"
})
}),
(0, import_jsx_runtime.jsxs)("form", {
onSubmit: handleSubmit,
children: [
(0, import_jsx_runtime.jsx)(Layouts.Header, {
title: formatMessage({
id: getTrad("settings.header.label"),
defaultMessage: "Media Library"
}),
primaryAction: (0, import_jsx_runtime.jsx)(Button, {
disabled: isSaveButtonDisabled,
loading: isSubmitting,
type: "submit",
startIcon: (0, import_jsx_runtime.jsx)(ForwardRef$4F, {}),
size: "S",
children: formatMessage({
id: "global.save",
defaultMessage: "Save"
})
}),
subtitle: formatMessage({
id: getTrad("settings.sub-header.label"),
defaultMessage: "Configure the settings for the Media Library"
})
}),
(0, import_jsx_runtime.jsx)(Layouts.Content, {
children: (0, import_jsx_runtime.jsx)(Layouts.Root, {
children: (0, import_jsx_runtime.jsx)(Flex, {
direction: "column",
alignItems: "stretch",
gap: 12,
children: (0, import_jsx_runtime.jsx)(Box, {
background: "neutral0",
padding: 6,
shadow: "filterShadow",
hasRadius: true,
children: (0, import_jsx_runtime.jsxs)(Flex, {
direction: "column",
alignItems: "stretch",
gap: 4,
children: [
(0, import_jsx_runtime.jsx)(Flex, {
children: (0, import_jsx_runtime.jsx)(Typography, {
variant: "delta",
tag: "h2",
children: formatMessage({
id: getTrad("settings.blockTitle"),
defaultMessage: "Asset management"
})
})
}),
(0, import_jsx_runtime.jsxs)(Grid.Root, {
gap: 6,
children: [
(0, import_jsx_runtime.jsx)(Grid.Item, {
col: 6,
s: 12,
direction: "column",
alignItems: "stretch",
children: (0, import_jsx_runtime.jsxs)(Field.Root, {
hint: formatMessage({
id: getTrad("settings.form.responsiveDimensions.description"),
defaultMessage: "Enabling this option will generate multiple formats (small, medium and large) of the uploaded asset."
}),
name: "responsiveDimensions",
children: [
(0, import_jsx_runtime.jsx)(Field.Label, {
children: formatMessage({
id: getTrad("settings.form.responsiveDimensions.label"),
defaultMessage: "Responsive friendly upload"
})
}),
(0, import_jsx_runtime.jsx)(Toggle, {
checked: modifiedData == null ? void 0 : modifiedData.responsiveDimensions,
offLabel: formatMessage({
id: "app.components.ToggleCheckbox.off-label",
defaultMessage: "Off"
}),
onLabel: formatMessage({
id: "app.components.ToggleCheckbox.on-label",
defaultMessage: "On"
}),
onChange: (e) => {
handleChange({
target: {
name: "responsiveDimensions",
value: e.target.checked
}
});
}
}),
(0, import_jsx_runtime.jsx)(Field.Hint, {})
]
})
}),
(0, import_jsx_runtime.jsx)(Grid.Item, {
col: 6,
s: 12,
direction: "column",
alignItems: "stretch",
children: (0, import_jsx_runtime.jsxs)(Field.Root, {
hint: formatMessage({
id: getTrad("settings.form.sizeOptimization.description"),
defaultMessage: "Enabling this option will reduce the image size and slightly reduce its quality."
}),
name: "sizeOptimization",
children: [
(0, import_jsx_runtime.jsx)(Field.Label, {
children: formatMessage({
id: getTrad("settings.form.sizeOptimization.label"),
defaultMessage: "Size optimization"
})
}),
(0, import_jsx_runtime.jsx)(Toggle, {
checked: modifiedData == null ? void 0 : modifiedData.sizeOptimization,
offLabel: formatMessage({
id: "app.components.ToggleCheckbox.off-label",
defaultMessage: "Off"
}),
onLabel: formatMessage({
id: "app.components.ToggleCheckbox.on-label",
defaultMessage: "On"
}),
onChange: (e) => {
handleChange({
target: {
name: "sizeOptimization",
value: e.target.checked
}
});
}
}),
(0, import_jsx_runtime.jsx)(Field.Hint, {})
]
})
}),
(0, import_jsx_runtime.jsx)(Grid.Item, {
col: 6,
s: 12,
direction: "column",
alignItems: "stretch",
children: (0, import_jsx_runtime.jsxs)(Field.Root, {
hint: formatMessage({
id: getTrad("settings.form.autoOrientation.description"),
defaultMessage: "Enabling this option will automatically rotate the image according to EXIF orientation tag."
}),
name: "autoOrientation",
children: [
(0, import_jsx_runtime.jsx)(Field.Label, {
children: formatMessage({
id: getTrad("settings.form.autoOrientation.label"),
defaultMessage: "Auto orientation"
})
}),
(0, import_jsx_runtime.jsx)(Toggle, {
checked: modifiedData == null ? void 0 : modifiedData.autoOrientation,
offLabel: formatMessage({
id: "app.components.ToggleCheckbox.off-label",
defaultMessage: "Off"
}),
onLabel: formatMessage({
id: "app.components.ToggleCheckbox.on-label",
defaultMessage: "On"
}),
onChange: (e) => {
handleChange({
target: {
name: "autoOrientation",
value: e.target.checked
}
});
}
}),
(0, import_jsx_runtime.jsx)(Field.Hint, {})
]
})
})
]
})
]
})
})
})
})
})
]
})
]
});
};
var ProtectedSettingsPage = () => (0, import_jsx_runtime.jsx)(Page.Protect, {
permissions: PERMISSIONS.settings,
children: (0, import_jsx_runtime.jsx)(SettingsPage, {})
});
export {
ProtectedSettingsPage,
SettingsPage
};
//# sourceMappingURL=SettingsPage-RQMX2WLO.js.map