{"version":3,"file":"Settings-C5_T73Tv.mjs","sources":["../../admin/src/pages/Settings.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { Box, Flex, Typography, Button, Loader, Field } from '@strapi/design-system';\nimport { useNotification } from '@strapi/strapi/admin';\nimport { Check } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { getTranslation } from '../utils/getTranslation';\nimport taskRequests from '../api/settings';\n\nconst Settings = () => {\n    const { toggleNotification } = useNotification();\n\n    const [currentApiKey, setCurrentApiKey] = useState('');\n\n    const [isLoading, setIsLoading] = useState(false);\n    const [isSaving, setIsSaving] = useState(false);\n\n    useEffect(() => {\n        setIsLoading(true);\n        const getApiKey = async () => {\n            const data = await taskRequests.getSettings();\n            if (data) {\n                setIsLoading(false);\n                return setCurrentApiKey(data.data.apiKey);\n            }\n        };\n        getApiKey();\n    }, [setCurrentApiKey]);\n\n    const handleSubmit = async () => {\n        setIsSaving(true);\n        await taskRequests.setSettings(currentApiKey);\n        setIsSaving(false);\n        toggleNotification({\n            type: 'success',\n            message: formatMessage({\n                id: getTranslation('settings.success-message'),\n                defaultMessage: 'Settings successfully updated',\n            }),\n        });\n    };\n\n    const handleChange = (e: any) => {\n        setCurrentApiKey(() => e.target.value);\n    };\n\n    const { formatMessage } = useIntl();\n\n    const title = formatMessage({ id: getTranslation('settings.title'), defaultMessage: 'TinyMCE' });\n    const subtitle = formatMessage({\n        id: getTranslation('settings.subtitle'),\n        defaultMessage: 'Manage the settings of your TinyMCE plugin',\n    });\n    const label = formatMessage({\n        id: getTranslation('settings.content-title'),\n        defaultMessage: 'Set your API key for TinyMCE editor.',\n    });\n    const fieldLabel = formatMessage({\n        id: getTranslation('settings.input-title'),\n        defaultMessage: 'API key',\n    });\n    const fieldPlaceholder = formatMessage({\n        id: getTranslation('settings.input-placeholder'),\n        defaultMessage: 'ex: ADASFNASF46564SAD',\n    });\n\n    return (\n        <>\n            <Box paddingTop={10} paddingBottom={10} paddingLeft={10} paddingRight={10}>\n                <Flex justifyContent=\"space-between\">\n                    <Flex direction=\"column\" alignItems=\"start\" gap={1}>\n                        <Typography variant=\"alpha\" fontWeight=\"bold\">\n                            {title}\n                        </Typography>\n                        <Typography variant=\"epsilon\" fontWeight=\"normal\">\n                            {subtitle}\n                        </Typography>\n                    </Flex>\n                    {isLoading ? (\n                        <></>\n                    ) : (\n                        <Button\n                            onClick={handleSubmit}\n                            size=\"L\"\n                            startIcon={<Check />}\n                            disabled={isSaving}\n                            loading={isSaving}\n                        >\n                            {formatMessage({ id: getTranslation('settings.save-button'), defaultMessage: 'Save' })}\n                        </Button>\n                    )}\n                </Flex>\n            </Box>\n\n            {isLoading ? (\n                <Flex paddingTop={10} paddingBottom={10} alignItems=\"center\" justifyContent=\"center\">\n                    <Loader />\n                </Flex>\n            ) : (\n                <Box paddingBottom={10} paddingLeft={10} paddingRight={10}>\n                    <Box\n                        paddingTop={6}\n                        paddingBottom={6}\n                        paddingLeft={8}\n                        paddingRight={8}\n                        background=\"neutral0\"\n                        borderRadius={1}\n                        shadow=\"filterShadow\"\n                    >\n                        <Typography variant=\"omega\" fontWeight=\"normal\">\n                            {label}\n                        </Typography>\n                        <Field.Root id=\"api-key\" paddingTop={4}>\n                            <Field.Label>{fieldLabel}</Field.Label>\n                            <Field.Input\n                                type=\"text\"\n                                name=\"key\"\n                                value={currentApiKey}\n                                onChange={handleChange}\n                                placeholder={fieldPlaceholder}\n                            />\n                            <Field.Hint />\n                            <Field.Error />\n                        </Field.Root>\n                    </Box>\n                </Box>\n            )}\n        </>\n    );\n};\n\nexport default Settings;\n"],"names":[],"mappings":"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"}