Popover refactored

This commit is contained in:
Peter Papp
2021-04-19 17:41:41 +02:00
parent 7cd29fce98
commit 7e8511ab3f
15 changed files with 573 additions and 528 deletions
@@ -59,6 +59,7 @@ class BrowseShareController extends Controller
}
return view("index")
->with('installation', 'setup-done')
->with('settings', get_settings_in_json() ?? null);
}
+85 -27
View File
@@ -6,7 +6,7 @@
"/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~c7a13fb0.js": "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~c7a13fb0.js?id=62b552a0492fe95b2223",
"/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~cf616679.js": "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~cf616679.js?id=fd241499c4e3b6a88840",
"/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~eeab5771.js": "/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~eeab5771.js?id=dc1abd740ef0db3451a2",
"/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser.js?id=96a88b0b70032047b60d",
"/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser.js?id=a76042074e958eaab108",
"/chunks/admin~chunks/files~chunks/settings~chunks/shared-files~chunks/shared/file-browser.js": "/chunks/admin~chunks/files~chunks/settings~chunks/shared-files~chunks/shared/file-browser.js?id=9b66c2dab4c6103bb53c",
"/chunks/admin~chunks/platform.js": "/chunks/admin~chunks/platform.js?id=7b37d12eb7ff79e1eb53",
"/chunks/admin~chunks/platform~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/shared.js?id=7e94943976a0aea65e09",
@@ -19,7 +19,7 @@
"/chunks/app-index.js": "/chunks/app-index.js?id=5bf1c4a8df85876205a0",
"/chunks/app-language.js": "/chunks/app-language.js?id=ccf2292ad048d4bfad60",
"/chunks/app-language~chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pag~824d674f.js": "/chunks/app-language~chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pag~824d674f.js?id=46d89e7310e4babf1999",
"/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.js?id=9a86dcc16affee74e05f",
"/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.js?id=da04bade02d8f48d5f8b",
"/chunks/app-others.js": "/chunks/app-others.js?id=9156adba3b1697a8bf3e",
"/chunks/app-payments.js": "/chunks/app-payments.js?id=7e1a982c90174f568fb2",
"/chunks/app-settings.js": "/chunks/app-settings.js?id=acc6ba7a93681f0d5d64",
@@ -33,12 +33,12 @@
"/chunks/database.js": "/chunks/database.js?id=7374830dc3cbddf41abb",
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=6dccc2158cc6278f683d",
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=208de84df68177288a2a",
"/chunks/files.js": "/chunks/files.js?id=bf20a51646206cd14f25",
"/chunks/files.js": "/chunks/files.js?id=3ca6e6d4ddf2031e98ba",
"/chunks/files~chunks/platform~chunks/shared-files~chunks/shared/file-browser.js": "/chunks/files~chunks/platform~chunks/shared-files~chunks/shared/file-browser.js?id=39233d603662ca3738e8",
"/chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser.js?id=7b36e1f9a8327a215083",
"/chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser.js?id=e43e627625b97e67fbe5",
"/chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser~chunks/sha~8510f6c9.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser~chunks/sha~8510f6c9.js?id=b4ccb4a816e5c72a0b85",
"/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared/file-browser~chunks/user~9058a49f.js": "/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared/file-browser~chunks/user~9058a49f.js?id=31a17ad1d2536342abbe",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.js?id=d9db59939f1b66e598d9",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.js?id=d8e418dc391a1245eb6e",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser~chunks/shared/single-file.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser~chunks/shared/single-file.js?id=243b3903521d9cc036b9",
"/chunks/files~chunks/shared/file-browser.js": "/chunks/files~chunks/shared/file-browser.js?id=44899a3c3880630dbcd9",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=877a9289b77ac3885042",
@@ -55,7 +55,7 @@
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=08e2056bc3744b2ea8f9",
"/chunks/plans.js": "/chunks/plans.js?id=83fc2cc3cd4b76c8f8f0",
"/chunks/platform.js": "/chunks/platform.js?id=7de76831b9b233a9620c",
"/chunks/platform~chunks/shared.js": "/chunks/platform~chunks/shared.js?id=cee45879fb91f25a02ea",
"/chunks/platform~chunks/shared.js": "/chunks/platform~chunks/shared.js?id=3f3506a167632c79899f",
"/chunks/profile.js": "/chunks/profile.js?id=1c1c666004fb44b1c404",
"/chunks/profile~chunks/settings-password.js": "/chunks/profile~chunks/settings-password.js?id=d0a44ee2cc3e9882c14a",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=e00ee12cde704060e15b",
@@ -68,9 +68,9 @@
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=22e5c49d5b0a154e1a28",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=c6b88005b133268ed88f",
"/chunks/shared.js": "/chunks/shared.js?id=a2c4342bfddd4946cb85",
"/chunks/shared-files.js": "/chunks/shared-files.js?id=9560ed081afc308a115a",
"/chunks/shared-files.js": "/chunks/shared-files.js?id=8d6ff3bdf8b295fde3d0",
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=3d5c7754d438830a4204",
"/chunks/shared/file-browser.js": "/chunks/shared/file-browser.js?id=367a4e50adb8694ca080",
"/chunks/shared/file-browser.js": "/chunks/shared/file-browser.js?id=f46e9dc63c1313bc2256",
"/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=e8aedb75df7fe227d693",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=162161aa204ab6931826",
"/chunks/sign-up.js": "/chunks/sign-up.js?id=ce15b1156cf37c0a9703",
@@ -93,23 +93,81 @@
"/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~d5e36d91.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~d5e36d91.js?id=170765b4fd923b62195c",
"/vendors~chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser~ch~52c14f2e.js": "/vendors~chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser~ch~52c14f2e.js?id=66afa0e341251a68c3d3",
"/vendors~chunks/platform~chunks/shared.js": "/vendors~chunks/platform~chunks/shared.js?id=eb141834bc24b72d8e92",
"/js/main.c735c5b585be594e788e.hot-update.js": "/js/main.c735c5b585be594e788e.hot-update.js",
"/chunks/files.c735c5b585be594e788e.hot-update.js": "/chunks/files.c735c5b585be594e788e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.c735c5b585be594e788e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.c735c5b585be594e788e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser~chunks/shared/single-file.c735c5b585be594e788e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser~chunks/shared/single-file.c735c5b585be594e788e.hot-update.js",
"/chunks/files~chunks/shared/file-browser.c735c5b585be594e788e.hot-update.js": "/chunks/files~chunks/shared/file-browser.c735c5b585be594e788e.hot-update.js",
"/chunks/platform~chunks/shared.c735c5b585be594e788e.hot-update.js": "/chunks/platform~chunks/shared.c735c5b585be594e788e.hot-update.js",
"/js/main.a221fcac26c21dc2d62f.hot-update.js": "/js/main.a221fcac26c21dc2d62f.hot-update.js",
"/chunks/files.2f7c2b773b211c84bbfe.hot-update.js": "/chunks/files.2f7c2b773b211c84bbfe.hot-update.js",
"/chunks/files.56accf7443a3e796d634.hot-update.js": "/chunks/files.56accf7443a3e796d634.hot-update.js",
"/chunks/files.6f12724d593f5772a053.hot-update.js": "/chunks/files.6f12724d593f5772a053.hot-update.js",
"/chunks/shared/file-browser.8beb806e6fba8fc5b6f7.hot-update.js": "/chunks/shared/file-browser.8beb806e6fba8fc5b6f7.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.1710e94f3a5d12112c0a.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.1710e94f3a5d12112c0a.hot-update.js",
"/js/main.5c849f5f08dffdf3cba0.hot-update.js": "/js/main.5c849f5f08dffdf3cba0.hot-update.js",
"/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.5c849f5f08dffdf3cba0.hot-update.js": "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.5c849f5f08dffdf3cba0.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.5c849f5f08dffdf3cba0.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.5c849f5f08dffdf3cba0.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser~chunks/shared/single-file.5c849f5f08dffdf3cba0.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser~chunks/shared/single-file.5c849f5f08dffdf3cba0.hot-update.js",
"/chunks/platform~chunks/shared.5c849f5f08dffdf3cba0.hot-update.js": "/chunks/platform~chunks/shared.5c849f5f08dffdf3cba0.hot-update.js",
"/js/main.80e5082d1c4050f7af73.hot-update.js": "/js/main.80e5082d1c4050f7af73.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.c0e88f81e89f47892001.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.c0e88f81e89f47892001.hot-update.js"
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.ed4aa4d9cdbf399bb8eb.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.ed4aa4d9cdbf399bb8eb.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.2937f42c49871bbea723.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.2937f42c49871bbea723.hot-update.js",
"/js/main.b1a112ad8025b7e60222.hot-update.js": "/js/main.b1a112ad8025b7e60222.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.b1a112ad8025b7e60222.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.b1a112ad8025b7e60222.hot-update.js",
"/chunks/platform~chunks/shared.b1a112ad8025b7e60222.hot-update.js": "/chunks/platform~chunks/shared.b1a112ad8025b7e60222.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.1978470c56d801947def.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.1978470c56d801947def.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.130a1e368d7fa0f34231.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.130a1e368d7fa0f34231.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.958776fb22b8995b65cd.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.958776fb22b8995b65cd.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.e844b0db822a4765f50b.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.e844b0db822a4765f50b.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.eed0640f82236e5cbe2e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.eed0640f82236e5cbe2e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.295b6de96e933e1abf5a.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.295b6de96e933e1abf5a.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.d2e53d112b90ab60f9b3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.d2e53d112b90ab60f9b3.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.a6f06951b14f1b1907ef.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.a6f06951b14f1b1907ef.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.bfe1a757c4d7bc436983.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.bfe1a757c4d7bc436983.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.ddbf17c6ba23d3b72637.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.ddbf17c6ba23d3b72637.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.923405e122d9419dd175.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.923405e122d9419dd175.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.eb9af826d3ef230e299c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.eb9af826d3ef230e299c.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.03fab59547526170bcdb.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.03fab59547526170bcdb.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.eb59a5789483e851caca.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.eb59a5789483e851caca.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.4a93cb7f711f06b7b73c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.4a93cb7f711f06b7b73c.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.2f24027d58e270f1def3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.2f24027d58e270f1def3.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.1433160740dc1978d3c7.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.1433160740dc1978d3c7.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.0255a73df91d3e17f61e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.0255a73df91d3e17f61e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.deb78f7d49a111b8be99.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.deb78f7d49a111b8be99.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.bedefee114fc86a12a8e.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.bedefee114fc86a12a8e.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.a89ace5b05f0622976d4.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.a89ace5b05f0622976d4.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.7190c4b8cf084fa24bbd.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.7190c4b8cf084fa24bbd.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.2ad3802b22944072a4d8.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.2ad3802b22944072a4d8.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.0ae1abff12e4b773929d.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.0ae1abff12e4b773929d.hot-update.js",
"/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.e24dc34e1dd1897ee6c0.hot-update.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.e24dc34e1dd1897ee6c0.hot-update.js",
"/chunks/platform~chunks/shared.e24dc34e1dd1897ee6c0.hot-update.js": "/chunks/platform~chunks/shared.e24dc34e1dd1897ee6c0.hot-update.js",
"/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.dc5f9242a3f8d84783fa.hot-update.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.dc5f9242a3f8d84783fa.hot-update.js",
"/chunks/platform~chunks/shared.dc5f9242a3f8d84783fa.hot-update.js": "/chunks/platform~chunks/shared.dc5f9242a3f8d84783fa.hot-update.js",
"/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.1dcb1f3bffb904d1b929.hot-update.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.1dcb1f3bffb904d1b929.hot-update.js",
"/chunks/platform~chunks/shared.1dcb1f3bffb904d1b929.hot-update.js": "/chunks/platform~chunks/shared.1dcb1f3bffb904d1b929.hot-update.js",
"/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.1939c3343d4cf3b46a0c.hot-update.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.1939c3343d4cf3b46a0c.hot-update.js",
"/chunks/platform~chunks/shared.1939c3343d4cf3b46a0c.hot-update.js": "/chunks/platform~chunks/shared.1939c3343d4cf3b46a0c.hot-update.js",
"/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.063b0ee4345da70adbca.hot-update.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.063b0ee4345da70adbca.hot-update.js",
"/chunks/platform~chunks/shared.063b0ee4345da70adbca.hot-update.js": "/chunks/platform~chunks/shared.063b0ee4345da70adbca.hot-update.js",
"/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.6e59e9fb6c1024ffae9f.hot-update.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.6e59e9fb6c1024ffae9f.hot-update.js",
"/chunks/platform~chunks/shared.6e59e9fb6c1024ffae9f.hot-update.js": "/chunks/platform~chunks/shared.6e59e9fb6c1024ffae9f.hot-update.js",
"/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.946fe783b2951fb83ad6.hot-update.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.946fe783b2951fb83ad6.hot-update.js",
"/chunks/platform~chunks/shared.946fe783b2951fb83ad6.hot-update.js": "/chunks/platform~chunks/shared.946fe783b2951fb83ad6.hot-update.js",
"/chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser.38769a23b59d7739e363.hot-update.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser.38769a23b59d7739e363.hot-update.js",
"/chunks/platform~chunks/shared.38769a23b59d7739e363.hot-update.js": "/chunks/platform~chunks/shared.38769a23b59d7739e363.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.a7ac970765f1ccf5e744.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.a7ac970765f1ccf5e744.hot-update.js",
"/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.0b77da78d7cba5e44f79.hot-update.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.0b77da78d7cba5e44f79.hot-update.js",
"/chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser.0b77da78d7cba5e44f79.hot-update.js": "/chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser.0b77da78d7cba5e44f79.hot-update.js",
"/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser.96ba1d053470cd84ce0c.hot-update.js": "/chunks/admin~chunks/files~chunks/platform~chunks/shared~chunks/shared-files~chunks/shared/file-browser.96ba1d053470cd84ce0c.hot-update.js",
"/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.379cce4d30856289d2a7.hot-update.js": "/chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/pages~chunks/plans~chunks/s~38c276fc.379cce4d30856289d2a7.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.5e3b4e6a65f68ebe30bb.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.5e3b4e6a65f68ebe30bb.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.6395ad8cac595b416627.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.6395ad8cac595b416627.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.dc7430f6107a255d197c.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.dc7430f6107a255d197c.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.f8e1c189ceeb02889eec.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.f8e1c189ceeb02889eec.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.dfac663edd589f64965a.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.dfac663edd589f64965a.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.941c56631fe3a660e4d1.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.941c56631fe3a660e4d1.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.9f1e5d309095a5796eea.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.9f1e5d309095a5796eea.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.5989b812dc41d63d0e95.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.5989b812dc41d63d0e95.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.e013cd479fd19ccddbe6.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.e013cd479fd19ccddbe6.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.2f842129f3a669ae7cee.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.2f842129f3a669ae7cee.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.aae056665f8b17717d92.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.aae056665f8b17717d92.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.49d4ced729a9742cb3f2.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.49d4ced729a9742cb3f2.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.7cf4e81b5d68422276bf.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.7cf4e81b5d68422276bf.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.569c20f57bd85c4fc19b.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.569c20f57bd85c4fc19b.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.2c67a5984c60bb8d01e8.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.2c67a5984c60bb8d01e8.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.28dbba2a9ccf0ee8cdc9.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.28dbba2a9ccf0ee8cdc9.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.35051d6f63aad11ffc08.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.35051d6f63aad11ffc08.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.0721be1f89b784180af6.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.0721be1f89b784180af6.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.ab71a7222a0d30f81ef8.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.ab71a7222a0d30f81ef8.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.76bde307652b00bc2a85.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.76bde307652b00bc2a85.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.2c02bef2390fcfa0b2bc.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.2c02bef2390fcfa0b2bc.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.ddfded4daf0a6f6c3ef3.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.ddfded4daf0a6f6c3ef3.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared/file-browser.b8630bf97cecbcdeeeee.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared/file-browser.b8630bf97cecbcdeeeee.hot-update.js",
"/chunks/shared.9de81482771485cc031e.hot-update.js": "/chunks/shared.9de81482771485cc031e.hot-update.js",
"/chunks/shared.bdfc66c82b10d1d35405.hot-update.js": "/chunks/shared.bdfc66c82b10d1d35405.hot-update.js",
"/chunks/shared.2b099d8fdabce8e5b8bb.hot-update.js": "/chunks/shared.2b099d8fdabce8e5b8bb.hot-update.js",
"/chunks/shared.1b09868b437140d17e65.hot-update.js": "/chunks/shared.1b09868b437140d17e65.hot-update.js"
}
@@ -0,0 +1,51 @@
<template>
<div v-if="isVisible" class="popover-item">
<slot></slot>
</div>
</template>
<script>
import {events} from '@/bus'
export default {
name: 'PopoverItem',
props: [
'name'
],
data() {
return {
isVisible: false,
}
},
mounted() {
events.$on('popover:open', name => {
if (this.name === name) this.isVisible = !this.isVisible
})
events.$on('unClick', () => this.isVisible = false)
}
}
</script>
<style scoped lang="scss">
@import "@assets/vuefilemanager/_variables";
@import "@assets/vuefilemanager/_mixins";
.popover-item {
min-width: 250px;
position: absolute;
z-index: 9;
box-shadow: $shadow;
background: white;
border-radius: 8px;
overflow: hidden;
right: 0;
top: 50px;
}
@media (prefers-color-scheme: dark) {
.popover-item {
background: $dark_mode_foreground;
}
}
</style>
@@ -0,0 +1,18 @@
<template>
<div class="popover-wrapper">
<slot></slot>
</div>
</template>
<script>
export default {
name: 'PopoverWrapper',
}
</script>
<style scoped lang="scss">
.popover-wrapper {
position: relative;
}
</style>
@@ -0,0 +1,28 @@
<template>
<div class="toolbar-button-wrapper">
<slot></slot>
</div>
</template>
<script>
export default {
name: 'ToolbarWrapper',
}
</script>
<style scoped lang="scss">
.toolbar-button-wrapper {
margin-left: 28px;
display: flex;
align-items: center;
}
@media only screen and (max-width: 1024px) {
.toolbar-button-wrapper {
margin-left: 25px;
}
}
</style>
@@ -0,0 +1,21 @@
<template>
<div class="toolbar-tools">
<slot></slot>
</div>
</template>
<script>
export default {
name: 'ToolbarWrapper',
}
</script>
<style scoped lang="scss">
@import "@assets/vuefilemanager/_variables";
@import "@assets/vuefilemanager/_mixins";
.toolbar-tools {
text-align: right;
display: flex;;
}
</style>
@@ -1,61 +0,0 @@
<template>
<div v-if="isVisible" class="sorting-preview">
<FileSortingOptions />
</div>
</template>
<script>
import FileSortingOptions from '@/components/FilesView/FileSortingOptions'
import { events } from '@/bus'
export default {
name: 'DesktopSortingOptions',
components: {
FileSortingOptions
},
data () {
return {
isVisible: false
}
},
mounted () {
events.$on('sortingAndPreview', (state) => {
this.isVisible = state
})
events.$on('unClick', () => {
this.isVisible = false
})
}
}
</script>
<style scoped lang="scss">
@import "@assets/vuefilemanager/_variables";
@import "@assets/vuefilemanager/_mixins";
.sorting-preview {
min-width: 250px;
position: absolute;
z-index: 99;
box-shadow: $shadow;
background: white;
border-radius: 8px;
overflow: hidden;
right: 66px;
top: 63px;
&.showed {
display: block;
}
}
@media (prefers-color-scheme: dark) {
.sorting-preview {
background: $dark_mode_foreground;
}
}
</style>
@@ -2,412 +2,351 @@
<div id="desktop-toolbar">
<div class="toolbar-wrapper">
<!-- Go back-->
<div class="toolbar-go-back" v-if="homeDirectory">
<div @click="goBack" class="go-back-button">
<chevron-left-icon size="17" :class="{ 'is-active': browseHistory.length > 1 }" class="icon-back"></chevron-left-icon>
<div v-if="homeDirectory" @click="goBack" class="location">
<chevron-left-icon :class="{'is-active': browseHistory.length > 1 }" class="icon-back" size="17" />
<span class="back-directory-title">
{{ directoryName }}
</span>
<span class="location-title">
{{ directoryName }}
</span>
<span @click.stop="folderActions" v-if="browseHistory.length > 1 && $isThisLocation(['base', 'public'])" class="folder-options group" id="folder-actions">
<more-horizontal-icon size="14" class="icon-more group-hover-text-theme" />
</span>
</div>
</div>
<span @click.stop="folderActions" v-if="browseHistory.length > 1 && $isThisLocation(['base', 'public'])" class="location-more group" id="folder-actions">
<more-horizontal-icon size="14" class="icon-more group-hover-text-theme" />
</span>
</div>
<!-- Tools-->
<div class="toolbar-tools">
<ToolbarWrapper>
<!--Search bar-->
<div class="toolbar-button-wrapper">
<SearchBar v-model="query" @reset-query="query = ''" :placeholder="$t('inputs.placeholder_search_files')" />
</div>
<!--Search bar-->
<ToolbarGroup style="margin-left: 0">
<SearchBar v-model="query" @reset-query="query = ''" :placeholder="$t('inputs.placeholder_search_files')" />
</ToolbarGroup>
<!--Creating controls-->
<div class="toolbar-button-wrapper" v-if="$checkPermission(['master', 'editor'])">
<ToolbarButtonUpload :class="{ 'is-inactive': canUploadInView || !hasCapacity }" :action="$t('actions.upload')"/>
<ToolbarButton :class="{ 'is-inactive': canCreateFolderInView }" @click.native="createFolder" source="folder-plus" :action="$t('actions.create_folder')"/>
</div>
<!--Creating controls-->
<ToolbarGroup v-if="$checkPermission(['master', 'editor'])">
<ToolbarButtonUpload :class="{'is-inactive': canUploadInView || !hasCapacity }" :action="$t('actions.upload')" />
<ToolbarButton @click.native="createFolder" :class="{'is-inactive': canCreateFolderInView }" source="folder-plus" :action="$t('actions.create_folder')" />
</ToolbarGroup>
<!--File Controls-->
<div class="toolbar-button-wrapper" v-if="$checkPermission(['master', 'editor']) && ! $isMobile()">
<ToolbarButton source="move" :class="{ 'is-inactive': canMoveInView }" :action="$t('actions.move')" @click.native="moveItem"/>
<ToolbarButton v-if="!$isThisLocation(['public'])" source="share" :class="{ 'is-inactive': canShareInView }" :action="$t('actions.share')" @click.native="shareItem"/>
<ToolbarButton source="trash" :class="{ 'is-inactive': canDeleteInView }" :action="$t('actions.delete')" @click.native="deleteItem"/>
</div>
<!--File Controls-->
<ToolbarGroup v-if="$checkPermission(['master', 'editor']) && ! $isMobile()">
<ToolbarButton @click.native="moveItem" :class="{'is-inactive': canMoveInView }" source="move" :action="$t('actions.move')" />
<ToolbarButton @click.native="shareItem" v-if="!$isThisLocation(['public'])" :class="{'is-inactive': canShareInView }" source="share" :action="$t('actions.share')" />
<ToolbarButton @click.native="deleteItem" :class="{'is-inactive': canDeleteInView }" source="trash" :action="$t('actions.delete')" />
</ToolbarGroup>
<!--View Controls-->
<div class="toolbar-button-wrapper">
<ToolbarButton source="preview-sorting" class="preview-sorting" :action="$t('actions.sorting_view')" :class="{ active: sortingAndPreview }" @click.stop.native="sortingAndPreview = !sortingAndPreview"/>
<ToolbarButton :action="$t('actions.info_panel')" :class="{ active: fileInfoVisible }" @click.native="$store.dispatch('fileInfoToggle')" source="info"/>
</div>
</div>
<!--View Controls-->
<ToolbarGroup>
<PopoverWrapper>
<ToolbarButton @click.stop.native="showSortingMenu" source="preview-sorting" :action="$t('actions.sorting_view')" />
<PopoverItem name="desktop-sorting">
<FileSortingOptions />
</PopoverItem>
</PopoverWrapper>
<ToolbarButton @click.native="$store.dispatch('fileInfoToggle')" :class="{'active': fileInfoVisible }" :action="$t('actions.info_panel')" source="info" />
</ToolbarGroup>
</ToolbarWrapper>
</div>
<UploadProgress/>
<UploadProgress />
</div>
</template>
<script>
import ToolbarButtonUpload from '@/components/FilesView/ToolbarButtonUpload'
import { ChevronLeftIcon, MoreHorizontalIcon } from 'vue-feather-icons'
import SearchBar from '@/components/FilesView/SearchBar'
import UploadProgress from '@/components/FilesView/UploadProgress'
import ToolbarButton from '@/components/FilesView/ToolbarButton'
import {debounce, last} from 'lodash'
import { mapGetters } from 'vuex'
import { events } from '@/bus'
import ToolbarButtonUpload from '@/components/FilesView/ToolbarButtonUpload'
import FileSortingOptions from '@/components/FilesView/FileSortingOptions'
import {ChevronLeftIcon, MoreHorizontalIcon} from 'vue-feather-icons'
import UploadProgress from '@/components/FilesView/UploadProgress'
import PopoverWrapper from '@/components/Desktop/PopoverWrapper'
import ToolbarWrapper from '@/components/Desktop/ToolbarWrapper'
import ToolbarButton from '@/components/FilesView/ToolbarButton'
import ToolbarGroup from '@/components/Desktop/ToolbarGroup'
import PopoverItem from '@/components/Desktop/PopoverItem'
import SearchBar from '@/components/FilesView/SearchBar'
import {debounce, last} from 'lodash'
import {mapGetters} from 'vuex'
import {events} from '@/bus'
export default {
name: 'ToolBar',
components: {
ToolbarButtonUpload,
MoreHorizontalIcon,
ChevronLeftIcon,
UploadProgress,
ToolbarButton,
SearchBar
},
computed: {
...mapGetters([
'FilePreviewType',
'fileInfoVisible',
'clipboard',
'currentFolder',
'browseHistory',
'homeDirectory'
]),
hasCapacity() {
// Check if storage limitation is set
if (!this.$store.getters.config.storageLimit) return true
export default {
name: 'ToolBar',
components: {
ToolbarButtonUpload,
FileSortingOptions,
MoreHorizontalIcon,
ChevronLeftIcon,
ToolbarWrapper,
UploadProgress,
PopoverWrapper,
ToolbarButton,
ToolbarGroup,
PopoverItem,
SearchBar,
},
computed: {
...mapGetters([
'FilePreviewType',
'fileInfoVisible',
'currentFolder',
'browseHistory',
'homeDirectory',
'clipboard',
]),
hasCapacity() {
// Check if storage limitation is set
if (!this.$store.getters.config.storageLimit) return true
// Check if user is loaded
if (!this.$store.getters.user) return true
// Check if user is loaded
if (!this.$store.getters.user) return true
// Check if user has storage
return this.$store.getters.user.data.attributes.storage.used <= 100
},
directoryName() {
return this.currentFolder
? this.currentFolder.name
: this.homeDirectory.name
},
preview() {
return this.FilePreviewType === 'list' ? 'th' : 'th-list'
},
canCreateFolderInView() {
return !this.$isThisLocation(['base', 'public'])
},
canDeleteInView() {
let locations = [
'trash',
'trash-root',
'base',
'participant_uploads',
'latest',
'shared',
'public'
]
return !this.$isThisLocation(locations) || this.clipboard.length === 0
},
canUploadInView() {
return !this.$isThisLocation(['base', 'public'])
},
canMoveInView() {
let locations = [
'base',
'participant_uploads',
'latest',
'shared',
'public'
]
return !this.$isThisLocation(locations) || this.clipboard.length === 0
// Check if user has storage
return this.$store.getters.user.data.attributes.storage.used <= 100
},
directoryName() {
return this.currentFolder
? this.currentFolder.name
: this.homeDirectory.name
},
preview() {
return this.FilePreviewType === 'list'
? 'th'
: 'th-list'
},
canCreateFolderInView() {
return !this.$isThisLocation(['base', 'public'])
},
canDeleteInView() {
let locations = [
'participant_uploads',
'trash-root',
'latest',
'shared',
'public',
'trash',
'base',
]
return !this.$isThisLocation(locations) || this.clipboard.length === 0
},
canUploadInView() {
return !this.$isThisLocation(['base', 'public'])
},
canMoveInView() {
let locations = [
'participant_uploads',
'latest',
'shared',
'public',
'base',
]
return !this.$isThisLocation(locations) || this.clipboard.length === 0
},
canShareInView() {
let locations = [
'participant_uploads',
'latest',
'shared',
'public',
'base',
]
return !this.$isThisLocation(locations) || this.clipboard.length > 1 || this.clipboard.length === 0
}
},
data() {
return {
query: '',
}
},
watch: {
query: debounce(function (value) {
},
canShareInView() {
let locations = [
'base',
'participant_uploads',
'latest',
'shared',
'public'
]
if (this.query !== '' && typeof this.query !== 'undefined') {
return !this.$isThisLocation(locations) || this.clipboard.length > 1 || this.clipboard.length === 0
}
},
data() {
return {
sortingAndPreview: false,
query: '',
}
},
watch: {
sortingAndPreview() {
if (this.sortingAndPreview) {
events.$emit('sortingAndPreview', true)
}
this.$store.dispatch('getSearchResult', value)
if (!this.sortingAndPreview) {
events.$emit('unClick')
}
},
query: debounce(function (value) {
} else if (typeof value !== 'undefined') {
if (this.query !== '' && typeof this.query !== 'undefined') {
if (this.currentFolder) {
this.$store.dispatch('getSearchResult', value)
// Get back after delete query to previously folder
if (this.$isThisLocation('public')) {
this.$store.dispatch('browseShared', [{folder: this.currentFolder, back: true, init: false}])
} else {
this.$store.dispatch('getFolder', [{folder: this.currentFolder, back: true, init: false}])
}
}
} else if (typeof value !== 'undefined') {
this.$store.commit('CHANGE_SEARCHING_STATE', false)
}
}, 300),
},
methods: {
showSortingMenu() {
events.$emit('popover:open', 'desktop-sorting')
},
goBack() {
let previousFolder = last(this.browseHistory)
if (this.currentFolder) {
if (!previousFolder) return
// Get back after delete query to previously folder
if (this.$isThisLocation('public')) {
this.$store.dispatch('browseShared', [{folder: this.currentFolder, back: true, init: false}])
} else {
this.$store.dispatch('getFolder', [{folder: this.currentFolder, back: true, init: false}])
}
}
if (previousFolder.location === 'trash-root') {
this.$store.dispatch('getTrash')
this.$store.commit('CHANGE_SEARCHING_STATE', false)
}
}, 300),
},
methods: {
goBack() {
// Get previous folder
let previousFolder = last(this.browseHistory)
} else if (previousFolder.location === 'shared') {
this.$store.dispatch('getShared')
if (!previousFolder) return
} else {
if (this.$isThisLocation('public')) {
this.$store.dispatch('browseShared', [
{folder: previousFolder, back: true, init: false}
])
} else {
this.$store.dispatch('getFolder', [
{folder: previousFolder, back: true, init: false}
])
}
}
},
folderActions() {
events.$emit('folder:actions', this.currentFolder)
},
deleteItem() {
if (this.clipboard.length > 0)
this.$store.dispatch('deleteItem')
},
createFolder() {
this.$store.dispatch('createFolder', {name: this.$t('popup_create_folder.folder_default_name')})
},
moveItem() {
if (this.clipboard.length > 0)
events.$emit('popup:open', {name: 'move', item: this.clipboard})
},
shareItem() {
let event = this.clipboard[0].shared
? 'share-edit'
: 'share-create'
if (previousFolder.location === 'trash-root') {
this.$store.dispatch('getTrash')
} else if (previousFolder.location === 'shared') {
this.$store.dispatch('getShared')
} else {
if (this.$isThisLocation('public')) {
this.$store.dispatch('browseShared', [
{ folder: previousFolder, back: true, init: false }
])
} else {
this.$store.dispatch('getFolder', [
{ folder: previousFolder, back: true, init: false }
])
}
}
},
folderActions() {
events.$emit('folder:actions', this.currentFolder)
},
deleteItem() {
if (this.clipboard.length > 0)
this.$store.dispatch('deleteItem')
},
createFolder() {
this.$store.dispatch('createFolder', {name: this.$t('popup_create_folder.folder_default_name')})
},
moveItem() {
if (this.clipboard.length > 0)
events.$emit('popup:open', { name: 'move', item: this.clipboard })
},
shareItem() {
let event = this.clipboard[0].shared
? 'share-edit'
: 'share-create'
events.$emit('popup:open', {
name: event,
item: this.clipboard[0]
})
}
},
mounted() {
events.$on('unClick', () => {
this.sortingAndPreview = false
})
}
}
events.$emit('popup:open', {
name: event,
item: this.clipboard[0]
})
}
},
}
</script>
<style scoped lang="scss">
@import "@assets/vuefilemanager/_variables";
@import "@assets/vuefilemanager/_mixins";
.preview-sorting {
/deep/ .label {
color: $text !important;
}
.is-inactive {
opacity: 0.25;
pointer-events: none;
}
.toolbar-wrapper {
padding-top: 10px;
padding-bottom: 10px;
display: flex;
position: relative;
z-index: 2;
> div {
flex-grow: 1;
align-self: center;
white-space: nowrap;
}
padding-top: 10px;
padding-bottom: 10px;
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
z-index: 2;
}
.directory-name {
vertical-align: middle;
@include font-size(17);
color: $text;
font-weight: 700;
max-width: 220px;
overflow: hidden;
text-overflow: ellipsis;
display: inline-block;
}
.location {
align-items: center;
cursor: pointer;
display: flex;
.icon-back {
vertical-align: middle;
cursor: pointer;
margin-right: 6px;
opacity: 0.15;
pointer-events: none;
@include transition(150ms);
.icon-back {
@include transition(150ms);
pointer-events: none;
margin-right: 6px;
flex-shrink: 0;
opacity: 0.15;
&.is-active {
opacity: 1;
pointer-events: initial;
}
}
&.is-active {
opacity: 1;
pointer-events: initial;
}
}
.toolbar-go-back {
cursor: pointer;
.location-title {
@include font-size(15);
line-height: 1;
font-weight: 700;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: $text;
}
.folder-options {
vertical-align: middle;
margin-left: 6px;
padding: 1px 4px;
line-height: 0;
border-radius: 3px;
@include transition(150ms);
.location-more {
margin-left: 6px;
padding: 1px 4px;
line-height: 0;
border-radius: 3px;
@include transition(150ms);
svg circle {
@include transition(150ms);
}
svg circle {
@include transition(150ms);
}
&:hover {
background: $light_background;
&:hover {
background: $light_background;
svg circle {
color: inherit;
}
}
.icon-more {
vertical-align: middle;
}
}
.back-directory-title {
@include font-size(15);
line-height: 1;
font-weight: 700;
overflow: hidden;
text-overflow: ellipsis;
display: inline-block;
vertical-align: middle;
color: $text;
}
svg circle {
color: inherit;
}
}
}
}
.toolbar-position {
text-align: center;
text-align: center;
span {
@include font-size(17);
font-weight: 600;
}
}
.toolbar-tools {
text-align: right;
.toolbar-button-wrapper {
margin-left: 28px;
display: inline-block;
vertical-align: middle;
&:first-child {
margin-left: 0 !important;
}
}
.button {
margin-left: 5px;
&.active {
&.preview-sorting {
background: $light_background;
}
}
&.is-inactive {
opacity: 0.25;
pointer-events: none;
}
&:first-child {
margin-left: 0;
}
}
span {
@include font-size(17);
font-weight: 600;
}
}
@media only screen and (max-width: 1024px) {
.toolbar-go-back .back-directory-title {
max-width: 120px;
}
.location {
.toolbar-tools {
.button {
margin-left: 0;
height: 40px;
width: 40px;
}
.location-title {
max-width: 120px;
}
}
.toolbar-button-wrapper {
margin-left: 25px;
}
}
.toolbar-tools {
.button {
margin-left: 0;
height: 40px;
width: 40px;
}
}
}
@media only screen and (max-width: 960px) {
#desktop-toolbar {
display: none;
}
#desktop-toolbar {
display: none;
}
}
@media (prefers-color-scheme: dark) {
.toolbar .directory-name {
color: $dark_mode_text_primary;
}
.toolbar .directory-name {
color: $dark_mode_text_primary;
}
.toolbar-go-back {
.back-directory-title {
color: $dark_mode_text_primary;
}
.toolbar-go-back {
.location-title {
color: $dark_mode_text_primary;
}
.folder-options {
&:hover {
background: $dark_mode_foreground;
}
}
}
.active {
&.preview-sorting {
background: $dark_mode_foreground !important;
}
}
.location-more {
&:hover {
background: $dark_mode_foreground;
}
}
}
}
</style>
+70 -66
View File
@@ -7,31 +7,31 @@
<h1 class="title">{{ $t('shared.empty_shared') }}</h1>
</div>
<!--Trash empty message-->
<!--Trash empty message-->
<div class="text-content" v-if="$isThisLocation(['trash', 'trash-root']) && ! isLoading">
<h1 class="title">{{ $t('empty_page.title') }}</h1>
</div>
<!--Trash empty message-->
<!--Trash empty message-->
<div class="text-content" v-if="$isThisLocation(['participant_uploads']) && ! isLoading">
<h1 class="title">{{ $t('messages.nothing_from_participants') }}</h1>
</div>
<!--Base file browser empty message-->
<!--Base file browser empty message-->
<div class="text-content" v-if="$isThisLocation(['base', 'public', 'latest']) && !isLoading">
<h1 class="title">{{ $t('empty_page.title') }}</h1>
<p v-if="$checkPermission(['master', 'editor'])" class="description">{{ $t('empty_page.description') }}</p>
<ButtonUpload
v-if="$checkPermission(['master', 'editor'])"
button-style="theme"
>
v-if="$checkPermission(['master', 'editor'])"
button-style="theme"
>
{{ $t('empty_page.call_to_action') }}
</ButtonUpload>
</div>
<!--Spinner-->
<!--Spinner-->
<div class="text-content" v-if="isLoading">
<Spinner/>
<Spinner />
</div>
</div>
</div>
@@ -39,75 +39,79 @@
<script>
import ButtonUpload from '@/components/FilesView/ButtonUpload'
import Spinner from '@/components/FilesView/Spinner'
import {mapGetters} from 'vuex'
import Spinner from '@/components/FilesView/Spinner'
import {mapGetters} from 'vuex'
export default {
name: 'EmptyPage',
props: ['title', 'description'],
components: {
ButtonUpload,
Spinner
},
computed: {
...mapGetters(['entries', 'isLoading', 'currentFolder']),
isEmpty() {
return this.entries && this.entries.length == 0
}
}
}
export default {
name: 'EmptyPage',
props: ['title', 'description'],
components: {
ButtonUpload,
Spinner
},
computed: {
...mapGetters([
'entries',
'isLoading',
'currentFolder'
]),
isEmpty() {
return this.entries && this.entries.length == 0
}
}
}
</script>
<style scoped lang="scss">
@import '@assets/vuefilemanager/_variables';
@import '@assets/vuefilemanager/_mixins';
@import '@assets/vuefilemanager/_mixins';
.empty-page {
position: absolute;
left: 0;
right: 0;
bottom: 0;
top: 0;
margin-top: 85px;
display: flex;
align-items: center;
.empty-page {
position: absolute;
left: 0;
right: 0;
bottom: 0;
top: 0;
margin-top: 85px;
display: flex;
align-items: center;
.empty-state {
margin: 0 auto;
padding-left: 15px;
padding-right: 15px;
}
}
.empty-state {
margin: 0 auto;
padding-left: 15px;
padding-right: 15px;
}
}
.text-content {
text-align: center;
margin: 30px 0;
.text-content {
text-align: center;
margin: 30px 0;
.title {
@include font-size(20);
color: $text;
font-weight: 700;
margin: 0;
}
.title {
@include font-size(20);
color: $text;
font-weight: 700;
margin: 0;
}
.description {
@include font-size(13);
color: $text-muted;
margin-bottom: 20px;
display: block;
}
}
.description {
@include font-size(13);
color: $text-muted;
margin-bottom: 20px;
display: block;
}
}
@media (prefers-color-scheme: dark) {
.text-content {
@media (prefers-color-scheme: dark) {
.text-content {
.title {
color: $dark_mode_text_primary;
}
.title {
color: $dark_mode_text_primary;
}
.description {
color: $dark_mode_text_secondary;
}
}
}
.description {
color: $dark_mode_text_secondary;
}
}
}
</style>
@@ -1,5 +1,5 @@
<template>
<svg class="preview-list-icon" fill="none" stroke="currentColor" stroke-width="1.5" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" width="15px" height="15px" viewBox="0 0 20 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg class="preview-list-icon" fill="none" stroke="currentColor" stroke-width="1.5" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" width="20px" height="20px" viewBox="0 0 20 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<rect x="9.77777778" y="0" width="6.22222222" height="6.22222222"></rect>
<rect x="9.77777778" y="9.77777778" width="6.22222222" height="6.22222222"></rect>
<line x1="0" y1="2" x2="6" y2="2"></line>
@@ -13,7 +13,7 @@
<x-square-icon v-if="icon === 'x-square'" size="15" class="icon dark-text-theme" />
<check-icon v-if="icon === 'check'" size="15" class="icon dark-text-theme" />
<dollar-sign-icon v-if="icon === 'dollar-sign'" size="15" class="icon dark-text-theme" />
<sorting-and-preview-icon v-if="icon === 'preview-sorting'" size="15" class="icon dark-text-theme preview-sorting" />
<sorting-icon v-if="icon === 'preview-sorting'" class="icon dark-text-theme preview-sorting" />
<span class="label">
<slot></slot>
</span>
@@ -23,7 +23,7 @@
<script>
import { FilterIcon, DollarSignIcon, CheckIcon, XSquareIcon, CheckSquareIcon, FolderPlusIcon, ListIcon, GridIcon, TrashIcon, UserPlusIcon, PlusIcon, CreditCardIcon } from 'vue-feather-icons'
import SortingAndPreviewIcon from '@/components/FilesView/Icons/SortingAndPreviewIcon'
import SortingIcon from '@/components/FilesView/Icons/SortingIcon'
export default {
name: 'MobileActionButton',
@@ -31,7 +31,7 @@
'icon'
],
components: {
SortingAndPreviewIcon,
SortingIcon,
CheckSquareIcon,
DollarSignIcon,
CreditCardIcon,
@@ -70,7 +70,7 @@
margin-right: 10px;
@include font-size(14);
path, line, polyline, rect, circle {
path, line, polyline, rect, circle, polygon {
@include transition(150ms);
}
}
@@ -91,7 +91,7 @@
.mobile-action-button {
background: $dark_mode_foreground;
path, line, polyline, rect, circle {
path, line, polyline, rect, circle, polygon {
color: inherit;
}
+1 -1
View File
@@ -179,7 +179,7 @@ import {
.menu-option {
color: $dark_mode_text_primary;
&:hover {
&:hover:not(.hover-disabled) {
background: lighten($dark_mode_foreground, 2%);
}
}
@@ -14,11 +14,12 @@
<link-icon v-if="source === 'share'" size="19" />
<x-icon v-if="source === 'close'" size="19" />
<cloud-off-icon v-if="source === 'shared-off'" size="19" />
<sorting-and-preview-icon v-if="source === 'preview-sorting'" size="19" class="preview-sorting"/>
<sorting-icon v-if="source === 'preview-sorting'" class="preview-sorting"/>
</button>
</template>
<script>
import SortingIcon from '@/components/FilesView/Icons/SortingIcon'
import {
CornerDownRightIcon,
DownloadCloudIcon,
@@ -35,7 +36,6 @@
LinkIcon,
XIcon,
} from "vue-feather-icons";
import SortingAndPreviewIcon from '@/components/FilesView/Icons/SortingAndPreviewIcon'
export default {
name: "ToolbarButton",
@@ -44,7 +44,7 @@
'action'
],
components: {
SortingAndPreviewIcon,
SortingIcon,
CornerDownRightIcon,
DownloadCloudIcon,
FolderPlusIcon,
@@ -1,32 +1,24 @@
<template>
<div @contextmenu.prevent.capture="contextMenu($event, undefined)"
id="files-view">
<ContextMenu/>
<DesktopSortingAndPreview/>
<DesktopToolbar/>
<div @contextmenu.prevent.capture="contextMenu($event, undefined)" id="files-view">
<DesktopToolbar/>
<ContextMenu />
<FileBrowser/>
</div>
</template>
<script>
import DesktopSortingAndPreview from '@/components/FilesView/DesktopSortingAndPreview'
import DesktopToolbar from '@/components/FilesView/DesktopToolbar'
import FileBrowser from '@/components/FilesView/FileBrowser'
import ContextMenu from '@/components/FilesView/ContextMenu'
import {mapGetters} from 'vuex'
import ContextMenu from '@/components/FilesView/ContextMenu'
import {events} from '@/bus'
export default {
name: 'FilesView',
components: {
DesktopSortingAndPreview,
DesktopToolbar,
FileBrowser,
ContextMenu,
},
computed: {
...mapGetters(['config']),
},
methods: {
contextMenu(event, item) {
events.$emit('contextMenu:show', event, item)
@@ -36,8 +28,6 @@
</script>
<style lang="scss">
@import '@assets/vuefilemanager/_variables';
@import '@assets/vuefilemanager/_mixins';
#files-view {
font-family: 'Nunito', sans-serif;
@@ -28,14 +28,11 @@
<DesktopToolbar />
<FileBrowser />
<DesktopSortingAndPreview />
</div>
</div>
</template>
<script>
import DesktopSortingAndPreview from '@/components/FilesView/DesktopSortingAndPreview'
import TreeMenuNavigator from '@/components/Others/TreeMenuNavigator'
import DesktopToolbar from '@/components/FilesView/DesktopToolbar'
import ContentSidebar from '@/components/Sidebar/ContentSidebar'
@@ -49,7 +46,6 @@
export default {
name: 'SharedFileBrowser',
components: {
DesktopSortingAndPreview,
TreeMenuNavigator,
ContentSidebar,
DesktopToolbar,