{"version":3,"file":"photos-src_views_SharedAlbums_vue.js?v=656b4b46caadeb00807c","mappings":"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","sources":["webpack:///photos/src/mixins/FetchSharedAlbumsMixin.js","webpack:///photos/src/views/SharedAlbums.vue?vue&type=style&index=0&id=2d5a57ea&prod&lang=scss&scoped=true&","webpack://photos/./src/views/SharedAlbums.vue?af50","webpack:///photos/src/views/SharedAlbums.vue","webpack:///photos/src/views/SharedAlbums.vue?vue&type=script&lang=js&","webpack://photos/./src/views/SharedAlbums.vue?481c","webpack://photos/./src/views/SharedAlbums.vue?dd2f"],"sourcesContent":["/**\n * @copyright Copyright (c) 2022 Louis Chemineau \n *\n * @author Louis Chemineau \n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { mapGetters, mapActions } from 'vuex'\n\nimport { getCurrentUser } from '@nextcloud/auth'\n\nimport AbortControllerMixin from './AbortControllerMixin.js'\nimport { fetchAlbums } from '../services/Albums.js'\n\nexport default {\n\tname: 'FetchSharedAlbumsMixin',\n\n\tdata() {\n\t\treturn {\n\t\t\terrorFetchingAlbums: null,\n\t\t\tloadingAlbums: false,\n\t\t}\n\t},\n\n\tmixins: [\n\t\tAbortControllerMixin,\n\t],\n\n\tasync beforeMount() {\n\t\tthis.fetchAlbums()\n\t},\n\n\tcomputed: {\n\t\t...mapGetters([\n\t\t\t'sharedAlbums',\n\t\t]),\n\t},\n\n\tmethods: {\n\t\t...mapActions([\n\t\t\t'addSharedAlbums',\n\t\t]),\n\n\t\tasync fetchAlbums() {\n\t\t\tif (this.loadingAlbums) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tthis.loadingAlbums = true\n\t\t\t\tthis.errorFetchingAlbums = null\n\n\t\t\t\tconst albums = await fetchAlbums(`/photos/${getCurrentUser()?.uid}/sharedalbums`, this.abortController.signal)\n\n\t\t\t\tthis.addSharedAlbums({ albums })\n\t\t\t} catch (error) {\n\t\t\t\tif (error.response?.status === 404) {\n\t\t\t\t\tthis.errorFetchingAlbums = 404\n\t\t\t\t} else {\n\t\t\t\t\tthis.errorFetchingAlbums = error\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tthis.loadingAlbums = false\n\t\t\t}\n\t\t},\n\t},\n}\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".albums-list[data-v-2d5a57ea]{display:flex;flex-direction:column}.albums-list .album__name[data-v-2d5a57ea]{font-weight:normal;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/views/SharedAlbums.vue\"],\"names\":[],\"mappings\":\"AAEA,8BACC,YAAA,CACA,qBAAA,CAEA,2CACC,kBAAA,CACA,eAAA,CACA,kBAAA,CACA,sBAAA\",\"sourcesContent\":[\"$sizes: (\\\"400\\\": (\\\"count\\\": 3, \\\"marginTop\\\": 66, \\\"marginW\\\": 8), \\\"700\\\": (\\\"count\\\": 4, \\\"marginTop\\\": 66, \\\"marginW\\\": 8), \\\"1024\\\": (\\\"count\\\": 5, \\\"marginTop\\\": 66, \\\"marginW\\\": 44), \\\"1280\\\": (\\\"count\\\": 4, \\\"marginTop\\\": 66, \\\"marginW\\\": 44), \\\"1440\\\": (\\\"count\\\": 5, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"1600\\\": (\\\"count\\\": 6, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"2048\\\": (\\\"count\\\": 7, \\\"marginTop\\\": 88, \\\"marginW\\\": 66), \\\"2560\\\": (\\\"count\\\": 8, \\\"marginTop\\\": 88, \\\"marginW\\\": 88), \\\"3440\\\": (\\\"count\\\": 9, \\\"marginTop\\\": 88, \\\"marginW\\\": 88), \\\"max\\\": (\\\"count\\\": 10, \\\"marginTop\\\": 88, \\\"marginW\\\": 88));\\n\\n.albums-list {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t.album__name {\\n\\t\\tfont-weight: normal;\\n\\t\\toverflow: hidden;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('CollectionsList',{staticClass:\"albums-list\",attrs:{\"collections\":_vm.sharedAlbums,\"loading\":_vm.loadingAlbums,\"error\":_vm.errorFetchingAlbums},scopedSlots:_vm._u([{key:\"default\",fn:function({collection}){return _c('CollectionCover',{key:collection.basename,attrs:{\"link\":`/sharedalbums/${collection.basename}`,\"alt-img\":_vm.t('photos', 'Cover photo for shared album {albumName}.', { albumName: collection.basename }),\"cover-url\":_vm._f(\"coverUrl\")(collection.lastPhoto)}},[_c('h2',{staticClass:\"album__name\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(collection.basename)+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"album__details\",attrs:{\"slot\":\"subtitle\"},slot:\"subtitle\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(collection.date)+\" ⸱ \"+_vm._s(_vm.n('photos', '%n item', '%n photos and videos', collection.nbItems,))+\"\\n\\t\\t\")])])}}])},[_c('HeaderNavigation',{key:\"navigation\",attrs:{\"slot\":\"header\",\"loading\":_vm.loadingAlbums,\"title\":_vm.t('photos', 'Shared albums'),\"root-title\":_vm.t('photos', 'Shared albums')},on:{\"refresh\":_vm.fetchAlbums},slot:\"header\"}),_vm._v(\" \"),_vm._v(\" \"),_c('NcEmptyContent',{attrs:{\"slot\":\"empty-collections-list\",\"title\":_vm.t('photos', 'There is no album yet!')},slot:\"empty-collections-list\"},[_c('FolderMultipleImage',{attrs:{\"slot\":\"icon\"},slot:\"icon\"})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedAlbums.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedAlbums.vue?vue&type=script&lang=js&\"","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedAlbums.vue?vue&type=style&index=0&id=2d5a57ea&prod&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??clonedRuleSet-2.use[3]!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SharedAlbums.vue?vue&type=style&index=0&id=2d5a57ea&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SharedAlbums.vue?vue&type=template&id=2d5a57ea&scoped=true&\"\nimport script from \"./SharedAlbums.vue?vue&type=script&lang=js&\"\nexport * from \"./SharedAlbums.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SharedAlbums.vue?vue&type=style&index=0&id=2d5a57ea&prod&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 \"2d5a57ea\",\n null\n \n)\n\nexport default component.exports"],"names":["name","data","errorFetchingAlbums","loadingAlbums","mixins","AbortControllerMixin","beforeMount","fetchAlbums","computed","mapGetters","methods","mapActions","getCurrentUser","uid","abortController","signal","albums","addSharedAlbums","response","status","___CSS_LOADER_EXPORT___","push","module","id","components","FolderMultipleImage","NcEmptyContent","CollectionsList","CollectionCover","HeaderNavigation","filters","coverUrl","FetchSharedAlbumsMixin","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","_vm","this","_c","_self","staticClass","attrs","sharedAlbums","scopedSlots","_u","key","fn","collection","basename","t","albumName","_f","lastPhoto","_v","_s","slot","date","n","nbItems","on"],"sourceRoot":""}