diff --git a/assets/locales/messages.pot b/assets/locales/messages.pot index db23e1355..6627ddae4 100644 --- a/assets/locales/messages.pot +++ b/assets/locales/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-08-01 15:07+0000\n" +"POT-Creation-Date: 2022-10-17 14:51+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,331 +17,359 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: messages.go:87 +#: messages.go:94 msgid "Unexpected error, please try again" msgstr "" -#: messages.go:88 +#: messages.go:95 msgid "Invalid request" msgstr "" -#: messages.go:89 +#: messages.go:96 msgid "Changes could not be saved" msgstr "" -#: messages.go:90 +#: messages.go:97 msgid "Could not be deleted" msgstr "" -#: messages.go:91 +#: messages.go:98 #, c-format msgid "%s already exists" msgstr "" -#: messages.go:92 +#: messages.go:99 msgid "Not found" msgstr "" -#: messages.go:93 +#: messages.go:100 msgid "File not found" msgstr "" -#: messages.go:94 -msgid "Originals folder is empty" -msgstr "" - -#: messages.go:95 -msgid "Selection not found" -msgstr "" - -#: messages.go:96 -msgid "Entity not found" -msgstr "" - -#: messages.go:97 -msgid "Account not found" -msgstr "" - -#: messages.go:98 -msgid "User not found" -msgstr "" - -#: messages.go:99 -msgid "Label not found" -msgstr "" - -#: messages.go:100 -msgid "Album not found" -msgstr "" - #: messages.go:101 -msgid "Subject not found" +msgid "File too large" msgstr "" #: messages.go:102 -msgid "Person not found" +msgid "Wrong file type" msgstr "" #: messages.go:103 -msgid "Face not found" +msgid "Originals folder is empty" msgstr "" #: messages.go:104 -msgid "Not available in public mode" +msgid "Selection not found" msgstr "" #: messages.go:105 -msgid "not available in read-only mode" +msgid "Entity not found" msgstr "" #: messages.go:106 -msgid "Please log in and try again" +msgid "Account not found" msgstr "" #: messages.go:107 -msgid "Upload might be offensive" +msgid "User not found" msgstr "" #: messages.go:108 -msgid "No items selected" +msgid "Label not found" msgstr "" #: messages.go:109 -msgid "Failed creating file, please check permissions" +msgid "Album not found" msgstr "" #: messages.go:110 -msgid "Failed creating folder, please check permissions" +msgid "Subject not found" msgstr "" #: messages.go:111 -msgid "Could not connect, please try again" +msgid "Person not found" msgstr "" #: messages.go:112 -msgid "Invalid password, please try again" +msgid "Face not found" msgstr "" #: messages.go:113 -msgid "Feature disabled" +msgid "Not available in public mode" msgstr "" #: messages.go:114 -msgid "No labels selected" +msgid "Not available in read-only mode" msgstr "" #: messages.go:115 -msgid "No albums selected" +msgid "Please log in to your account" msgstr "" #: messages.go:116 -msgid "No files available for download" +msgid "Permission denied" msgstr "" #: messages.go:117 -msgid "Failed to create zip file" +msgid "Upload might be offensive" msgstr "" #: messages.go:118 -msgid "Invalid credentials" +msgid "Upload failed" msgstr "" #: messages.go:119 -msgid "Invalid link" +msgid "No items selected" msgstr "" #: messages.go:120 -msgid "Invalid name" +msgid "RunFailed creating file, please check permissions" msgstr "" #: messages.go:121 -msgid "Busy, please try again later" +msgid "RunFailed creating folder, please check permissions" msgstr "" #: messages.go:122 -#, c-format -msgid "The wakeup interval is %s, but must be 1h or less" +msgid "Could not connect, please try again" msgstr "" #: messages.go:123 -msgid "Your account could not be connected" +msgid "Invalid password, please try again" +msgstr "" + +#: messages.go:124 +msgid "Feature disabled" +msgstr "" + +#: messages.go:125 +msgid "No labels selected" msgstr "" #: messages.go:126 -msgid "Changes successfully saved" +msgid "No albums selected" msgstr "" #: messages.go:127 -msgid "Album created" +msgid "No files available for download" msgstr "" #: messages.go:128 -msgid "Album saved" +msgid "RunFailed to create zip file" msgstr "" #: messages.go:129 -#, c-format -msgid "Album %s deleted" +msgid "Invalid credentials" msgstr "" #: messages.go:130 -msgid "Album contents cloned" +msgid "Invalid link" msgstr "" #: messages.go:131 -msgid "File removed from stack" +msgid "Invalid name" msgstr "" #: messages.go:132 -msgid "File deleted" +msgid "Busy, please try again later" msgstr "" #: messages.go:133 #, c-format -msgid "Selection added to %s" +msgid "The wakeup interval is %s, but must be 1h or less" msgstr "" #: messages.go:134 -#, c-format -msgid "One entry added to %s" -msgstr "" - -#: messages.go:135 -#, c-format -msgid "%d entries added to %s" -msgstr "" - -#: messages.go:136 -#, c-format -msgid "One entry removed from %s" +msgid "Your account could not be connected" msgstr "" #: messages.go:137 -#, c-format -msgid "%d entries removed from %s" +msgid "Changes successfully saved" msgstr "" #: messages.go:138 -msgid "Account created" +msgid "Album created" msgstr "" #: messages.go:139 -msgid "Account saved" +msgid "Album saved" msgstr "" #: messages.go:140 -msgid "Account deleted" +#, c-format +msgid "Album %s deleted" msgstr "" #: messages.go:141 -msgid "Settings saved" +msgid "Album contents cloned" msgstr "" #: messages.go:142 -msgid "Password changed" +msgid "File removed from stack" msgstr "" #: messages.go:143 -#, c-format -msgid "Import completed in %d s" +msgid "File deleted" msgstr "" #: messages.go:144 -msgid "Import canceled" +#, c-format +msgid "Selection added to %s" msgstr "" #: messages.go:145 #, c-format -msgid "Indexing completed in %d s" +msgid "One entry added to %s" msgstr "" #: messages.go:146 -msgid "Indexing originals..." +#, c-format +msgid "%d entries added to %s" msgstr "" #: messages.go:147 #, c-format -msgid "Indexing files in %s" +msgid "One entry removed from %s" msgstr "" #: messages.go:148 -msgid "Indexing canceled" +#, c-format +msgid "%d entries removed from %s" msgstr "" #: messages.go:149 -#, c-format -msgid "Removed %d files and %d photos" +msgid "Account created" msgstr "" #: messages.go:150 -#, c-format -msgid "Moving files from %s" +msgid "Account saved" msgstr "" #: messages.go:151 -#, c-format -msgid "Copying files from %s" +msgid "Account deleted" msgstr "" #: messages.go:152 -msgid "Labels deleted" +msgid "Settings saved" msgstr "" #: messages.go:153 -msgid "Label saved" +msgid "Password changed" msgstr "" #: messages.go:154 -msgid "Subject saved" +#, c-format +msgid "Import completed in %d s" msgstr "" #: messages.go:155 -msgid "Subject deleted" +msgid "Import canceled" msgstr "" #: messages.go:156 -msgid "Person saved" +#, c-format +msgid "Indexing completed in %d s" msgstr "" #: messages.go:157 -msgid "Person deleted" +msgid "Indexing originals..." msgstr "" #: messages.go:158 #, c-format -msgid "%d files uploaded in %d s" +msgid "Indexing files in %s" msgstr "" #: messages.go:159 -msgid "Selection approved" +msgid "Indexing canceled" msgstr "" #: messages.go:160 -msgid "Selection archived" +#, c-format +msgid "Removed %d files and %d photos" msgstr "" #: messages.go:161 -msgid "Selection restored" +#, c-format +msgid "Moving files from %s" msgstr "" #: messages.go:162 -msgid "Selection marked as private" +#, c-format +msgid "Copying files from %s" msgstr "" #: messages.go:163 -msgid "Albums deleted" +msgid "Labels deleted" msgstr "" #: messages.go:164 +msgid "Label saved" +msgstr "" + +#: messages.go:165 +msgid "Subject saved" +msgstr "" + +#: messages.go:166 +msgid "Subject deleted" +msgstr "" + +#: messages.go:167 +msgid "Person saved" +msgstr "" + +#: messages.go:168 +msgid "Person deleted" +msgstr "" + +#: messages.go:169 +msgid "File uploaded" +msgstr "" + +#: messages.go:170 +#, c-format +msgid "%d files uploaded in %d s" +msgstr "" + +#: messages.go:171 +msgid "Processing upload..." +msgstr "" + +#: messages.go:172 +msgid "Upload has been processed" +msgstr "" + +#: messages.go:173 +msgid "Selection approved" +msgstr "" + +#: messages.go:174 +msgid "Selection archived" +msgstr "" + +#: messages.go:175 +msgid "Selection restored" +msgstr "" + +#: messages.go:176 +msgid "Selection marked as private" +msgstr "" + +#: messages.go:177 +msgid "Albums deleted" +msgstr "" + +#: messages.go:178 #, c-format msgid "Zip created in %d s" msgstr "" -#: messages.go:165 +#: messages.go:179 msgid "Permanently deleted" msgstr "" -#: messages.go:166 +#: messages.go:180 #, c-format msgid "%s has been restored" msgstr "" diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 45ff21e07..383d5c9f2 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -2350,9 +2350,9 @@ } }, "node_modules/@types/node": { - "version": "18.8.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.5.tgz", - "integrity": "sha512-Bq7G3AErwe5A/Zki5fdD3O6+0zDChhg671NfPjtIcbtzDNZTv4NPKMRFr7gtYPG7y+B8uTiNK4Ngd9T0FTar6Q==" + "version": "18.11.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.0.tgz", + "integrity": "sha512-IOXCvVRToe7e0ny7HpT/X9Rb2RYtElG1a+VshjwT00HxrM2dWBApHQoqsI6WiY7Q03vdf2bCrIGzVrkF/5t10w==" }, "node_modules/@types/parse-json": { "version": "4.0.0", @@ -2364,42 +2364,37 @@ "resolved": "https://registry.npmjs.org/@types/pbf/-/pbf-3.0.2.tgz", "integrity": "sha512-EDrLIPaPXOZqDjrkzxxbX7UlJSeQVgah3i0aA4pOSzmK9zq3BIh7/MZIQxED7slJByvKM4Gc6Hypyu2lJzh3SQ==" }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" - }, "node_modules/@vue/compiler-core": { - "version": "3.2.40", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.40.tgz", - "integrity": "sha512-2Dc3Stk0J/VyQ4OUr2yEC53kU28614lZS+bnrCbFSAIftBJ40g/2yQzf4mPBiFuqguMB7hyHaujdgZAQ67kZYA==", + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.41.tgz", + "integrity": "sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==", "dependencies": { "@babel/parser": "^7.16.4", - "@vue/shared": "3.2.40", + "@vue/shared": "3.2.41", "estree-walker": "^2.0.2", "source-map": "^0.6.1" } }, "node_modules/@vue/compiler-dom": { - "version": "3.2.40", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.40.tgz", - "integrity": "sha512-OZCNyYVC2LQJy4H7h0o28rtk+4v+HMQygRTpmibGoG9wZyomQiS5otU7qo3Wlq5UfHDw2RFwxb9BJgKjVpjrQw==", + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.41.tgz", + "integrity": "sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw==", "dependencies": { - "@vue/compiler-core": "3.2.40", - "@vue/shared": "3.2.40" + "@vue/compiler-core": "3.2.41", + "@vue/shared": "3.2.41" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.2.40", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.40.tgz", - "integrity": "sha512-tzqwniIN1fu1PDHC3CpqY/dPCfN/RN1thpBC+g69kJcrl7mbGiHKNwbA6kJ3XKKy8R6JLKqcpVugqN4HkeBFFg==", + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.41.tgz", + "integrity": "sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w==", "dependencies": { "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.40", - "@vue/compiler-dom": "3.2.40", - "@vue/compiler-ssr": "3.2.40", - "@vue/reactivity-transform": "3.2.40", - "@vue/shared": "3.2.40", + "@vue/compiler-core": "3.2.41", + "@vue/compiler-dom": "3.2.41", + "@vue/compiler-ssr": "3.2.41", + "@vue/reactivity-transform": "3.2.41", + "@vue/shared": "3.2.41", "estree-walker": "^2.0.2", "magic-string": "^0.25.7", "postcss": "^8.1.10", @@ -2407,12 +2402,12 @@ } }, "node_modules/@vue/compiler-ssr": { - "version": "3.2.40", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.40.tgz", - "integrity": "sha512-80cQcgasKjrPPuKcxwuCx7feq+wC6oFl5YaKSee9pV3DNq+6fmCVwEEC3vvkf/E2aI76rIJSOYHsWSEIxK74oQ==", + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.41.tgz", + "integrity": "sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ==", "dependencies": { - "@vue/compiler-dom": "3.2.40", - "@vue/shared": "3.2.40" + "@vue/compiler-dom": "3.2.41", + "@vue/shared": "3.2.41" } }, "node_modules/@vue/component-compiler-utils": { @@ -2455,21 +2450,21 @@ } }, "node_modules/@vue/reactivity-transform": { - "version": "3.2.40", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.40.tgz", - "integrity": "sha512-HQUCVwEaacq6fGEsg2NUuGKIhUveMCjOk8jGHqLXPI2w6zFoPrlQhwWEaINTv5kkZDXKEnCijAp+4gNEHG03yw==", + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.41.tgz", + "integrity": "sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==", "dependencies": { "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.40", - "@vue/shared": "3.2.40", + "@vue/compiler-core": "3.2.41", + "@vue/shared": "3.2.41", "estree-walker": "^2.0.2", "magic-string": "^0.25.7" } }, "node_modules/@vue/shared": { - "version": "3.2.40", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.40.tgz", - "integrity": "sha512-0PLQ6RUtZM0vO3teRfzGi4ltLUO5aO+kLgwh4Um3THSR03rpQWLTuRCkuO5A41ITzwdWeKdPHtSARuPkoo5pCQ==" + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.41.tgz", + "integrity": "sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw==" }, "node_modules/@vvo/tzdb": { "version": "6.71.0", @@ -3070,9 +3065,9 @@ } }, "node_modules/axios": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.2.tgz", - "integrity": "sha512-bznQyETwElsXl2RK7HLLwb5GPpOLlycxHCtrpDR/4RqqBzjARaOTo3jz4IgtntWUYee7Ne4S8UHd92VCuzPaWA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz", + "integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -3503,9 +3498,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001419", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001419.tgz", - "integrity": "sha512-aFO1r+g6R7TW+PNQxKzjITwLOyDhVRLjW0LcwS/HCZGUUKTGNp9+IwLC4xyDSZBygVL/mxaFR3HIV6wEKQuSzw==", + "version": "1.0.30001420", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001420.tgz", + "integrity": "sha512-OnyeJ9ascFA9roEj72ok2Ikp7PHJTKubtEJIQ/VK3fdsS50q4KWy+Z5X0A1/GswEItKX0ctAp8n4SYDE7wTu6A==", "funding": [ { "type": "opencollective", @@ -4645,9 +4640,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.282", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.282.tgz", - "integrity": "sha512-Dki0WhHNh/br/Xi1vAkueU5mtIc9XLHcMKB6tNfQKk+kPG0TEUjRh5QEMAUbRp30/rYNMFD1zKKvbVzwq/4wmg==" + "version": "1.4.283", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.283.tgz", + "integrity": "sha512-g6RQ9zCOV+U5QVHW9OpFR7rdk/V7xfopNXnyAamdpFgCHgZ1sjI8VuR1+zG2YG/TZk+tQ8mpNkug4P8FU0fuOA==" }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -8538,11 +8533,10 @@ } }, "node_modules/mocha": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz", - "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz", + "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==", "dependencies": { - "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", "chokidar": "3.5.3", @@ -11489,9 +11483,9 @@ } }, "node_modules/socket.io": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.2.tgz", - "integrity": "sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.3.tgz", + "integrity": "sha512-zdpnnKU+H6mOp7nYRXH4GNv1ux6HL6+lHL8g7Ds7Lj8CkdK1jJK/dlwsKDculbyOHifcJ0Pr/yeXnZQ5GeFrcg==", "dependencies": { "accepts": "~1.3.4", "base64id": "~2.0.0", @@ -12170,9 +12164,9 @@ } }, "node_modules/ua-parser-js": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", - "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==", + "version": "0.7.32", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz", + "integrity": "sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==", "funding": [ { "type": "opencollective", @@ -12382,15 +12376,14 @@ } }, "node_modules/util": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", - "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", "dependencies": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", "is-generator-function": "^1.0.7", "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", "which-typed-array": "^1.1.2" } }, @@ -14877,9 +14870,9 @@ } }, "@types/node": { - "version": "18.8.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.8.5.tgz", - "integrity": "sha512-Bq7G3AErwe5A/Zki5fdD3O6+0zDChhg671NfPjtIcbtzDNZTv4NPKMRFr7gtYPG7y+B8uTiNK4Ngd9T0FTar6Q==" + "version": "18.11.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.0.tgz", + "integrity": "sha512-IOXCvVRToe7e0ny7HpT/X9Rb2RYtElG1a+VshjwT00HxrM2dWBApHQoqsI6WiY7Q03vdf2bCrIGzVrkF/5t10w==" }, "@types/parse-json": { "version": "4.0.0", @@ -14891,42 +14884,37 @@ "resolved": "https://registry.npmjs.org/@types/pbf/-/pbf-3.0.2.tgz", "integrity": "sha512-EDrLIPaPXOZqDjrkzxxbX7UlJSeQVgah3i0aA4pOSzmK9zq3BIh7/MZIQxED7slJByvKM4Gc6Hypyu2lJzh3SQ==" }, - "@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" - }, "@vue/compiler-core": { - "version": "3.2.40", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.40.tgz", - "integrity": "sha512-2Dc3Stk0J/VyQ4OUr2yEC53kU28614lZS+bnrCbFSAIftBJ40g/2yQzf4mPBiFuqguMB7hyHaujdgZAQ67kZYA==", + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.41.tgz", + "integrity": "sha512-oA4mH6SA78DT+96/nsi4p9DX97PHcNROxs51lYk7gb9Z4BPKQ3Mh+BLn6CQZBw857Iuhu28BfMSRHAlPvD4vlw==", "requires": { "@babel/parser": "^7.16.4", - "@vue/shared": "3.2.40", + "@vue/shared": "3.2.41", "estree-walker": "^2.0.2", "source-map": "^0.6.1" } }, "@vue/compiler-dom": { - "version": "3.2.40", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.40.tgz", - "integrity": "sha512-OZCNyYVC2LQJy4H7h0o28rtk+4v+HMQygRTpmibGoG9wZyomQiS5otU7qo3Wlq5UfHDw2RFwxb9BJgKjVpjrQw==", + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.41.tgz", + "integrity": "sha512-xe5TbbIsonjENxJsYRbDJvthzqxLNk+tb3d/c47zgREDa/PCp6/Y4gC/skM4H6PIuX5DAxm7fFJdbjjUH2QTMw==", "requires": { - "@vue/compiler-core": "3.2.40", - "@vue/shared": "3.2.40" + "@vue/compiler-core": "3.2.41", + "@vue/shared": "3.2.41" } }, "@vue/compiler-sfc": { - "version": "3.2.40", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.40.tgz", - "integrity": "sha512-tzqwniIN1fu1PDHC3CpqY/dPCfN/RN1thpBC+g69kJcrl7mbGiHKNwbA6kJ3XKKy8R6JLKqcpVugqN4HkeBFFg==", + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.41.tgz", + "integrity": "sha512-+1P2m5kxOeaxVmJNXnBskAn3BenbTmbxBxWOtBq3mQTCokIreuMULFantBUclP0+KnzNCMOvcnKinqQZmiOF8w==", "requires": { "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.40", - "@vue/compiler-dom": "3.2.40", - "@vue/compiler-ssr": "3.2.40", - "@vue/reactivity-transform": "3.2.40", - "@vue/shared": "3.2.40", + "@vue/compiler-core": "3.2.41", + "@vue/compiler-dom": "3.2.41", + "@vue/compiler-ssr": "3.2.41", + "@vue/reactivity-transform": "3.2.41", + "@vue/shared": "3.2.41", "estree-walker": "^2.0.2", "magic-string": "^0.25.7", "postcss": "^8.1.10", @@ -14934,12 +14922,12 @@ } }, "@vue/compiler-ssr": { - "version": "3.2.40", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.40.tgz", - "integrity": "sha512-80cQcgasKjrPPuKcxwuCx7feq+wC6oFl5YaKSee9pV3DNq+6fmCVwEEC3vvkf/E2aI76rIJSOYHsWSEIxK74oQ==", + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.41.tgz", + "integrity": "sha512-Y5wPiNIiaMz/sps8+DmhaKfDm1xgj6GrH99z4gq2LQenfVQcYXmHIOBcs5qPwl7jaW3SUQWjkAPKMfQemEQZwQ==", "requires": { - "@vue/compiler-dom": "3.2.40", - "@vue/shared": "3.2.40" + "@vue/compiler-dom": "3.2.41", + "@vue/shared": "3.2.41" } }, "@vue/component-compiler-utils": { @@ -14975,21 +14963,21 @@ } }, "@vue/reactivity-transform": { - "version": "3.2.40", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.40.tgz", - "integrity": "sha512-HQUCVwEaacq6fGEsg2NUuGKIhUveMCjOk8jGHqLXPI2w6zFoPrlQhwWEaINTv5kkZDXKEnCijAp+4gNEHG03yw==", + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.41.tgz", + "integrity": "sha512-mK5+BNMsL4hHi+IR3Ft/ho6Za+L3FA5j8WvreJ7XzHrqkPq8jtF/SMo7tuc9gHjLDwKZX1nP1JQOKo9IEAn54A==", "requires": { "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.40", - "@vue/shared": "3.2.40", + "@vue/compiler-core": "3.2.41", + "@vue/shared": "3.2.41", "estree-walker": "^2.0.2", "magic-string": "^0.25.7" } }, "@vue/shared": { - "version": "3.2.40", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.40.tgz", - "integrity": "sha512-0PLQ6RUtZM0vO3teRfzGi4ltLUO5aO+kLgwh4Um3THSR03rpQWLTuRCkuO5A41ITzwdWeKdPHtSARuPkoo5pCQ==" + "version": "3.2.41", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.41.tgz", + "integrity": "sha512-W9mfWLHmJhkfAmV+7gDjcHeAWALQtgGT3JErxULl0oz6R6+3ug91I7IErs93eCFhPCZPHBs4QJS7YWEV7A3sxw==" }, "@vvo/tzdb": { "version": "6.71.0", @@ -15441,9 +15429,9 @@ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, "axios": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.2.tgz", - "integrity": "sha512-bznQyETwElsXl2RK7HLLwb5GPpOLlycxHCtrpDR/4RqqBzjARaOTo3jz4IgtntWUYee7Ne4S8UHd92VCuzPaWA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz", + "integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==", "requires": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -15775,9 +15763,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001419", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001419.tgz", - "integrity": "sha512-aFO1r+g6R7TW+PNQxKzjITwLOyDhVRLjW0LcwS/HCZGUUKTGNp9+IwLC4xyDSZBygVL/mxaFR3HIV6wEKQuSzw==" + "version": "1.0.30001420", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001420.tgz", + "integrity": "sha512-OnyeJ9ascFA9roEj72ok2Ikp7PHJTKubtEJIQ/VK3fdsS50q4KWy+Z5X0A1/GswEItKX0ctAp8n4SYDE7wTu6A==" }, "chai": { "version": "4.3.6", @@ -16596,9 +16584,9 @@ } }, "electron-to-chromium": { - "version": "1.4.282", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.282.tgz", - "integrity": "sha512-Dki0WhHNh/br/Xi1vAkueU5mtIc9XLHcMKB6tNfQKk+kPG0TEUjRh5QEMAUbRp30/rYNMFD1zKKvbVzwq/4wmg==" + "version": "1.4.283", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.283.tgz", + "integrity": "sha512-g6RQ9zCOV+U5QVHW9OpFR7rdk/V7xfopNXnyAamdpFgCHgZ1sjI8VuR1+zG2YG/TZk+tQ8mpNkug4P8FU0fuOA==" }, "emoji-regex": { "version": "8.0.0", @@ -19440,11 +19428,10 @@ } }, "mocha": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.0.0.tgz", - "integrity": "sha512-0Wl+elVUD43Y0BqPZBzZt8Tnkw9CMUdNYnUsTfOM1vuhJVZL+kiesFYsqwBkEEuEixaiPe5ZQdqDgX2jddhmoA==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.1.0.tgz", + "integrity": "sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg==", "requires": { - "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", "chokidar": "3.5.3", @@ -21429,9 +21416,9 @@ "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==" }, "socket.io": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.2.tgz", - "integrity": "sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.3.tgz", + "integrity": "sha512-zdpnnKU+H6mOp7nYRXH4GNv1ux6HL6+lHL8g7Ds7Lj8CkdK1jJK/dlwsKDculbyOHifcJ0Pr/yeXnZQ5GeFrcg==", "requires": { "accepts": "~1.3.4", "base64id": "~2.0.0", @@ -21930,9 +21917,9 @@ } }, "ua-parser-js": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", - "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==" + "version": "0.7.32", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz", + "integrity": "sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==" }, "uglify-js": { "version": "3.17.3", @@ -22053,15 +22040,14 @@ } }, "util": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.12.4.tgz", - "integrity": "sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==", + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", "requires": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", "is-generator-function": "^1.0.7", "is-typed-array": "^1.1.3", - "safe-buffer": "^5.1.2", "which-typed-array": "^1.1.2" } }, diff --git a/frontend/package.json b/frontend/package.json index 0a75350b0..8d680a4cf 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -9,6 +9,7 @@ "watch": "webpack --watch", "build": "webpack --node-env=production", "trace": "webpack --stats-children", + "debug": "webpack --stats-error-details", "lint": "eslint --cache src/ *.js", "fmt": "eslint --cache --fix src/ *.js .eslintrc.js", "test": "karma start", diff --git a/frontend/src/app/routes.js b/frontend/src/app/routes.js index f777a9944..04de1ca3d 100644 --- a/frontend/src/app/routes.js +++ b/frontend/src/app/routes.js @@ -23,23 +23,23 @@ Additional information can be found in our Developer Guide: */ -import Photos from "pages/photos.vue"; -import Albums from "pages/albums.vue"; -import AlbumPhotos from "pages/album/photos.vue"; -import Places from "pages/places.vue"; -import Browse from "pages/files/browse.vue"; -import Errors from "pages/files/errors.vue"; -import Labels from "pages/labels.vue"; -import People from "pages/people.vue"; -import Files from "pages/files.vue"; -import Settings from "pages/settings.vue"; -import Login from "pages/login.vue"; -import Connect from "pages/connect.vue"; -import Discover from "pages/discover.vue"; -import About from "pages/about/about.vue"; -import Feedback from "pages/about/feedback.vue"; -import License from "pages/about/license.vue"; -import Help from "pages/help.vue"; +import Photos from "page/photos.vue"; +import Albums from "page/albums.vue"; +import AlbumPhotos from "page/album/photos.vue"; +import Places from "page/places.vue"; +import Browse from "page/library/browse.vue"; +import Errors from "page/library/errors.vue"; +import Labels from "page/labels.vue"; +import People from "page/people.vue"; +import Library from "page/library.vue"; +import Settings from "page/settings.vue"; +import Login from "page/login.vue"; +import Connect from "page/connect.vue"; +import Discover from "page/discover.vue"; +import About from "page/about/about.vue"; +import Feedback from "page/about/feedback.vue"; +import License from "page/about/license.vue"; +import Help from "page/help.vue"; import { $gettext } from "common/vm"; import { config, session } from "./session"; @@ -319,25 +319,25 @@ export default [ meta: { title: $gettext("People"), auth: true, background: "application-light" }, }, { - name: "index", + name: "library_index", path: "/index", - component: Files, + component: Library, meta: { title: $gettext("Library"), auth: true, background: "application-light" }, - props: { tab: "index" }, + props: { tab: "library_index" }, }, { - name: "index_import", + name: "library_import", path: "/import", - component: Files, + component: Library, meta: { title: $gettext("Library"), auth: true, background: "application-light" }, - props: { tab: "import" }, + props: { tab: "library_import" }, }, { - name: "index_logs", + name: "library_logs", path: "/logs", - component: Files, + component: Library, meta: { title: $gettext("Library"), auth: true, background: "application-light" }, - props: { tab: "logs" }, + props: { tab: "library_logs" }, }, { name: "settings", @@ -352,8 +352,8 @@ export default [ props: { tab: "settings-general" }, }, { - name: "settings_files", - path: "/settings/files", + name: "settings_media", + path: "/settings/media", component: Settings, meta: { title: $gettext("Settings"), @@ -362,7 +362,7 @@ export default [ settings: true, background: "application-light", }, - props: { tab: "settings-files" }, + props: { tab: "settings-media" }, }, { name: "settings_advanced", diff --git a/frontend/src/common/session.js b/frontend/src/common/session.js index 9a45ad13d..8846e7572 100644 --- a/frontend/src/common/session.js +++ b/frontend/src/common/session.js @@ -209,6 +209,14 @@ export default class Session { return this.user; } + getUserUID() { + if (this.user && this.user.UID) { + return this.user.UID; + } else { + return "u000000000000001"; // Unknown. + } + } + loginRequired() { return !this.config.isPublic() && !this.isUser(); } diff --git a/frontend/src/component/navigation.vue b/frontend/src/component/navigation.vue index f22b78c33..e4e004f67 100644 --- a/frontend/src/component/navigation.vue +++ b/frontend/src/component/navigation.vue @@ -387,7 +387,7 @@ - + camera_roll @@ -401,7 +401,7 @@