{"version":3,"file":"api.05b741ea.js","sources":["../../../app/javascript/components/Icon.vue","../../../plugin-vue:export-helper","../../../app/javascript/styles.js","../../../app/javascript/config.js","../../../app/javascript/stores/main.js","../../../app/javascript/components/CardComponent.vue","../../../app/javascript/components/Control.vue","../../../app/javascript/plugins/cable.js","../../../app/javascript/plugins/api.js"],"sourcesContent":["\n\n\n \n \n \n \n \n\n","\nexport default (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n}\n","const bodyBase = 'text-base dark:bg-gray-800 dark:text-gray-100';\n\nexport const basic = {\n html: '',\n body: `bg-gray-50 ${bodyBase}`,\n lightBorder: 'border-gray-100',\n lightBg: 'bg-gray-100',\n aside: 'bg-gray-800',\n asideBrand: 'bg-gray-900 text-white',\n asideMenuCloseLg: 'text-white',\n asideMenuLabel: 'text-gray-400',\n // asideMenuItem: 'hover:bg-gray-600 hover:bg-opacity-50',\n asideMenuItem: 'hover:translate-x-1 duration-500',\n asideMenuItemActive:\n 'w-full flex items-center bg-gradient-to-br from-purple-600 to-blue-500 hover:bg-gradient-to-bl focus:ring-0 focus:outline-0 font-medium rounded text-sm py-2 text-white',\n asideMenuItemInactive: 'flex items-center text-gray-300',\n asideSubmenuList: 'bg-gray-700 bg-opacity-50',\n navBarItemLabel: 'text-black',\n navBarItemLabelHover: 'hover:text-blue-500',\n navBarItemLabelActiveColor: 'text-blue-600',\n navBarMenuListUpperLabel: 'bg-gray-100',\n tableTr: 'lg:hover:bg-gray-100',\n tableTrOdd: 'lg:bg-gray-50',\n overlay: 'from-gray-700 via-gray-900 to-gray-700',\n};\n\nexport const white = {\n html: 'scrollbars-light',\n body: `bg-white ${bodyBase}`,\n lightBorder: 'border-gray-100',\n lightBg: 'bg-gray-100',\n aside: 'bg-white border-r border-gray-100',\n asideBrand: '',\n asideMenuCloseLg: '',\n asideMenuLabel: 'dark:text-gray-400',\n asideMenuItem: 'text-blue-600 hover:text-black dark:text-white',\n asideMenuItemActive: 'font-bold text-black dark:text-white',\n asideMenuItemInactive: '',\n asideSubmenuList: 'bg-gray-50',\n navBarItemLabel: 'text-blue-600',\n navBarItemLabelHover: 'hover:text-black',\n navBarItemLabelActiveColor: 'text-black',\n navBarMenuListUpperLabel: 'bg-gray-50',\n tableTr: 'lg:hover:bg-gray-100',\n tableTrOdd: 'lg:bg-gray-50',\n overlay: 'from-white via-gray-100 to-white',\n};\n","export const darkModeKey = 'darkMode'\n\nexport const styleKey = 'style'\n","import { defineStore } from 'pinia';\nimport * as styles from '@/styles';\nimport { darkModeKey, styleKey } from '@/config';\nimport axios from 'axios';\n\nexport const useMainStore = defineStore('main', {\n state: () => ({\n /* Styles */\n lightBorderStyle: '',\n lightBgStyle: '',\n asideStyle: '',\n asideBrandStyle: '',\n asideMenuCloseLgStyle: '',\n asideMenuLabelStyle: '',\n asideMenuItemStyle: '',\n asideMenuItemActiveStyle: '',\n asideMenuItemInactiveStyle: '',\n asideSubmenuListStyle: '',\n navBarItemLabelStyle: '',\n navBarItemLabelHoverStyle: '',\n navBarItemLabelActiveColorStyle: '',\n navBarMenuListUpperLabelStyle: '',\n tableTrStyle: '',\n tableTrOddStyle: '',\n overlayStyle: '',\n\n /* User */\n userId: null,\n userName: null,\n userEmail: null,\n userAvatar: null,\n\n /* fullScreen - fullscreen form layout (e.g. login page) */\n isFullScreen: true,\n\n /* Aside */\n isAsideMobileExpanded: false,\n isAsideLgActive: false,\n\n /* Dark mode */\n darkMode: false,\n\n /* Field focus with ctrl+k (to register only once) */\n isFieldFocusRegistered: false,\n\n /* Sample data (commonly used) */\n clients: [],\n history: [],\n profile: {},\n credit: null,\n order: null,\n }),\n actions: {\n setUser(payload) {\n if (payload.id) {\n this.userId = payload.id;\n }\n if (payload.name) {\n this.userName = payload.name;\n }\n if (payload.email) {\n this.userEmail = payload.email;\n }\n if (payload.avatar) {\n this.userAvatar = payload.avatar;\n }\n },\n\n async updateUser(payload) {\n console.log(payload);\n return await axios({\n url: '/api/auth/setting',\n method: 'put',\n baseURL: '/',\n data: payload,\n }).then((res) => {\n this.userEmail = res.data.data.attributes.email;\n return res.data.data;\n });\n },\n\n async updatePass(payload) {\n return await axios({\n url: '/api/user/account/update_password',\n method: 'put',\n baseURL: '/',\n data: payload,\n }).then((res) => {\n // console.log(res);\n return res.data.data;\n // localStorage.setItem\n // this.userEmail = res.data.data.attributes.email;\n });\n },\n\n setStyle(payload) {\n const style = styles[payload] ?? styles.basic;\n\n document.body.className = style.body;\n document.documentElement.className = style.html;\n\n if (localStorage[styleKey] !== payload) {\n localStorage.setItem(styleKey, payload);\n }\n\n for (const key in style) {\n if (['body', 'html'].includes(key)) {\n continue;\n }\n\n this[`${key}Style`] = style[key];\n }\n },\n\n asideMobileToggle(payload = null) {\n const isShow = payload !== null ? payload : !this.isAsideMobileExpanded;\n\n document.getElementById('app').classList[isShow ? 'add' : 'remove']('ml-60', 'lg:ml-0');\n\n document.documentElement.classList[isShow ? 'add' : 'remove']('m-clipped');\n\n this.isAsideMobileExpanded = isShow;\n },\n\n asideLgToggle(payload = null) {\n this.isAsideLgActive = payload !== null ? payload : !this.isAsideLgActive;\n },\n\n fullScreenToggle(payload) {\n this.isFullScreen = payload;\n\n document.documentElement.classList[payload ? 'add' : 'remove']('full-screen');\n },\n\n setDarkMode(payload = null) {\n const value = payload !== null ? payload : !this.darkMode;\n\n document.documentElement.classList[value ? 'add' : 'remove']('dark');\n\n localStorage.setItem(darkModeKey, value ? '1' : '0');\n\n this.darkMode = value;\n },\n\n fetch(sampleDataKey) {\n axios\n .get(`data/${sampleDataKey}.json`)\n .then((r) => {\n if (r.data && r.data.data) {\n this[sampleDataKey] = r.data.data;\n }\n })\n .catch((error) => {\n // alert(error.message);\n });\n },\n getObject(objectKey) {\n axios\n .get(`${objectKey}.json`)\n .then((r) => {\n if (r.data && r.data.data) {\n this[objectKey] = r.data.data.attributes;\n }\n })\n .catch((error) => {\n // alert(error.message);\n });\n },\n setProfile() {\n axios\n .get('/profile')\n .then((r) => {\n if (r.data && r.data.data) {\n this.profile = r.data.data.attributes;\n this.userId = r.data.data.id;\n this.userName = r.data.data.attributes.username;\n this.userEmail = r.data.data.attributes.email;\n this.userAvatar =\n 'https://avatars.dicebear.com/api/avataaars/example.svg?options[top][]=shortHair&options[accessoriesChance]=93';\n }\n })\n .catch((error) => {\n // alert(error.message);\n });\n },\n setCredit() {\n axios\n .get('credit')\n .then((res) => {\n if (res) {\n this.credit = parseFloat(res.data).toFixed(2);\n }\n })\n .catch((error) => {\n // alert(error.message);\n });\n },\n async getCredit() {\n await axios\n .get('credit')\n .then((res) => {\n if (res) {\n // console.log(res);\n // console.log(res.data);\n return res;\n }\n })\n .catch((error) => {\n // alert(error.message);\n });\n },\n setOrder() {\n axios\n .get('order')\n .then((res) => {\n if (res) {\n // console.log(res.data);\n this.order = res.data;\n }\n })\n .catch((error) => {\n // alert(error.message);\n });\n },\n },\n});\n","\n\n\n \n \n \n \n {{ title }}\n \n \n \n \n \n \n Nothing's hereā¦\n \n \n \n \n \n\n","\n\n\n \n \n \n {{ props.placeholder }}\n \n \n {{ option.label ?? option }}\n \n \n \n \n \n \n {{ errorMessage || successMessage }}\n \n \n\n","import { createConsumer } from \"@rails/actioncable\"\nimport mitt from 'mitt';\n\nconst protocol = window.location.protocol === 'https:' ? 'wss' : 'ws';\nconst consumer = createConsumer(`${protocol}://${window.location.host}/cable`);\nconst emitter = mitt();\nlet channel = null;\n\nfunction Cable() {}\n\nCable.prototype.on = function(channel, callback) {\n return emitter.on(channel, callback);\n};\n\nCable.prototype.send = function(message) {\n channel.send({message: message})\n};\n\nCable.prototype.install = function(app) {\n app.plugin = this;\n app.config.globalProperties.$cable = this;\n}\n\nexport function createCable(options) {\n channel = consumer.subscriptions.create({ channel: options.channel}, {\n received(data) { \n emitter.emit('chat', data)\n }\n })\n\n return new Cable();\n}","function Api() {}\n\nApi.prototype.call = function (request, e) {\n let has_animation = null;\n try {\n e.classList.add('loading');\n has_animation = true;\n } catch (e) {\n has_animation = false;\n }\n\n return new Promise((resolve) => {\n request.then((response) => {\n if (has_animation === true) {\n e.classList.remove('loading');\n let status = null;\n if (response === true) {\n status = 'success';\n }\n if (response === false) {\n status = 'failed';\n }\n\n e.classList.add(status);\n setTimeout(function () {\n e.classList.remove(status);\n }, 1000);\n }\n\n resolve(response);\n });\n });\n};\n\nApi.prototype.install = function (app) {\n app.plugin = this;\n app.config.globalProperties.$api = this;\n};\n\nexport function createApi(args) {\n args.handler.defaults.baseURL = `${window.location.protocol}/${window.I18n.prefix}api${args.namespace}/`;\n // args.handler.defaults.headers.common['X-CSRF-Token'] = document\n // .querySelector('meta[name=\"csrf-token\"]')\n // .getAttribute('content');\n args.handler.defaults.headers.common['Authorization'] = localStorage.getItem('token');\n args.handler.interceptors.response.use(\n (response) => {\n return response;\n },\n (error) => {\n console.log(error.response);\n // console.log(error.response);\n switch (error.response.status) {\n case 500:\n // window.location.href = '/5000';\n break;\n case 401:\n // alert('not authenticated');\n localStorage.removeItem('token');\n setTimeout(() => {\n window.location.href = '/auth/login';\n }, 6000);\n break;\n }\n\n return Promise.reject(error);\n },\n );\n\n return new Api();\n}\n"],"names":["styles.basic"],"mappings":"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"}
\n \n {{ title }}\n
Nothing's hereā¦
\n {{ errorMessage || successMessage }}\n