INSERT INTO `cp_filejs` (`id`,`app`,`path`,`modul`,`file_name`,`content`) VALUES ('289','4','u8/manager','post','js/post-add.js--','import {\r\n addPost\r\n} from \\\\\\\"./api/posts.js\\\\\\\";\r\nimport app, {\r\n showToast\r\n} from \\\\\\\"./app.js\\\\\\\";\r\nimport store from \\\\\\\"./store.js\\\\\\\";\r\nvar $ = Dom7;\r\n// input post_image\r\n$(document).on(\\\\\\\\\\\\\\\'change\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\'input#fileuploadInput\\\\\\\\\\\\\\\', function(e) {\r\n const file = e.target.files[0]\r\n const reader = new FileReader()\r\n reader.onload = function(e) {\r\n document.querySelector(\\\\\\\\\\\\\\\'.custom-file-upload label\\\\\\\\\\\\\\\').style.backgroundImage = `url(\\\\\\\\\\\\\\\'${e.target.result}\\\\\\\\\\\\\\\')`\r\n document.querySelector(\\\\\\\\\\\\\\\'.custom-file-upload label\\\\\\\\\\\\\\\').style.backgroundSize = \\\\\\\\\\\\\\\'cover\\\\\\\\\\\\\\\'\r\n }\r\n reader.readAsDataURL(file)\r\n})\r\n$(document).on(\\\\\\\\\\\\\\\'click\\\\\\\\\\\\\\\', \\\\\\\\\\\\\\\'#submit-add-post-form\\\\\\\\\\\\\\\', async function(e) {\r\n var view = app.views.current\r\n const form = $(\\\\\\\\\\\\\\\'form#addPostForm\\\\\\\\\\\\\\\')\r\n const cover_image = form.find(\\\\\\\\\\\\\\\'input[name=\\\\\\\"post_image\\\\\\\"]\\\\\\\\\\\\\\\').prop(\\\\\\\\\\\\\\\'files\\\\\\\\\\\\\\\')[0]\r\n const description = $(\\\\\\\\\\\\\\\'#post_caption\\\\\\\\\\\\\\\').val();\r\n if (!cover_image) {\r\n showToast(\\\\\\\\\\\\\\\'Please upload a cover image\\\\\\\\\\\\\\\')\r\n return\r\n }\r\n let base64 = null\r\n if (cover_image) {\r\n // Wrap the FileReader in a Promise to wait for it to complete\r\n base64 = await new Promise((resolve, reject) => {\r\n const reader = new FileReader()\r\n reader.readAsDataURL(cover_image)\r\n reader.onload = () => resolve(reader.result)\r\n reader.onerror = () => reject(new Error(\\\\\\\\\\\\\\\'Failed to read image as base64\\\\\\\\\\\\\\\'))\r\n })\r\n }\r\n const data = {\r\n caption: description,\r\n cover_photo: base64\r\n }\r\n try {\r\n app.preloader.show()\r\n const response = await addPost(data)\r\n app.preloader.hide()\r\n if (!response || response.error) {\r\n throw new Error(response.error);\r\n }\r\n showToast(\\\\\\\\\\\\\\\'Add post successfully\\\\\\\\\\\\\\\')\r\n await store.dispatch(\\\\\\\\\\\\\\\'getMyPosts\\\\\\\\\\\\\\\', {\r\n page: 1,\r\n clear: true\r\n })\r\n view.router.navigate(\\\\\\\\\\\\\\\'/\\\\\\\\\\\\\\\')\r\n //view.router.back()\r\n } catch (error) {\r\n app.notification.create({\r\n titleRightText: \\\\\\\\\\\\\\\'now\\\\\\\\\\\\\\\',\r\n subtitle: \\\\\\\\\\\\\\\'Oops, something went wrong\\\\\\\\\\\\\\\',\r\n text: error.message || \\\\\\\\\\\\\\\'Failed to add post\\\\\\\\\\\\\\\',\r\n }).open()\r\n app.preloader.hide()\r\n }\r\n})');