summaryrefslogtreecommitdiffstats
path: root/js/photos-7.js.map
diff options
context:
space:
mode:
authorCorentin Mors <corentin.mors@dashlane.com>2020-10-14 13:49:34 +0200
committerCorentin Mors <corentin.mors@dashlane.com>2020-10-14 16:14:15 +0200
commit753447beb0c431fefddc2f06f9dfbdb2af6e3ebf (patch)
tree02cb23439134f08da6f1eb40a3ca8177aaee2934 /js/photos-7.js.map
parenta05f36eb6f53a5bd99b49dae4e62ffcdaf7d985e (diff)
Fix issue with loading icon
Signed-off-by: Corentin Mors <corentin.mors@dashlane.com>
Diffstat (limited to 'js/photos-7.js.map')
-rw-r--r--js/photos-7.js.map2
1 files changed, 1 insertions, 1 deletions
diff --git a/js/photos-7.js.map b/js/photos-7.js.map
index 730831e9..fc525aa2 100644
--- a/js/photos-7.js.map
+++ b/js/photos-7.js.map
@@ -1 +1 @@
-{"version":3,"file":"photos-7.js?v=9207e8f25dfdcd66d4be","sources":["webpack:///./src/components/Folder.vue?6300","webpack:///./src/views/Albums.vue?c311","webpack:///./src/components/Folder.vue?b184","webpack:///./src/components/Folder.vue?1f39","webpack:///./src/views/Albums.vue?9e08","webpack:///./src/components/Folder.vue?c846","webpack:///./src/components/Folder.vue","webpack:///./src/components/Folder.vue?f12b","webpack:///./src/components/Folder.vue?80e0","webpack:///./src/components/Folder.vue?d544","webpack:///./src/services/AlbumContent.js","webpack:///./src/views/Albums.vue","webpack:///./src/views/Albums.vue?01c6","webpack:///./src/views/Albums.vue?3734"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\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//\nimport { mapGetters } from 'vuex';\nimport getAlbumContent from '../services/AlbumContent';\nimport cancelableRequest from '../utils/CancelableRequest';\nimport FolderTagPreview from './FolderTagPreview';\nexport default {\n name: 'Folder',\n components: {\n FolderTagPreview: FolderTagPreview\n },\n inheritAttrs: false,\n props: {\n basename: {\n type: String,\n required: true\n },\n filename: {\n type: String,\n required: true\n },\n fileid: {\n type: Number,\n required: true\n },\n showShared: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n cancelRequest: null\n };\n },\n computed: _objectSpread(_objectSpread({}, mapGetters(['files', 'folders'])), {}, {\n // files list of the current folder\n folderContent: function folderContent() {\n return this.folders[this.fileid];\n },\n fileList: function fileList() {\n var _this = this;\n\n return this.folderContent ? this.folderContent.map(function (id) {\n return _this.files[id];\n }).filter(function (file) {\n return !!file;\n }).slice(0, 4) // only get the 4 first images\n : [];\n }\n }),\n created: function created() {\n var _this2 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var _cancelableRequest, request, cancel, _yield$request, folder, folders, files;\n\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n // init cancellable request\n _cancelableRequest = cancelableRequest(getAlbumContent), request = _cancelableRequest.request, cancel = _cancelableRequest.cancel;\n _this2.cancelRequest = cancel;\n _context.prev = 2;\n _context.next = 5;\n return request(_this2.filename, {\n shared: _this2.showShared\n });\n\n case 5:\n _yield$request = _context.sent;\n folder = _yield$request.folder;\n folders = _yield$request.folders;\n files = _yield$request.files;\n\n _this2.$store.dispatch('updateFolders', {\n fileid: folder.fileid,\n files: files,\n folders: folders\n });\n\n _this2.$store.dispatch('updateFiles', {\n folder: folder,\n files: files,\n folders: folders\n });\n\n _context.next = 16;\n break;\n\n case 13:\n _context.prev = 13;\n _context.t0 = _context[\"catch\"](2);\n\n if (_context.t0.response && _context.t0.response.status) {\n console.error('Failed to get folder content', _this2.folder, _context.t0.response);\n } // else we just cancelled the request\n\n\n case 16:\n _context.prev = 16;\n _this2.cancelRequest = null;\n return _context.finish(16);\n\n case 19:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, null, [[2, 13, 16, 19]]);\n }))();\n },\n beforeDestroy: function beforeDestroy() {\n // cancel any pending requests\n if (this.cancelRequest) {\n this.cancelRequest('Navigated away');\n }\n }\n};","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\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//\nimport { mapGetters } from 'vuex';\nimport getAlbumContent from '../services/AlbumContent';\nimport EmptyContent from '../components/EmptyContent';\nimport Folder from '../components/Folder';\nimport File from '../components/File';\nimport Grid from '../components/Grid';\nimport Navigation from '../components/Navigation';\nimport cancelableRequest from '../utils/CancelableRequest';\nexport default {\n name: 'Albums',\n components: {\n EmptyContent: EmptyContent,\n File: File,\n Folder: Folder,\n Grid: Grid,\n Navigation: Navigation\n },\n props: {\n rootTitle: {\n type: String,\n required: true\n },\n path: {\n type: String,\n default: '/'\n },\n loading: {\n type: Boolean,\n required: true\n },\n showShared: {\n type: Boolean,\n default: false\n }\n },\n data: function data() {\n return {\n error: null,\n cancelRequest: function cancelRequest() {}\n };\n },\n computed: _objectSpread(_objectSpread({}, mapGetters(['files', 'folders'])), {}, {\n // current folder id from current path\n folderId: function folderId() {\n return this.$store.getters.folderId(this.path);\n },\n // files list of the current folder\n folder: function folder() {\n return this.files[this.folderId];\n },\n folderContent: function folderContent() {\n return this.folders[this.folderId];\n },\n fileList: function fileList() {\n var _this = this;\n\n var list = this.folderContent && this.folderContent.map(function (id) {\n return _this.files[id];\n }).filter(function (file) {\n return !!file;\n });\n return list;\n },\n // subfolders of the current folder\n subFolders: function subFolders() {\n return this.folderId && this.files[this.folderId] && this.files[this.folderId].folders;\n },\n folderList: function folderList() {\n var _this2 = this;\n\n var list = this.subFolders && this.subFolders.map(function (id) {\n return _this2.files[id];\n }).filter(function (file) {\n return !!file;\n });\n return list;\n },\n // is current folder empty?\n isEmpty: function isEmpty() {\n return !this.haveFiles && !this.haveFolders;\n },\n haveFiles: function haveFiles() {\n return !!this.fileList && this.fileList.length !== 0;\n },\n haveFolders: function haveFolders() {\n return !!this.folderList && this.folderList.length !== 0;\n }\n }),\n watch: {\n path: function path() {\n this.fetchFolderContent();\n },\n showShared: function showShared() {\n this.fetchFolderContent();\n }\n },\n beforeMount: function beforeMount() {\n var _this3 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this3.fetchFolderContent();\n\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n beforeDestroy: function beforeDestroy() {\n this.cancelRequest('Changed view');\n },\n methods: {\n fetchFolderContent: function fetchFolderContent() {\n var _this4 = this;\n\n return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {\n var _cancelableRequest, request, cancel, _yield$request, folder, folders, files;\n\n return regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n // cancel any pending requests\n _this4.cancelRequest('Changed folder'); // close any potential opened viewer & sidebar\n\n\n OCA.Viewer && OCA.Viewer.close && OCA.Viewer.close();\n OCA.Files && OCA.Files.Sidebar.close && OCA.Files.Sidebar.close(); // if we don't already have some cached data let's show a loader\n\n if (!_this4.files[_this4.folderId] || !_this4.folders[_this4.folderId]) {\n _this4.$emit('update:loading', true);\n }\n\n _this4.error = null; // init cancellable request\n\n _cancelableRequest = cancelableRequest(getAlbumContent), request = _cancelableRequest.request, cancel = _cancelableRequest.cancel;\n _this4.cancelRequest = cancel;\n _context2.prev = 7;\n _context2.next = 10;\n return request(_this4.path, {\n shared: _this4.showShared\n });\n\n case 10:\n _yield$request = _context2.sent;\n folder = _yield$request.folder;\n folders = _yield$request.folders;\n files = _yield$request.files;\n\n _this4.$store.dispatch('addPath', {\n path: _this4.path,\n fileid: folder.fileid\n });\n\n _this4.$store.dispatch('updateFolders', {\n fileid: folder.fileid,\n files: files,\n folders: folders\n });\n\n _this4.$store.dispatch('updateFiles', {\n folder: folder,\n files: files,\n folders: folders\n });\n\n _context2.next = 23;\n break;\n\n case 19:\n _context2.prev = 19;\n _context2.t0 = _context2[\"catch\"](7);\n\n if (_context2.t0.response && _context2.t0.response.status) {\n if (_context2.t0.response.status === 404) {\n _this4.error = 404;\n setTimeout(function () {\n _this4.$router.push({\n name: _this4.$route.name\n });\n }, 3000);\n } else {\n _this4.error = _context2.t0;\n }\n } // cancelled request, moving on...\n\n\n console.error('Error fetching album data', _context2.t0);\n\n case 23:\n _context2.prev = 23;\n\n // done loading even with errors\n _this4.$emit('update:loading', false);\n\n return _context2.finish(23);\n\n case 26:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[7, 19, 23, 26]]);\n }))();\n }\n }\n};","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"@charset \\\"UTF-8\\\";\\n/**\\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @author John Molakvoæ <skjnldsv@protonmail.com>\\n *\\n * @license GNU AGPL version 3 or any later version\\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 <http://www.gnu.org/licenses/>.\\n *\\n */\\n.file[data-v-8ab848c4],\\n.folder[data-v-8ab848c4] {\\n position: relative;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n user-select: none;\\n border-radius: var(--border-radius);\\n overflow: hidden;\\n}\\n.file .cover[data-v-8ab848c4],\\n .folder .cover[data-v-8ab848c4] {\\n z-index: 2;\\n width: 100%;\\n padding-bottom: 100%;\\n transition: opacity var(--animation-quick) ease-in-out;\\n opacity: 0;\\n background-color: var(--color-main-text);\\n}\\n.file.active .cover[data-v-8ab848c4], .file:active .cover[data-v-8ab848c4], .file:hover .cover[data-v-8ab848c4], .file:focus .cover[data-v-8ab848c4],\\n .folder.active .cover[data-v-8ab848c4],\\n .folder:active .cover[data-v-8ab848c4],\\n .folder:hover .cover[data-v-8ab848c4],\\n .folder:focus .cover[data-v-8ab848c4] {\\n opacity: .3;\\n}\\n.file--clear.active .cover[data-v-8ab848c4], .file--clear:active .cover[data-v-8ab848c4], .file--clear:hover .cover[data-v-8ab848c4], .file--clear:focus .cover[data-v-8ab848c4],\\n .folder--clear.active .cover[data-v-8ab848c4],\\n .folder--clear:active .cover[data-v-8ab848c4],\\n .folder--clear:hover .cover[data-v-8ab848c4],\\n .folder--clear:focus .cover[data-v-8ab848c4] {\\n opacity: .1;\\n}\\n.fade-enter-active[data-v-8ab848c4], .fade-leave-active[data-v-8ab848c4] {\\n transition: opacity var(--animation-quick) ease-in-out;\\n}\\n.fade-enter[data-v-8ab848c4], .fade-leave-to[data-v-8ab848c4] {\\n opacity: 0;\\n}\\n.folder-content[data-v-8ab848c4] {\\n position: absolute;\\n display: grid;\\n width: 100%;\\n height: 100%;\\n}\\n.folder-content--grid-1[data-v-8ab848c4] {\\n grid-template-columns: 1fr;\\n grid-template-rows: 1fr;\\n}\\n.folder-content--grid-2[data-v-8ab848c4] {\\n grid-template-columns: 1fr;\\n grid-template-rows: 1fr 1fr;\\n}\\n.folder-content--grid-3[data-v-8ab848c4] {\\n grid-template-columns: 1fr 1fr;\\n grid-template-rows: 1fr 1fr;\\n}\\n.folder-content--grid-3 img[data-v-8ab848c4]:first-child {\\n grid-column: span 2;\\n}\\n.folder-content--grid-4[data-v-8ab848c4] {\\n grid-template-columns: 1fr 1fr;\\n grid-template-rows: 1fr 1fr;\\n}\\n.folder-content img[data-v-8ab848c4] {\\n width: 100%;\\n height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n.folder-name[data-v-8ab848c4] {\\n position: absolute;\\n z-index: 3;\\n display: flex;\\n overflow: hidden;\\n flex-direction: column;\\n width: 100%;\\n height: 100%;\\n transition: opacity var(--animation-quick) ease-in-out;\\n opacity: 1;\\n}\\n.folder-name__icon[data-v-8ab848c4] {\\n height: 40%;\\n margin-top: calc(30% - 1rem / 2);\\n background-size: 40%;\\n}\\n.folder-name__name[data-v-8ab848c4] {\\n overflow: hidden;\\n height: 1rem;\\n padding: 0 10px;\\n text-align: center;\\n white-space: nowrap;\\n text-overflow: ellipsis;\\n color: var(--color-main-background);\\n text-shadow: 0 0 8px var(--color-main-text);\\n font-size: 1rem;\\n line-height: 1rem;\\n}\\n.folder--clear .folder-name__icon[data-v-8ab848c4] {\\n opacity: .3;\\n}\\n.folder--clear .folder-name__name[data-v-8ab848c4] {\\n color: var(--color-main-text);\\n text-shadow: 0 0 8px var(--color-main-background);\\n}\\n.folder:not(.folder--clear) .cover[data-v-8ab848c4] {\\n opacity: .3;\\n}\\n.folder:not(.folder--clear).active .folder-name[data-v-8ab848c4],\\n.folder:not(.folder--clear).active .cover[data-v-8ab848c4], .folder:not(.folder--clear):active .folder-name[data-v-8ab848c4],\\n.folder:not(.folder--clear):active .cover[data-v-8ab848c4], .folder:not(.folder--clear):hover .folder-name[data-v-8ab848c4],\\n.folder:not(.folder--clear):hover .cover[data-v-8ab848c4], .folder:not(.folder--clear):focus .folder-name[data-v-8ab848c4],\\n.folder:not(.folder--clear):focus .cover[data-v-8ab848c4] {\\n opacity: 0;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"FolderTagPreview\", {\n attrs: {\n id: _vm.fileid,\n name: _vm.basename,\n path: _vm.filename,\n \"file-list\": _vm.fileList\n }\n })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.error === 404\n ? _c(\"EmptyContent\", { attrs: { \"illustration-name\": \"folder\" } }, [\n _vm._v(\n \"\\n\\t\" + _vm._s(_vm.t(\"photos\", \"This folder does not exists\")) + \"\\n\"\n )\n ])\n : _vm.error\n ? _c(\"EmptyContent\", [\n _vm._v(\"\\n\\t\" + _vm._s(_vm.t(\"photos\", \"An error occurred\")) + \"\\n\")\n ])\n : !_vm.loading\n ? _c(\n \"div\",\n [\n _vm.folder\n ? _c(\n \"Navigation\",\n _vm._b(\n {\n key: \"navigation\",\n attrs: { \"root-title\": _vm.rootTitle, \"show-actions\": true }\n },\n \"Navigation\",\n _vm.folder,\n false\n )\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"Grid\",\n [\n _vm.isEmpty\n ? _c(\n \"EmptyContent\",\n {\n key: \"emptycontent\",\n attrs: { \"illustration-name\": \"empty\" }\n },\n [\n _vm._v(\n \"\\n\\t\\t\\t\" +\n _vm._s(_vm.t(\"photos\", \"No photos in here\")) +\n \"\\n\\t\\t\"\n )\n ]\n )\n : [\n _vm._l(_vm.folderList, function(dir) {\n return _c(\n \"Folder\",\n _vm._b(\n {\n key: dir.fileid,\n attrs: { \"show-shared\": _vm.showShared }\n },\n \"Folder\",\n dir,\n false\n )\n )\n }),\n _vm._v(\" \"),\n _vm._l(_vm.fileList, function(file) {\n return _c(\n \"File\",\n _vm._b(\n { key: file.fileid, attrs: { list: _vm.fileList } },\n \"File\",\n file,\n false\n )\n )\n })\n ]\n ],\n 2\n )\n ],\n 1\n )\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../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??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=style&index=0&id=8ab848c4&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"20cc90cc\", content, false, {});\n// Hot Module Replacement\nif(module.hot) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n module.hot.accept(\"!!../../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??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=style&index=0&id=8ab848c4&lang=scss&scoped=true&\", function() {\n var newContent = require(\"!!../../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??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=style&index=0&id=8ab848c4&lang=scss&scoped=true&\");\n if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n update(newContent);\n });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}","import { render, staticRenderFns } from \"./Folder.vue?vue&type=template&id=8ab848c4&scoped=true&\"\nimport script from \"./Folder.vue?vue&type=script&lang=js&\"\nexport * from \"./Folder.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Folder.vue?vue&type=style&index=0&id=8ab848c4&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 \"8ab848c4\",\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/cmors/dev/tools/nx/apps/photos/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('8ab848c4')) {\n api.createRecord('8ab848c4', component.options)\n } else {\n api.reload('8ab848c4', component.options)\n }\n module.hot.accept(\"./Folder.vue?vue&type=template&id=8ab848c4&scoped=true&\", function () {\n api.rerender('8ab848c4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/components/Folder.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.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!./Folder.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/vue-style-loader/index.js!../../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??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=style&index=0&id=8ab848c4&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js!../../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??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=style&index=0&id=8ab848c4&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=template&id=8ab848c4&scoped=true&\"","function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\n/**\n * @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license GNU AGPL version 3 or any later version\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 <http://www.gnu.org/licenses/>.\n *\n */\nimport axios from '@nextcloud/axios';\nimport { generateUrl } from '@nextcloud/router';\nimport { genFileInfo, encodeFilePath } from '../utils/fileUtils';\nimport allowedMimes from './AllowedMimes';\n/**\n * List files from a folder and filter out unwanted mimes\n *\n * @param {String} path the path relative to the user root\n * @param {Object} [options] optional options for axios\n * @param {boolean} [shared] fetch shared albums ?\n * @returns {Array} the file list\n */\n\nexport default function () {\n return _ref.apply(this, arguments);\n}\n\nfunction _ref() {\n _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {\n var path,\n options,\n prefixPath,\n response,\n list,\n folder,\n folders,\n files,\n _iterator,\n _step,\n entry,\n _args = arguments;\n\n return regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n path = _args.length > 0 && _args[0] !== undefined ? _args[0] : '/';\n options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};\n prefixPath = generateUrl(\"/apps/photos/api/v1/\".concat(options.shared ? 'shared' : 'albums')); // fetch listing\n\n _context.next = 5;\n return axios.get(prefixPath + encodeFilePath(path), options);\n\n case 5:\n response = _context.sent;\n list = response.data.map(function (data) {\n return genFileInfo(data);\n }); // filter all the files and folders\n\n folder = {};\n folders = [];\n files = [];\n _iterator = _createForOfIteratorHelper(list);\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n entry = _step.value;\n\n // is this the current provided path ?\n if (entry.filename === path) {\n folder = entry;\n } else if (entry.type !== 'file') {\n folders.push(entry);\n } else if (allowedMimes.indexOf(entry.mime) > -1) {\n files.push(entry);\n }\n } // return current folder, subfolders and files\n\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n return _context.abrupt(\"return\", {\n folder: folder,\n folders: folders,\n files: files\n });\n\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _ref.apply(this, arguments);\n}","import { render, staticRenderFns } from \"./Albums.vue?vue&type=template&id=28345ec4&\"\nimport script from \"./Albums.vue?vue&type=script&lang=js&\"\nexport * from \"./Albums.vue?vue&type=script&lang=js&\"\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 null,\n null\n \n)\n\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/cmors/dev/tools/nx/apps/photos/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('28345ec4')) {\n api.createRecord('28345ec4', component.options)\n } else {\n api.reload('28345ec4', component.options)\n }\n module.hot.accept(\"./Albums.vue?vue&type=template&id=28345ec4&\", function () {\n api.rerender('28345ec4', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"src/views/Albums.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Albums.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!./Albums.vue?vue&type=script&lang=js&\"","export * from \"-!../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Albums.vue?vue&type=template&id=28345ec4&\""],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC5JA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACzRA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACNA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACfA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACVA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;;;;;;;;;;;ACvCA;AAAA;AAAA;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACvHA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAiBA;AACA;AACA;;;;;;;;;;;;ACtCA;AAAA;AAAA;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;A","sourceRoot":""} \ No newline at end of file
+{"version":3,"sources":["webpack:///./src/components/Folder.vue?015c","webpack:///./src/components/Folder.vue?d98d","webpack:///./src/components/Folder.vue?fc87","webpack:///./src/views/Albums.vue?a9cf","webpack:///./src/services/AlbumContent.js","webpack:///src/components/Folder.vue","webpack:///./src/components/Folder.vue?f12b","webpack:///./src/components/Folder.vue","webpack:///./src/components/Folder.vue?176a","webpack:///src/views/Albums.vue","webpack:///./src/views/Albums.vue?01c6","webpack:///./src/views/Albums.vue"],"names":["content","module","i","locals","exports","add","default","___CSS_LOADER_API_IMPORT___","push","path","options","prefixPath","generateUrl","shared","axios","get","encodeFilePath","response","list","data","map","genFileInfo","folder","folders","files","entry","filename","type","allowedMimes","indexOf","mime","_h","this","$createElement","_self","_c","attrs","fileid","basename","fileList","_vm","error","_v","_s","t","loading","_e","_b","key","rootTitle","_l","dir","showShared","file"],"mappings":"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","file":"photos-7.js?v=0343885c8a251957eb63","sourcesContent":["// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../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??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=style&index=0&id=4b85e8d1&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"60ffa043\", content, true, {});","import mod from \"-!../../node_modules/vue-style-loader/index.js!../../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??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=style&index=0&id=4b85e8d1&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js!../../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??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=style&index=0&id=4b85e8d1&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".file[data-v-4b85e8d1],.folder[data-v-4b85e8d1]{position:relative;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:var(--border-radius);overflow:hidden}.file .cover[data-v-4b85e8d1],.folder .cover[data-v-4b85e8d1]{z-index:2;width:100%;padding-bottom:100%;transition:opacity var(--animation-quick) ease-in-out;opacity:0;background-color:var(--color-main-text)}.file.active .cover[data-v-4b85e8d1],.file:active .cover[data-v-4b85e8d1],.file:hover .cover[data-v-4b85e8d1],.file:focus .cover[data-v-4b85e8d1],.folder.active .cover[data-v-4b85e8d1],.folder:active .cover[data-v-4b85e8d1],.folder:hover .cover[data-v-4b85e8d1],.folder:focus .cover[data-v-4b85e8d1]{opacity:.3}.file--clear.active .cover[data-v-4b85e8d1],.file--clear:active .cover[data-v-4b85e8d1],.file--clear:hover .cover[data-v-4b85e8d1],.file--clear:focus .cover[data-v-4b85e8d1],.folder--clear.active .cover[data-v-4b85e8d1],.folder--clear:active .cover[data-v-4b85e8d1],.folder--clear:hover .cover[data-v-4b85e8d1],.folder--clear:focus .cover[data-v-4b85e8d1]{opacity:.1}.fade-enter-active[data-v-4b85e8d1],.fade-leave-active[data-v-4b85e8d1]{transition:opacity var(--animation-quick) ease-in-out}.fade-enter[data-v-4b85e8d1],.fade-leave-to[data-v-4b85e8d1]{opacity:0}.folder-content[data-v-4b85e8d1]{position:absolute;display:grid;width:100%;height:100%}.folder-content--grid-1[data-v-4b85e8d1]{grid-template-columns:1fr;grid-template-rows:1fr}.folder-content--grid-2[data-v-4b85e8d1]{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.folder-content--grid-3[data-v-4b85e8d1]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.folder-content--grid-3 img[data-v-4b85e8d1]:first-child{grid-column:span 2}.folder-content--grid-4[data-v-