{"version":3,"sources":["webpack:///./src/views/feedback/details/Comments.vue?e5e3","webpack:///../../../src/components/VTextarea/VTextarea.ts","webpack:///./src/views/feedback/details/Comments.vue?3ee7","webpack:///./src/services/api/feedback.comments.service.ts","webpack:///./src/views/feedback/details/Comments.vue","webpack:///./src/views/feedback/details/Comments.vue?7fd7","webpack:///./src/views/feedback/details/Comments.vue?46ae"],"names":["baseMixins","name","props","autoGrow","noResize","rowHeight","type","Number","default","validator","v","isNaN","parseFloat","rows","parseInt","computed","classes","this","noResizeHandle","watch","lazyValue","$nextTick","mounted","setTimeout","methods","calculateInputHeight","input","$refs","height","minHeight","Math","genInput","onInput","onKeyDown","isFocused","e","render","_vm","_h","$createElement","_c","_self","staticClass","attrs","ref","on","$event","preventDefault","onCreateFeedbackComment","model","value","callback","$$v","isValid","expression","_v","$rules","minLenght","comment","$set","isLoading","allComments","length","_l","item","index","key","idFeedbackComment","class","isEven","_e","user","_s","_f","dateCreated","domProps","message","staticRenderFns","Post","baseUrl","idFeedback","request","Get","GetQueryStringByObject","feedbackCommentsService","LoadComments","query","idLanguage","currentLanguage","Feedback","includes","GetComments","then","result","data","catch","error","showError","finally","CreateComment","showSuccessMessage","isPublic","form","resetValidation","component","VAlert","VBtn","VCheckbox","VForm","VTextarea"],"mappings":"yIAAA,yBAA+kB,EAAG,G,yHCkB5kBA,EAAa,eAAnB,QAOe,OAAAA,EAAA,OAAkB,CAC/BC,KAD+B,aAG/BC,MAAO,CACLC,SADK,QAELC,SAFK,QAGLC,UAAW,CACTC,KAAM,CAACC,OADE,QAETC,QAFS,GAGTC,UAAY,SAAAC,GAAD,OAAaC,MAAMC,WAAD,MAE/BC,KAAM,CACJP,KAAM,CAACC,OADH,QAEJC,QAFI,EAGJC,UAAY,SAAAC,GAAD,OAAaC,MAAMG,SAASJ,EAAV,QAIjCK,SAAU,CACRC,QADQ,WAEN,uBACE,cADK,EAEL,wBAAyBC,KAFpB,SAGL,wBAAyBA,KAHpB,gBAIF,6CAGPC,eATQ,WAUN,OAAOD,KAAKb,UAAYa,KAAxB,WAIJE,MAAO,CACLC,UADK,WAEHH,KAAA,UAAiBA,KAAKI,UAAUJ,KAAhC,uBAEFZ,UAJK,WAKHY,KAAA,UAAiBA,KAAKI,UAAUJ,KAAhC,wBAIJK,QAzC+B,WAyCxB,WACLC,YAAW,WACT,YAAiB,EAAjB,yBADF,IAKFC,QAAS,CACPC,qBADO,WAEL,IAAMC,EAAQT,KAAKU,MAAnB,MACA,MAEAD,EAAA,iBACA,IAAME,EAASF,EAAf,aACMG,EAAYf,SAASG,KAAD,KAAR,IAA0BL,WAAWK,KANrC,WASlBS,EAAA,aAAqBI,KAAA,SAArB,OAEFC,SAZO,WAaL,IAAML,EAAQ,qCAAd,MAMA,OAJAA,EAAA,sBACOA,EAAA,WAAP,KACAA,EAAA,gBAA0BT,KAA1B,KAEA,GAEFe,QArBO,SAqBA,GACL,4CACAf,KAAA,UAAiBA,KAAjB,wBAEFgB,UAzBO,SAyBE,GAIHhB,KAAKiB,WAAT,KAAsBC,EAAA,SACpBA,EAAA,kBAGFlB,KAAA,wB,yCCzGN,IAAImB,EAAS,WAAa,IAAIC,EAAIpB,KAASqB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,QAAQ,CAACG,MAAM,CAAC,OAAQ,EAAM,QAAS,IAAQ,CAACH,EAAG,SAAS,CAACI,IAAI,OAAOF,YAAY,eAAeC,MAAM,CAAC,OAAS,IAAI,OAAS,QAAQE,GAAG,CAAC,OAAS,SAASC,GAAgC,OAAxBA,EAAOC,iBAAwBV,EAAIW,wBAAwBF,KAAUG,MAAM,CAACC,MAAOb,EAAW,QAAEc,SAAS,SAAUC,GAAMf,EAAIgB,QAAQD,GAAKE,WAAW,YAAY,CAACd,EAAG,MAAM,CAACE,YAAY,QAAQ,CAACL,EAAIkB,GAAG,2BAA2Bf,EAAG,aAAa,CAACG,MAAM,CAAC,KAAO,cAAc,KAAO,IAAI,SAAW,GAAG,MAAQ,mBAAmB,MAAQ,CAACN,EAAImB,OAAOC,UAAU,KAAKR,MAAM,CAACC,MAAOb,EAAIqB,QAAe,QAAEP,SAAS,SAAUC,GAAMf,EAAIsB,KAAKtB,EAAIqB,QAAS,UAAWN,IAAME,WAAW,qBAAqBd,EAAG,MAAM,CAACE,YAAY,+CAA+C,CAACF,EAAG,aAAa,CAACG,MAAM,CAAC,gBAAe,EAAK,MAAQ,sBAAsBM,MAAM,CAACC,MAAOb,EAAIqB,QAAgB,SAAEP,SAAS,SAAUC,GAAMf,EAAIsB,KAAKtB,EAAIqB,QAAS,WAAYN,IAAME,WAAW,sBAAsBd,EAAG,QAAQ,CAACG,MAAM,CAAC,UAAYN,EAAIgB,QAAQ,QAAUhB,EAAIuB,UAAU,MAAQ,UAAU,KAAO,WAAW,CAACvB,EAAIkB,GAAG,gBAAgB,IAAI,GAAGf,EAAG,KAAK,CAACE,YAAY,SAAUL,EAAIwB,YAAYC,OAAS,EAAGtB,EAAG,MAAM,CAACE,YAAY,kBAAkBL,EAAI0B,GAAI1B,EAAe,aAAE,SAAS2B,EAAKC,GAAO,OAAOzB,EAAG,MAAM,CAAC0B,IAAIF,EAAKG,kBAAkBzB,YAAY,0CAA0C0B,MAAO/B,EAAIgC,OAAOJ,GAAuB,aAAd,aAA4B,CAAG5B,EAAIgC,OAAOJ,GAAmK5B,EAAIiC,KAA/J9B,EAAG,MAAM,CAACE,YAAY,SAAS,CAAEsB,EAAS,KAAExB,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQqB,EAAKO,SAAS,GAAGlC,EAAIiC,OAAgB9B,EAAG,MAAM,CAACE,YAAY,QAAQ0B,MAAM/B,EAAIgC,OAAOJ,GAAS,WAAa,IAAI,CAACzB,EAAG,MAAM,CAACE,YAAY,wCAAwC,CAACF,EAAG,SAAS,CAACH,EAAIkB,GAAGlB,EAAImC,GAAGnC,EAAIoC,GAAG,WAAPpC,CAAmB2B,EAAKU,iBAAiBrC,EAAIkB,GAAG,MAAOS,EAAS,KAAExB,EAAG,OAAO,CAACH,EAAIkB,GAAGlB,EAAImC,GAAGR,EAAKO,KAAKtE,SAASuC,EAAG,IAAI,CAACH,EAAIkB,GAAG,0BAA0BlB,EAAIkB,GAAG,gBAAgBf,EAAG,MAAM,CAACE,YAAY,yCAAyCiC,SAAS,CAAC,UAAYtC,EAAImC,GAAGR,EAAKY,cAAevC,EAAIgC,OAAOJ,GAAQzB,EAAG,MAAM,CAACE,YAAY,SAAS,CAAEsB,EAAS,KAAExB,EAAG,MAAM,CAACE,YAAY,6BAA6B,CAACF,EAAG,YAAY,CAACG,MAAM,CAAC,MAAQqB,EAAKO,SAAS,GAAGlC,EAAIiC,OAAOjC,EAAIiC,UAAS,GAAG9B,EAAG,UAAU,CAACG,MAAM,CAAC,MAAQ,GAAG,KAAO,GAAG,KAAO,SAAS,CAACN,EAAIkB,GAAG,iBAAiBf,EAAG,SAAS,CAACH,EAAIkB,GAAG,iBAAiBlB,EAAIkB,GAAG,oBAAoB,IAAI,IAC16EsB,EAAkB,G,kKCKT,EAAb,wLACgBnB,GACZ,OAAOzC,KAAK6D,KAAL,UACF7D,KAAK8D,QADH,yBAC2BrB,EAAQsB,WADnC,aAELtB,KAJN,kCASIuB,GAEA,OAAOhE,KAAKiE,IAAL,UACFjE,KAAK8D,QADH,yBAEHE,EAAQD,WAFL,qBAGQ/D,KAAKkE,uBAAuBF,SAd/C,GAA6C,Q,oCCuExB,EAArB,yG,0BAGE,EAAAG,wBAAmD,IAAI,EACvD,EAAA1B,QAAwC,IAAI,OAC5C,EAAAG,YAAoC,GACpC,EAAAD,WAAqB,EACrB,EAAAP,SAAmB,EAPrB,uNAUUpC,KAAKoE,eAVf,2SAcQpE,KAAK2C,UAdb,wDAeU0B,EAAQ,IAAI,OAClBA,EAAMC,WAAatE,KAAKuE,gBAAgBD,WACxCD,EAAMN,WAAa/D,KAAKwE,SAAST,WACjCM,EAAMI,SAAW,IAAI,OACrBJ,EAAMI,SAASnB,MAAO,EACtBtD,KAAK2C,WAAY,EApBrB,UAqBU3C,KAAKmE,wBACRO,YAAYL,GACZM,MAAK,SAACC,GACL,EAAKhC,YAAcgC,EAAOC,QAE3BC,OAAM,SAACC,GAAD,OAAgB,OAAuBC,UAAUD,MACvDE,SAAQ,kBAAO,EAAKtC,WAAY,KA3BvC,qTA+BQ3C,KAAK2C,UA/Bb,wDAgCI3C,KAAK2C,WAAY,EACjB3C,KAAKyC,QAAQsB,WAAa/D,KAAKwE,SAAST,WAjC5C,SAmCU/D,KAAKmE,wBACRe,cAAclF,KAAKyC,SACnBkC,KAFG,wCAEE,qGACJ,EAAKhC,WAAY,EACjB,OAAuBwC,mBACrB,UACA,kCAEF,EAAK1C,QAAQkB,QAAU,GACvB,EAAKlB,QAAQ2C,UAAW,EACvB,EAAK1E,MAAM2E,KAAaC,kBARrB,SASE,EAAKlB,eATP,4CAWLU,OAAM,SAACC,GACN,EAAKpC,WAAY,EACjB,OAAuBqC,UAAUD,MAlDzC,sIAsDS/B,GACL,OAAOA,EAAQ,GAAK,MAvDxB,GAAwD,QAC9C,gBAAP,kB,+BAC0B,gBAA1B,eAAO,oB,sCAFW,EAA0B,gBAD9C,QACoB,WC7EkZ,I,yGCQnauC,EAAY,eACd,EACApE,EACAyC,GACA,EACA,KACA,WACA,MAIa,aAAA2B,EAAiB,QAShC,IAAkBA,EAAW,CAACC,SAAA,KAAOC,OAAA,KAAKC,YAAA,KAAUC,QAAA,KAAMC,YAAA","file":"js/chunk-66896508.2c1b6de2.js","sourcesContent":["import mod 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!./Comments.vue?vue&type=style&index=0&id=860aa414&scoped=true&lang=scss&\"; export default mod; 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!./Comments.vue?vue&type=style&index=0&id=860aa414&scoped=true&lang=scss&\"","// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\"},[_c('Panel',{attrs:{\"title\":false,\"footer\":false}},[_c('v-form',{ref:\"form\",staticClass:\"add__comment\",attrs:{\"action\":\"/\",\"method\":\"post\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.onCreateFeedbackComment($event)}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('div',{staticClass:\"mb-3\"},[_vm._v(\"Adicionar comentário:\")]),_c('v-textarea',{attrs:{\"name\":\"Description\",\"rows\":\"4\",\"outlined\":\"\",\"label\":\"O seu comentário\",\"rules\":[_vm.$rules.minLenght(5)]},model:{value:(_vm.comment.message),callback:function ($$v) {_vm.$set(_vm.comment, \"message\", $$v)},expression:\"comment.message\"}}),_c('div',{staticClass:\"d-flex k-align-center justify-space-between\"},[_c('v-checkbox',{attrs:{\"hide-details\":true,\"label\":\"Comentário Público\"},model:{value:(_vm.comment.isPublic),callback:function ($$v) {_vm.$set(_vm.comment, \"isPublic\", $$v)},expression:\"comment.isPublic\"}}),_c('v-btn',{attrs:{\"disabled\":!_vm.isValid,\"loading\":_vm.isLoading,\"color\":\"primary\",\"type\":\"submit\"}},[_vm._v(\"Confirmar\")])],1)],1),_c('hr',{staticClass:\"my-4\"}),(_vm.allComments.length > 0)?_c('div',{staticClass:\"comments__list\"},_vm._l((_vm.allComments),function(item,index){return _c('div',{key:item.idFeedbackComment,staticClass:\"row k-align-center comments__list__item\",class:!_vm.isEven(index) ? 'left-side' : 'right-side'},[(!_vm.isEven(index))?_c('div',{staticClass:\"col-2\"},[(item.user)?_c('div',{staticClass:\"comments__list__item--img\"},[_c('UserBadge',{attrs:{\"badge\":item.user}})],1):_vm._e()]):_vm._e(),_c('div',{staticClass:\"col-8\",class:_vm.isEven(index) ? 'offset-2' : ''},[_c('div',{staticClass:\"size--s12 comments__list__item--time\"},[_c('strong',[_vm._v(_vm._s(_vm._f(\"datetime\")(item.dateCreated)))]),_vm._v(\"- \"),(item.user)?_c('span',[_vm._v(_vm._s(item.user.name))]):_c('i',[_vm._v(\"Utilizador Eliminado\")]),_vm._v(\" escreveu \")]),_c('div',{staticClass:\"comments__list__item--text bg--comment\",domProps:{\"innerHTML\":_vm._s(item.message)}})]),(_vm.isEven(index))?_c('div',{staticClass:\"col-2\"},[(item.user)?_c('div',{staticClass:\"comments__list__item--img\"},[_c('UserBadge',{attrs:{\"badge\":item.user}})],1):_vm._e()]):_vm._e()])}),0):_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\" Não existem \"),_c('strong',[_vm._v(\"comentários\")]),_vm._v(\" registados. \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AuthenticatedService } from \"../abstract/base.service\";\r\nimport { ListResponse } from \"@/models/grids/list.response\";\r\nimport { CreateFeedbackCommentCommand } from \"@/server/app.commands\";\r\nimport { FeedbackCommentDto } from \"@/server/app.dtos\";\r\nimport { GetFeedbackCommentDtosQuery } from \"@/server/app.queries\";\r\n\r\nexport class FeedbackCommentsService extends AuthenticatedService {\r\n CreateComment(comment: CreateFeedbackCommentCommand): Promise {\r\n return this.Post(\r\n `${this.baseUrl}api/feedbacks/${comment.idFeedback}/comments`,\r\n comment\r\n );\r\n }\r\n\r\n GetComments(\r\n request: GetFeedbackCommentDtosQuery\r\n ): Promise> {\r\n return this.Get(\r\n `${this.baseUrl}api/feedbacks/${\r\n request.idFeedback\r\n }/comments?${this.GetQueryStringByObject(request)}`\r\n );\r\n }\r\n}\r\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\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\n\n\n\r\nimport { Component, Vue, Prop } from \"vue-property-decorator\";\r\nimport { Getter } from \"vuex-class\";\r\nimport {\r\n LanguageDto,\r\n FeedbackDto,\r\n FeedbackCommentDto\r\n} from \"@/server/app.dtos\";\r\nimport { FeedbackCommentsService } from \"@/services/api/feedback.comments.service\";\r\nimport { CreateFeedbackCommentCommand } from \"@/server/app.commands\";\r\nimport { GetFeedbackCommentDtosQuery, GetFeedbackCommentsDtosIncludeOptions } from \"@/server/app.queries\";\r\nimport { NotificationServiceBus } from \"@/services/bus/notifications.service\";\r\nimport { ListResponse } from \"@/models/grids/list.response\";\r\n\r\n@Component\r\nexport default class FeedbackDetailCommentsPage extends Vue {\r\n @Prop() Feedback!: FeedbackDto;\r\n @Getter(\"currentLanguage\") currentLanguage!: LanguageDto;\r\n feedbackCommentsService: FeedbackCommentsService = new FeedbackCommentsService();\r\n comment: CreateFeedbackCommentCommand = new CreateFeedbackCommentCommand();\r\n allComments: FeedbackCommentDto[] = [];\r\n isLoading: boolean = false;\r\n isValid: boolean = false;\r\n\r\n async created() {\r\n await this.LoadComments();\r\n }\r\n\r\n async LoadComments() {\r\n if (this.isLoading) return;\r\n const query = new GetFeedbackCommentDtosQuery();\r\n query.idLanguage = this.currentLanguage.idLanguage;\r\n query.idFeedback = this.Feedback.idFeedback;\r\n query.includes = new GetFeedbackCommentsDtosIncludeOptions();\r\n query.includes.user = true;\r\n this.isLoading = true;\r\n await this.feedbackCommentsService\r\n .GetComments(query)\r\n .then((result: ListResponse) => {\r\n this.allComments = result.data;\r\n })\r\n .catch((error: any) => NotificationServiceBus.showError(error))\r\n .finally(() => (this.isLoading = false));\r\n }\r\n\r\n async onCreateFeedbackComment() {\r\n if (this.isLoading) return;\r\n this.isLoading = true;\r\n this.comment.idFeedback = this.Feedback.idFeedback;\r\n \r\n await this.feedbackCommentsService\r\n .CreateComment(this.comment)\r\n .then(async () => {\r\n this.isLoading = false;\r\n NotificationServiceBus.showSuccessMessage(\r\n \"Sucesso\",\r\n \"Operação efetuada com sucessso\"\r\n );\r\n this.comment.message = \"\";\r\n this.comment.isPublic = false;\r\n (this.$refs.form as any).resetValidation();\r\n await this.LoadComments();\r\n })\r\n .catch((error: any) => {\r\n this.isLoading = false;\r\n NotificationServiceBus.showError(error);\r\n });\r\n }\r\n\r\n isEven(index: number): boolean {\r\n return index % 2 == 1;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Comments.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Comments.vue?vue&type=template&id=860aa414&scoped=true&\"\nimport script from \"./Comments.vue?vue&type=script&lang=ts&\"\nexport * from \"./Comments.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Comments.vue?vue&type=style&index=0&id=860aa414&scoped=true&lang=scss&\"\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 \"860aa414\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VAlert,VBtn,VCheckbox,VForm,VTextarea})\n"],"sourceRoot":""}