{"version":3,"sources":["webpack:///./src/developing/components/communication/subcomponents/Chat/TopicPage.vue?a348","webpack:///src/developing/components/communication/subcomponents/Chat/TopicPage.vue","webpack:///./src/developing/components/communication/subcomponents/Chat/TopicPage.vue?3480","webpack:///./src/developing/components/communication/subcomponents/Chat/TopicPage.vue?3306","webpack:///./src/store/modules/chat/state/index.js","webpack:///./src/store/modules/chat/getters/index.js","webpack:///./src/store/modules/chat/mutations/index.js","webpack:///./src/queries/modules/chat/chat.js","webpack:///./src/store/modules/chat/actions/index.js","webpack:///./src/store/modules/chat/index.js","webpack:///./src/developing/components/communication/data/data-local.js","webpack:///./src/developing/components/communication/data/data-dev.js","webpack:///./src/developing/components/communication/data/index.js","webpack:///./src/developing/components/communication/subcomponents/Chat/TopicPage.vue?4275"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","slot","staticClass","topic","domProps","_s","message","_v","$t","_l","index","key","class","data","isFromTeacher","isFromStudent","ref","_m","checkReplyable","on","$event","type","indexOf","_k","keyCode","sendReply","model","value","replyInput","callback","$$v","$set","expression","_e","staticRenderFns","staticStyle","components","TopicHeader","ChatUI","props","Object","default","localData","content","messages","loading","watch","handler","id","prevTopic","deep","computed","userPhoto","fromUser","userName","courseName","courseOutlineRegistration","classSection","dataAdapter","methods","subject","senderUUID","photo","sender_name","sender_code","unread","readDate","time","sendDate","isStarred","handleReplyEvent","Datastore","Message","save","push","markMesssageIsRead","scrollToLatestMessage","$nextTick","refreshMessages","messageLoader","then","checkCurrentMessageList","checkMessageUpdate","beforeCreate","$store","state","Chat","registerModule","destroyed","component","chatrooms","getChatrooms","classrooms","setError","generic","setSuccess","setProcessing","storeChatrooms","purgeClassroom","GET_CHATROOMS","gql","GET_CHATROOMS_BY_FILTER","GET_CHATROOM_BY_ID","GET_CHATROOM_BY_ASSOCIATIVE_KEY","SEND_CHATMESSAGES","context","commit","apolloClient","query","fetchPolicy","clientName","result","getChatRooms","status","success","error","console","log","full","getChatroomsByFilter","getChatroomById","Error","variables","chatroom","getChatRoomById","getChatroomByAssociativeKey","payload","getChatRoomByAssociativeKey","sendChatMessages","mutate","mutation","chatMessageSentResult","namespaced","getters","mutations","actions","Vue","observable","clickNotClose","isLeftSidebarActive","isMessageContentActive","newChatUnread","newPM","newWebboardReply","selectedPanel","panels","currentMessage","currentTopic","currentViewingMessages","currentViewingMessageCursor","currentViewingMessageType","messagePool","pm","webboard","chat","activeListType","getNewUnreadMessage","store","local","dev","constructTopicsFromList","channel","list_type","getList","storedList","list","topics","Array","isArray","diff","i","length","item","load","splice","map","dispatch","constructMessagesFromList","list_id","topicItem","messageIndex","messageItem","loadTopicList","getPMTopicList","getChatTopicList","getWebboardTopicList","getState","pool","has","idb","get","set","response"],"mappings":"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","file":"js/chunk-72341d08.7807f7a6.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('vx-card',[_c('ChatUI',{attrs:{\"slot\":\"no-body\",\"activator\":[]},slot:\"no-body\"})],1),(_vm.topic)?_c('div',{staticClass:\"mail__content mb-1 \"},[_c('TopicHeader',{attrs:{\"data\":_vm.topic,\"show-content\":false}}),_c('div',{staticClass:\"bubble _topic mail__content mt-2 z-10\",domProps:{\"innerHTML\":_vm._s(_vm.topic.message)}}),_c('div',{staticClass:\"vx-row\"},[_c('div',{staticClass:\"vx-col w-full overflow-hidden\"},[(_vm.loading)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('general.loading'))+\" \")]):_c('div',{staticClass:\"message-pane mail__content break-words px-8 \"},[_vm._l((_vm.messages),function(message,index){return [_c('div',{key:index,staticClass:\"bubble mt-2 mb-3\",class:{ '_reply': message.data.isFromTeacher, '_response': message.data.isFromStudent }},[_c('p',{domProps:{\"innerHTML\":_vm._s(message.data.message)}})])]}),_c('div',{ref:\"latest\"})],2),_vm._m(0)])]),(_vm.checkReplyable())?_c('vx-card',{},[_c('div',{staticClass:\"vx-row\"},[_c('div',{staticClass:\"vx-col w-full flex justify-between p-1 bg-white\"},[_c('vs-input',{staticClass:\"flex-1\",attrs:{\"placeholder\":_vm.$t('pm.reply')},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.sendReply($event)}},model:{value:(_vm.replyInput.content),callback:function ($$v) {_vm.$set(_vm.replyInput, \"content\", $$v)},expression:\"replyInput.content\"}}),_c('vs-button',{staticClass:\"bg-primary-gradient ml-4\",attrs:{\"type\":\"gradient\"},on:{\"click\":_vm.sendReply}},[_vm._v(\" \"+_vm._s(_vm.$t('general.message.send'))+\" \")])],1)])]):_c('vx-card',{staticClass:\"mt-8 text-white bg-danger\"},[_vm._v(\" \"+_vm._s(_vm.$t('general.message.unable-reply'))+\" \")])],1):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ps__rail-y ps--clicking\",staticStyle:{\"top\":\"8px\",\"right\":\"0px\",\"height\":\"553px\"}},[_c('div',{staticClass:\"ps__thumb-y\",staticStyle:{\"top\":\"8px\",\"height\":\"545px\"},attrs:{\"tabindex\":\"0\"}})])}]\n\nexport { render, staticRenderFns }","\n\n\n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n {{ $t('general.loading') }}\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n\n \n \n \n \n {{ $t('general.message.send') }}\n \n \n \n \n\n \n {{ $t('general.message.unable-reply') }}\n \n \n \n \n \n\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopicPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopicPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TopicPage.vue?vue&type=template&id=34b69620&scoped=true&\"\nimport script from \"./TopicPage.vue?vue&type=script&lang=js&\"\nexport * from \"./TopicPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TopicPage.vue?vue&type=style&index=0&id=34b69620&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"34b69620\",\n null\n \n)\n\nexport default component.exports","export default {\n chatrooms: {}\n}\n","export function getChatrooms(state) {\n return state.classrooms;\n}\n","import * as generic from \"@/store/generic/mutations/result-status.js\";\n\nexport const setError = generic.setError;\nexport const setSuccess = generic.setSuccess;\nexport const setProcessing = generic.setProcessing;\n\nexport function storeChatrooms(state, data) {\n state.chatrooms[data.id] = data;\n}\n\nexport function purgeClassroom(state) {\n state.chatrooms = {};\n}\n","import { gql } from \"apollo-boost\";\n\n/* \n * extend type Query {\n * getChatrooms\n * : [ChatRoom]\n * }\n */\n\nexport const GET_CHATROOMS = gql`\n query getChatRooms {\n getChatRooms {\n id\n }\n }\n`;\n\n/* \n * extend type Query {\n * getChatRoomsByFilter\n * : [ChatRoom]\n * }\n */\n\n\nexport const GET_CHATROOMS_BY_FILTER = gql`\n query getChatRoomsByFilter {\n getChatRoomsByFilter {\n id\n }\n }\n`;\n\n/* \n * extend type Query {\n * getChatRoomById\n * : ChatRoom\n * }\n */\n\nexport const GET_CHATROOM_BY_ID = gql`\n query getChatRoomById ($id: ID!, $userUUID: String) {\n getChatRoomById (\n id: $id\n userUUID: $userUUID\n )\n {\n id\n chatMessageSet {\n id\n meta {\n date\n timestamp\n length\n }\n messages\n previousMessages\n }\n members\n activeUserList\n }\n }\n`;\n\n/* \n * extend type Query {\n * getChatRoomByAssociativeKey\n * : ChatRoom\n * }\n */\n\nexport const GET_CHATROOM_BY_ASSOCIATIVE_KEY = gql`\n query getChatRoomByAssociativeKey (\n $associateFeatureInput: [ChatAssociateFeatureInput]!\n ) {\n getChatRoomByAssociativeKey (\n associateFeatureInput: $associateFeatureInput\n )\n {\n id\n chatMessageSet {\n id\n meta {\n date\n timestamp\n length\n }\n messages\n previousMessages\n }\n members\n activeUserList\n } \n }\n`;\n\n/* \n * extend type Query {\n * sendChatMessages\n * : ChatRoom\n * }\n */\n\nexport const SEND_CHATMESSAGES = gql`\n mutation sendChatMessages (\n $chatroomID: ID!\n $chatMessagesInput: [ChatMessageInput]!\n ) {\n sendChatMessages (\n chatroomID: $chatroomID,\n chatMessagesInput: $chatMessagesInput\n )\n {\n id\n } \n }\n`;\n","/* eslint-disable no-console, no-case-declarations, no-unused-vars */\n// import axios from \"axios\";\nimport { apolloClient } from \"@/setup/apollo-setup\";\n// import { serverResponseStatusSet, error } from '@/utils/notification';\n\nimport {\n GET_CHATROOMS,\n GET_CHATROOMS_BY_FILTER,\n GET_CHATROOM_BY_ID,\n GET_CHATROOM_BY_ASSOCIATIVE_KEY,\n SEND_CHATMESSAGES,\n} from '@/queries/modules/chat/chat.js';\n\n/**\n * Action to Get All Chatroom List\n * ** Use it for development purpose only **\n *\n * @param {Object} context Vuex context object.\n * @property {Vuex method (Function)} commit : \"To commit a mutation\"\n *\n */\n\nexport async function getChatrooms(context) {\n // WIP\n const { commit } = context;\n commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .query({\n query: GET_CHATROOMS,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n })\n\n const { data } = await result;\n\n const chatrooms = data.getChatRooms;\n commit(\"storeChatrooms\", chatrooms)\n\n return { status: { success: true, error: false, message: \"\" }, data: chatrooms };\n\n } catch (e) {\n console.log(e);\n // commit('setError', serverResponseStatusSet(e));\n return { status: { success: false, error: true, message: \"\", full: e }};\n }\n}\n\n\n/**\n * Action to Get All Chatroom List by Filter (Reduce total chatroom to necessary amount)\n *\n * @param {Object} context Vuex context object.\n * @property {Vuex method (Function)} commit : \"To commit a mutation\"\n *\n */\n\nexport async function getChatroomsByFilter(context) {\n // WIP\n const { commit } = context;\n commit('setProcessing', true);\n\n try {\n const result = await apolloClient\n .query({\n query: GET_CHATROOMS_BY_FILTER,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n })\n\n const { data } = await result;\n\n const chatrooms = data.getChatRooms;\n commit(\"storeChatrooms\", chatrooms)\n\n return { status: { success: true, error: false, message: \"\" }, data: chatrooms };\n\n } catch (e) {\n console.log(e);\n // commit('setError', serverResponseStatusSet(e));\n return { status: { success: false, error: true, message: \"\", full: e }};\n }\n}\n\n\n/**\n * Action to Get Chatroom By Id\n *\n * @param {Object} context Vuex context object.\n * @property {Vuex method (Function)} commit : \"To commit a mutation\"\n *\n */\n\nexport async function getChatroomById(context, { id }) {\n // WIP\n const { commit } = context;\n commit('setProcessing', true);\n\n try {\n if (!id) throw new Error(\"No Chatroom Id\");\n\n const variables = {\n id\n }\n\n console.log(id);\n\n const result = await apolloClient\n .query({\n query: GET_CHATROOM_BY_ID,\n variables,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n })\n\n const { data } = await result;\n\n const chatroom = data.getChatRoomById;\n // TODO: Update Chatroom to Store and Cache;\n\n return { status: { success: true, error: false, message: \"\" }, data: chatroom };\n\n } catch (e) {\n console.log(e);\n // commit('setError', serverResponseStatusSet(e));\n return { status: { success: false, error: true, message: \"\", full: e }};\n }\n}\n\n\n/**\n * Action to Get Chatroom By Associative Key (Feature name and its ID)\n *\n * @param {Object} context Vuex context object.\n * @property {Vuex method (Function)} commit : \"To commit a mutation\"\n *\n */\n\nexport async function getChatroomByAssociativeKey(context, payload) {\n // WIP\n const { commit } = context;\n commit('setProcessing', true);\n\n const variables = payload;\n\n try {\n const result = await apolloClient\n .query({\n query: GET_CHATROOM_BY_ASSOCIATIVE_KEY,\n variables,\n fetchPolicy: 'network-only',\n context: { clientName: 'Prisma2' }\n });\n\n const { data } = result;\n\n const chatroom = data.getChatRoomByAssociativeKey;\n\n return { status: { success: true, error: false, message: \"\" }, data: chatroom };\n\n } catch (e) {\n console.log(e);\n // commit('setError', serverResponseStatusSet(e));\n return { status: { success: false, error: true, message: \"\", full: e }};\n }\n}\n\n\n/**\n * Action to Send Chat Message\n *\n * @param {Object} context Vuex context object.\n * @property {Vuex method (Function)} commit : \"To commit a mutation\"\n *\n */\n\nexport async function sendChatMessages(context, payload) {\n const { commit } = context;\n commit('setProcessing', true);\n\n // const { chatroomId, chatMessagesInput } = payload;\n const variables = payload;\n\n try {\n const result = await apolloClient\n .mutate({\n mutation: SEND_CHATMESSAGES,\n variables,\n context: { clientName: 'Prisma2' }\n });\n\n const { data } = result;\n\n const chatMessageSentResult = data.sendChatMessages;\n // commit(\"storeChatrooms\", chatrooms)\n\n return { status: { success: true, error: false, message: \"\" }, data: chatMessageSentResult };\n\n } catch (e) {\n console.log(e);\n // commit('setError', serverResponseStatusSet(e));\n return { status: { success: false, error: true, message: \"\", full: e }};\n }\n}\n","import state from \"./state\";\nimport * as getters from \"./getters\";\nimport * as mutations from \"./mutations\";\nimport * as actions from \"./actions\";\n\nexport default {\n namespaced: true,\n getters,\n mutations,\n actions,\n state\n};\n","import Vue from \"vue\";\nimport { getNewUnreadMessage } from \"./index\";\n\nexport default Vue.observable({\n clickNotClose: true,\n isLeftSidebarActive: true,\n isMessageContentActive: false,\n newChatUnread: [],\n newPM: [],\n newWebboardReply: [],\n selectedPanel: 0,\n panels: ['pm', 'chat', 'webboard'],\n currentMessage: null,\n currentTopic: null,\n currentViewingMessages: [],\n currentViewingMessageCursor: 0,\n currentViewingMessageType: \"pm\",\n messagePool: {\n pm: [],\n webboard: [],\n chat: []\n },\n activeListType: \"recent\",\n unread: {\n pm: getNewUnreadMessage(\"pm\"),\n chat: getNewUnreadMessage(\"chat\"),\n webboard: getNewUnreadMessage(\"webboard\"),\n }\n });\n","import Vue from \"vue\";\n\nexport default Vue.observable({\n \n});\n","import Datastore from \"@/developing/datastore\";\nimport store from '@/store'; // Vuex store for import the module's states.\nimport local from \"./data-local\";\nimport dev from \"./data-dev\";\n\n//\nexport const state = { Datastore, store: store.state, local, dev }\n\n//\nexport const createList = async function (channel, list_type, topics) {\n // Get ID of Topics to Generate A List\n // with condition of list (All, Recent, )\n // console.log(channel, list_type, topics);\n if (!channel || !list_type || !topics) { return }\n\n}\n\n//\nexport const constructTopicsFromList = async function (channel, list_type) {\n // console.log(\"constructTopicFromList\");\n\n // const limit = 10;\n // const cursor = 0;\n\n let storedList = await Datastore.Message.getList(channel, list_type);\n let list = null;\n let topics = [];\n\n // console.log(\"storedList\", storedList);\n\n if (typeof storedList === \"undefined\") {\n // console.log(\"Request server to generate and send back a new list\");\n // list = createNewList(channel, type);\n } else {\n list = storedList.data;\n }\n\n // console.log(\"Check constructTopicsFromList\", list);\n\n if (Array.isArray(list)) {\n let diff = [...list];\n for (let i = list.length - 1; i >= 0; i -= 1) {\n const item = list[i];\n const topic = await Datastore.Message.load(\"topic\", channel, item.id);\n if (topic) {\n diff.splice(i, 1);\n topics.push(topic);\n }\n }\n\n // console.log(\"diff\", diff);\n\n if (diff.length > 0) {\n diff = diff.map(({ id }) => ({ id }));\n const { status, data } = await store.dispatch(\"Communication/getMessageTopicsByIds\", { channel, list: diff });\n // console.log(\"Check\", status, data);\n\n if (status.success && data[channel]) {\n topics = [...topics, ...data[channel]];\n topics.map(topic => Datastore.Message.save(\"topic\", channel, topic.id, topic));\n }\n }\n }\n\n return topics\n}\n\n// Construct Messages to Show on UI\nexport const constructMessagesFromList = function (channel, list_id) {\n if (!channel || !list_id) {\n return // Return error\n }\n\n const topics = [];\n const messages = [];\n\n const list = Datastore.Message.load(`list/${channel}`, list_id);\n // console.log(\"List in constructMessageFromList\", list, channel, list_id);\n\n if (list && Array.isArray(list.list)) {\n\n // console.log(\"Load topics and messages to create a new list\")\n for (let topicItem of list.list) {\n const topic = Datastore.Message.load(\"topic/pm\", topicItem.id);\n\n\n if (topic) {\n topics.push(topic);\n\n if (topic.messageIndex.length > 0) {\n\n for (let messageItem of topic.messageIndex) {\n const message = Datastore.Message.load(\"message/pm\", messageItem.id);\n messages.push(message);\n }\n }\n }\n }\n }\n\n return { topics, messages };\n}\n\n//\nexport async function loadTopicList(channel = \"all\", type = \"recent\") {\n\n const data = { list: {} };\n\n switch (channel) {\n case \"pm\":\n data.list.pm = await getPMTopicList(type);\n break;\n case \"chat\":\n data.list.pm = await getChatTopicList(type);\n break;\n case \"webboard\":\n data.list.pm = await getWebboardTopicList(type);\n break;\n default:\n data.list.pm = await getPMTopicList(type);\n data.list.chat = await getChatTopicList(type);\n data.list.webboard = await getWebboardTopicList(type);\n break;\n }\n\n return data;\n /*\n // Create Message\n storeMessagesToCache({ channel: \"pm\", messageKey: \"privateMessageReplies\", data: pm });\n storeMessagesToCache({ channel: \"chat\", messageKey: \"chatMessage\", data: chat });\n storeMessagesToCache({ channel: \"webboard\", messageKey: \"webBoardReplies\", data: webboard });\n\n */\n}\n\n//\nexport function getNewUnreadMessage(channel) {\n return Datastore.Message.getState(channel, \"unread\") || 0;\n // if (channel && this.$data.$local.messagePool[channel]) {\n // const unreadMessages = this.$data.$local.messagePool[channel].filter(message => message.unread === true);\n // return unreadMessages.length;\n // }\n}\n\n\n//////////////////////////\n//* Private Functions */\n//////////////////////////\n\n//\nasync function getPMTopicList(type) {\n // console.log(\"getPMTopicList\", type);\n\n const pool = Datastore.Message.list.has(`pm/${type}`);\n // console.log(\"PM Pool\", pool);\n if (pool) {\n // Send cache key to check/get update, if exists\n } else {\n // const idb_pm_recent_list = null;\n const idb = await Datastore.Message.idb.list.get(`pm/${type}`);\n // console.log(\"PM IDB\", idb);\n\n if (idb) {\n Datastore.Message.list.set(`pm/recent`, idb);\n return idb;\n } else {\n const response = await store.dispatch(\"Communication/getRecentMessageList\", { channel: \"pm\", type });\n // console.log(\"Check\", response);\n\n const { status, data } = response;\n if (!status) {\n // console.log(\"Error on Communication/getRecentMessageList\");\n return\n }\n\n if (status.success && data) {\n const { pm } = data;\n if (pm) {\n await Datastore.Message.save(\"list\", \"pm\", type, pm);\n return pm;\n }\n }\n }\n }\n}\n\n//\nasync function getChatTopicList(type) {\n // console.log(\"getChatTopicList\", type);\n\n const pool = Datastore.Message.list.has(`chat/${type}`);\n // console.log(\"Chat Pool\", pool);\n if (pool) {\n // Send cache key to check/get update, if exists\n } else {\n // const idb_pm_recent_list = null;\n const idb = await Datastore.Message.idb.list.get(`chat/${type}`);\n // console.log(\"Chat IDB\", idb);\n\n if (idb) {\n Datastore.Message.list.set(`chat/recent`, idb);\n return idb;\n } else {\n const response = await store.dispatch(\"Communication/getRecentMessageList\", { channel: \"chat\", type });\n const { status, data } = response;\n if (status.success && data) {\n const { chat } = data;\n if (chat) {\n await Datastore.Message.save(\"list\", \"chat\", type, chat);\n return chat;\n }\n }\n }\n }\n}\n\n//\nasync function getWebboardTopicList(type) {\n // console.log(\"getWebboardTopicList\", type);\n\n const pool = Datastore.Message.list.has(`webboard/${type}`);\n // console.log(\"Webboard Pool\", pool);\n if (pool) {\n // Send cache key to check/get update, if exists\n } else {\n // const idb_webboard_recent_list = null;\n const idb = await Datastore.Message.idb.list.get(`webboard/${type}`);\n // console.log(\"Webboard IDB\", idb);\n\n if (idb) {\n Datastore.Message.list.set(`webboard/recent`, idb);\n return idb;\n } else {\n const response = await store.dispatch(\"Communication/getRecentMessageList\", { channel: \"webboard\", type });\n const { status, data } = response;\n if (status.success && data) {\n const { webboard } = data;\n if (webboard) {\n await Datastore.Message.save(\"list\", \"webboard\", type, webboard);\n return webboard;\n }\n }\n }\n }\n}\n\n/*\nfunction storeMessagesToCache({ channel, messageKey, data } ) {\n // const list = [];\n\n // Message.saveList(channel, data);\n\n // for (let topic of data) {\n // topic.messageIndex = [];\n\n // // // Save all message to flatmap\n // if (topic[messageKey]) {\n // for (let message of topic[messageKey]) {\n // Message.save(`message/${channel}`, message.id, message);\n // // console.log(message);\n // topic.messageIndex.push({ id: message.id, timestamp: new Date(message[\"sendDate\"]).getTime(), read: message.readDate ? true : false });\n // }\n // // delete topic[messageKey];\n // }\n\n // // console.log(topic);\n // list.push({ id: topic.id, timestamp: new Date(topic[\"sendDate\"]).getTime(), read: topic.readDate ? true : false });\n // Message.save(`topic/${channel}`, topic.id, topic);\n\n // }\n\n // Message.save(`list/${channel}`, \"all\", { list });\n}\n*/\n\n//\n/* function createNewList (channel, type) {\n const listOfAll = Message.getList(channel, \"all\");\n let list = null;\n if ((listOfAll) && listOfAll.list) {\n if (listOfAll.list.length > 1) {\n list = [ ...listOfAll.list ];\n if (type === \"recent\") {\n list = listOfAll.list.sort((a, b) => b.timestamp - a.timestamp);\n } else if (type === \"unread\") {\n list = listOfAll.list.filter(x => !x[\"read\"]).sort((a, b) => b.timestamp - a.timestamp);\n }\n\n Message.save(`list/${channel}`, type, { list });\n }\n }\n return list\n}\n*/\n","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopicPage.vue?vue&type=style&index=0&id=34b69620&lang=scss&scoped=true&\""],"sourceRoot":""}