@sklinet/strapi-plugin-tinymce
Version:
Strapi custom field with a customized build of TinyMCE richtext editor.
1 lines • 7.52 kB
Source Map (JSON)
{"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":";;;;;;;;AAQA,MAAM,WAAW,MAAM;AACb,QAAA,EAAE,uBAAuB;AAE/B,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,EAAE;AAErD,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAChD,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAE9C,YAAU,MAAM;AACZ,iBAAa,IAAI;AACjB,UAAM,YAAY,YAAY;AACpB,YAAA,OAAO,MAAM,aAAa;AAChC,UAAI,MAAM;AACN,qBAAa,KAAK;AACX,eAAA,iBAAiB,KAAK,KAAK,MAAM;AAAA,MAC5C;AAAA,IAAA;AAEM;EAAA,GACX,CAAC,gBAAgB,CAAC;AAErB,QAAM,eAAe,YAAY;AAC7B,gBAAY,IAAI;AACV,UAAA,aAAa,YAAY,aAAa;AAC5C,gBAAY,KAAK;AACE,uBAAA;AAAA,MACf,MAAM;AAAA,MACN,SAAS,cAAc;AAAA,QACnB,IAAI,eAAe,0BAA0B;AAAA,QAC7C,gBAAgB;AAAA,MAAA,CACnB;AAAA,IAAA,CACJ;AAAA,EAAA;AAGC,QAAA,eAAe,CAAC,MAAW;AACZ,qBAAA,MAAM,EAAE,OAAO,KAAK;AAAA,EAAA;AAGnC,QAAA,EAAE,kBAAkB;AAEpB,QAAA,QAAQ,cAAc,EAAE,IAAI,eAAe,gBAAgB,GAAG,gBAAgB,UAAA,CAAW;AAC/F,QAAM,WAAW,cAAc;AAAA,IAC3B,IAAI,eAAe,mBAAmB;AAAA,IACtC,gBAAgB;AAAA,EAAA,CACnB;AACD,QAAM,QAAQ,cAAc;AAAA,IACxB,IAAI,eAAe,wBAAwB;AAAA,IAC3C,gBAAgB;AAAA,EAAA,CACnB;AACD,QAAM,aAAa,cAAc;AAAA,IAC7B,IAAI,eAAe,sBAAsB;AAAA,IACzC,gBAAgB;AAAA,EAAA,CACnB;AACD,QAAM,mBAAmB,cAAc;AAAA,IACnC,IAAI,eAAe,4BAA4B;AAAA,IAC/C,gBAAgB;AAAA,EAAA,CACnB;AAED,SAEQ,qBAAA,UAAA,EAAA,UAAA;AAAA,IAAA,oBAAC,KAAI,EAAA,YAAY,IAAI,eAAe,IAAI,aAAa,IAAI,cAAc,IACnE,UAAA,qBAAC,MAAK,EAAA,gBAAe,iBACjB,UAAA;AAAA,MAAA,qBAAC,QAAK,WAAU,UAAS,YAAW,SAAQ,KAAK,GAC7C,UAAA;AAAA,QAAA,oBAAC,YAAW,EAAA,SAAQ,SAAQ,YAAW,QAClC,UACL,OAAA;AAAA,4BACC,YAAW,EAAA,SAAQ,WAAU,YAAW,UACpC,UACL,UAAA;AAAA,MAAA,GACJ;AAAA,MACC,4CACK,IAEF;AAAA,QAAC;AAAA,QAAA;AAAA,UACG,SAAS;AAAA,UACT,MAAK;AAAA,UACL,+BAAY,OAAM,EAAA;AAAA,UAClB,UAAU;AAAA,UACV,SAAS;AAAA,UAER,UAAA,cAAc,EAAE,IAAI,eAAe,sBAAsB,GAAG,gBAAgB,QAAQ;AAAA,QAAA;AAAA,MACzF;AAAA,IAAA,EAAA,CAER,EACJ,CAAA;AAAA,IAEC,gCACI,MAAK,EAAA,YAAY,IAAI,eAAe,IAAI,YAAW,UAAS,gBAAe,UACxE,8BAAC,QAAO,CAAA,CAAA,EACZ,CAAA,IAEC,oBAAA,KAAA,EAAI,eAAe,IAAI,aAAa,IAAI,cAAc,IACnD,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,aAAa;AAAA,QACb,cAAc;AAAA,QACd,YAAW;AAAA,QACX,cAAc;AAAA,QACd,QAAO;AAAA,QAEP,UAAA;AAAA,UAAA,oBAAC,YAAW,EAAA,SAAQ,SAAQ,YAAW,UAClC,UACL,OAAA;AAAA,+BACC,MAAM,MAAN,EAAW,IAAG,WAAU,YAAY,GACjC,UAAA;AAAA,YAAC,oBAAA,MAAM,OAAN,EAAa,UAAW,WAAA,CAAA;AAAA,YACzB;AAAA,cAAC,MAAM;AAAA,cAAN;AAAA,gBACG,MAAK;AAAA,gBACL,MAAK;AAAA,gBACL,OAAO;AAAA,gBACP,UAAU;AAAA,gBACV,aAAa;AAAA,cAAA;AAAA,YACjB;AAAA,YACA,oBAAC,MAAM,MAAN,EAAW;AAAA,YACZ,oBAAC,MAAM,OAAN,EAAY;AAAA,UAAA,GACjB;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,GAER;AAAA,EAER,EAAA,CAAA;AAER;"}