-
- ) : (
-
- )
- }
- type={previewError ? 'error' : 'success'}
- />
+
+
+ ) : (
+
+ )
+ }
+ type={previewError ? 'error' : 'success'}
+ />
+ {isEditing && (
+ }
+ loading={formatLoading}
+ disabled={loading || formatLoading}
+ onClick={handleFormatCode}
+ />
+ )}
+
{
URL.revokeObjectURL(fileUrl)
}
+ const fetchTemplateFormat = async (content, callback) => {
+ logger.debug('Formatting template content...')
+ try {
+ const response = await axios.post(
+ `${config.backendUrl}/documenttemplates/format`,
+ { content },
+ {
+ headers: {
+ Accept: 'application/json',
+ Authorization: `Bearer ${token}`
+ }
+ }
+ )
+ if (typeof callback === 'function') {
+ callback(response.data)
+ }
+ return response.data
+ } catch (err) {
+ const error = getTemplateErrorFromResponse(err)
+ logger.error('Error formatting template content:', error)
+ if (typeof callback === 'function') {
+ callback({ error })
+ }
+ return { error }
+ }
+ }
+
const fetchTemplatePreview = async (
id,
content,
@@ -2346,6 +2373,7 @@ const ApiServerProvider = ({ children }) => {
exportToExcel,
exportToCsv,
fetchTemplatePreview,
+ fetchTemplateFormat,
fetchTemplatePDF,
fetchNotes,
downloadTemplate,
diff --git a/src/components/Icons/MagicWandIcon.jsx b/src/components/Icons/MagicWandIcon.jsx
new file mode 100644
index 00000000..b55f261f
--- /dev/null
+++ b/src/components/Icons/MagicWandIcon.jsx
@@ -0,0 +1,6 @@
+import Icon from '@ant-design/icons'
+import CustomIconSvg from '../../../assets/icons/magicwandicon.svg?react'
+
+const MagicWandIcon = (props) =>
+
+export default MagicWandIcon