Merge remote-tracking branch 'origin/upload-fix'

# Conflicts:
#	public/mix-manifest.json
This commit is contained in:
Peter Papp
2021-02-25 15:23:09 +01:00
8 changed files with 372 additions and 273 deletions
+140 -63
View File
@@ -1,65 +1,142 @@
{
"/chunks/files~chunks/shared-files~chunks/shared-page.js": "/chunks/files~chunks/shared-files~chunks/shared-page.js?id=3063523dc4a3aee7ac59",
"/js/main.js": "/js/main.js?id=0229401b7e8985e5572a",
"/css/app.css": "/css/app.css?id=dfd52fc997b919cd3686",
"/chunks/admin.js": "/chunks/admin.js?id=7672646537b5813becf0",
"/chunks/admin-account.js": "/chunks/admin-account.js?id=3f5a34aa8341af8d2b4c",
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=9ec9a42482cb302a05f6",
"/chunks/app-billings.js": "/chunks/app-billings.js?id=92903bd1d316b3db1dfa",
"/chunks/app-email.js": "/chunks/app-email.js?id=9d646578982ba61813b6",
"/chunks/app-index.js": "/chunks/app-index.js?id=4623bd961647897a5b81",
"/chunks/app-others.js": "/chunks/app-others.js?id=b19a701cdfa06e4817ff",
"/chunks/app-payments.js": "/chunks/app-payments.js?id=11c86d822269f1a1577e",
"/chunks/app-settings.js": "/chunks/app-settings.js?id=6784314933372fb1adf0",
"/chunks/app-setup.js": "/chunks/app-setup.js?id=d304bcf7d4157e81f3e2",
"/chunks/billings-detail.js": "/chunks/billings-detail.js?id=b73a5b6f7d2a448cc5ab",
"/chunks/contact-us.js": "/chunks/contact-us.js?id=81906d205ba0107c5105",
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=004908727045abd0852e",
"/chunks/dashboard.js": "/chunks/dashboard.js?id=cdfd468f0d0f98b9f081",
"/chunks/database.js": "/chunks/database.js?id=b8d8269f77c52f78c784",
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=2e3af103d13536c50757",
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=106f81cefe76c62d476e",
"/chunks/files.js": "/chunks/files.js?id=b213d4fe15c2a9933f32",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=95ce5e5685dc9315f515",
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=6db12008aa646ad5fb6f",
"/chunks/invoices.js": "/chunks/invoices.js?id=83389adf0760820af6f5",
"/chunks/landing-page.js": "/chunks/landing-page.js?id=546ed735edf0d80c8a7e",
"/chunks/not-found-shared.js": "/chunks/not-found-shared.js?id=848666d6c49c613f7f99",
"/chunks/page-edit.js": "/chunks/page-edit.js?id=bd41ae13951c2a5025c3",
"/chunks/pages.js": "/chunks/pages.js?id=df7245abef9e3b77a218",
"/chunks/plan.js": "/chunks/plan.js?id=cfd7b4ee7e21639a837d",
"/chunks/plan-create.js": "/chunks/plan-create.js?id=9bb62af36193ee9648d3",
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=7b7601f044e0ef47720b",
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=8d3e75ff9adb22a25d57",
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=3b4a29497fc878f503db",
"/chunks/plans.js": "/chunks/plans.js?id=feb924949bffcdf3d9fb",
"/chunks/profile.js": "/chunks/profile.js?id=f990697f8d4ff45df434",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=5d7406ecd84c676db8fb",
"/chunks/settings.js": "/chunks/settings.js?id=d16d9e2cda6aa3a3f6dc",
"/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=b05e24dd8be60f62ee27",
"/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=72d317b39264987e6ed0",
"/chunks/settings-password.js": "/chunks/settings-password.js?id=014597c63c94d3ac9f60",
"/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=2a0ea9cf661deba6fc13",
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=b3f25de02dd4ef072df0",
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=aa3d963f578d7bc5ff88",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=47090233afc7b0cdf855",
"/chunks/shared-files.js": "/chunks/shared-files.js?id=ba10fd3f52a7b62d3092",
"/chunks/shared-page.js": "/chunks/shared-page.js?id=4489cb4cfa33fb249bea",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=c52ce81c3dad56d7a7d8",
"/chunks/sign-up.js": "/chunks/sign-up.js?id=2f12850d320b2413cf54",
"/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=6622381f1d96e8319999",
"/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=f1b093a3bcfebd5bc8a5",
"/chunks/subscription-service.js": "/chunks/subscription-service.js?id=e0e2f821aac16b32da34",
"/chunks/upgrade.js": "/chunks/upgrade.js?id=0c8d40bed72e86359529",
"/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js?id=a8db2246f9326e5c5957",
"/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js?id=f050f10627424b730dc2",
"/chunks/user.js": "/chunks/user.js?id=6f2ab796211a3ac8670f",
"/chunks/user-create.js": "/chunks/user-create.js?id=0d630acda4552c315417",
"/chunks/user-delete.js": "/chunks/user-delete.js?id=db041eae3aef3e45197a",
"/chunks/user-detail.js": "/chunks/user-detail.js?id=8cf2fe554e8d67ac8677",
"/chunks/user-invoices.js": "/chunks/user-invoices.js?id=a0613909cb0c21817804",
"/chunks/user-password.js": "/chunks/user-password.js?id=653bba3eb8d117c3a043",
"/chunks/user-storage.js": "/chunks/user-storage.js?id=630b0ff649e16d3627af",
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=0b4226ba77f10b83de4a",
"/chunks/users.js": "/chunks/users.js?id=04ca09662595fae56488"
"/js/main.js": "/js/main.js",
"/css/app.css": "/css/app.css",
"/chunks/admin.js": "/chunks/admin.js?id=06067d0f4cff64abd1e4",
"/chunks/admin-account.js": "/chunks/admin-account.js?id=fde37ee0820a1d2dc1f9",
"/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~2d9ff916.js": "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~2d9ff916.js?id=1ad1b7b56512338223eb",
"/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~01aef58e.js": "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~01aef58e.js?id=6c02fe91a2e167b63a98",
"/chunks/admin~chunks/files~chunks/settings~chunks/shared-files~chunks/shared-page.js": "/chunks/admin~chunks/files~chunks/settings~chunks/shared-files~chunks/shared-page.js?id=50155ecdafab2d18dda1",
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=ba3c9a7acbaacc20af9e",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~605f4c49.js?id=fd3c7242b5c765b469e4",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~8cc7d96f.js?id=60421d0349712350e866",
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~b9e5655a.js?id=a8bd98f9f181d9ee68fd",
"/chunks/app-billings.js": "/chunks/app-billings.js?id=97f5c44884d8c2128c56",
"/chunks/app-email.js": "/chunks/app-email.js?id=59c27449f65145dc208e",
"/chunks/app-index.js": "/chunks/app-index.js?id=4c5894cf174848d787bf",
"/chunks/app-others.js": "/chunks/app-others.js?id=1655c151466b066ee1c5",
"/chunks/app-payments.js": "/chunks/app-payments.js?id=cb8ea484a0e605ace175",
"/chunks/app-settings.js": "/chunks/app-settings.js?id=e8ee87b4fb155d3edb6b",
"/chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pages~chunks/plan~chunk~8a0e1d25.js": "/chunks/app-settings~chunks/dashboard~chunks/invoices~chunks/page-edit~chunks/pages~chunks/plan~chunk~8a0e1d25.js?id=99eb5ed6af46738c97e0",
"/chunks/app-setup.js": "/chunks/app-setup.js?id=777ebaef548d5b4c61be",
"/chunks/billings-detail.js": "/chunks/billings-detail.js?id=0eec974c6f0ee4e6ecab",
"/chunks/contact-us.js": "/chunks/contact-us.js?id=b243adc35233292f8ad6",
"/chunks/contact-us~chunks/dynamic-page~chunks/landing-page.js": "/chunks/contact-us~chunks/dynamic-page~chunks/landing-page.js?id=96ac1ede73f3fc9afa37",
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=00b75239db203720652c",
"/chunks/dashboard.js": "/chunks/dashboard.js?id=887b8d232e3944beebdd",
"/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js": "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js?id=d7795f20187163939276",
"/chunks/database.js": "/chunks/database.js?id=212e2d81f6f5c54c2dd2",
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=1d8ee4bfbcde69c97021",
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=374911110bca4e1b3f91",
"/chunks/files.js": "/chunks/files.js?id=d47d2964ef535ad5754c",
"/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/user-subscription.js": "/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/user-subscription.js?id=e285e842f58178d681c4",
"/chunks/files~chunks/shared-files~chunks/shared-page.js": "/chunks/files~chunks/shared-files~chunks/shared-page.js?id=cad83f4858c7bd58947f",
"/chunks/files~chunks/shared-page.js": "/chunks/files~chunks/shared-page.js?id=539a5b88c5f32511449e",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=f430110273d76b28906f",
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=94c75dac20c4ccf7bde0",
"/chunks/invoices.js": "/chunks/invoices.js?id=02089f329654fbbc894d",
"/chunks/landing-page.js": "/chunks/landing-page.js?id=06ced087cb7064a13979",
"/chunks/not-found-shared.js": "/chunks/not-found-shared.js?id=6666b81edc5ff6f60e82",
"/chunks/page-edit.js": "/chunks/page-edit.js?id=7e6363b9a35e62dd560c",
"/chunks/pages.js": "/chunks/pages.js?id=ca712437ecc7e5aeee5c",
"/chunks/plan.js": "/chunks/plan.js?id=cc041fb9c2cb9ad8f0ff",
"/chunks/plan-create.js": "/chunks/plan-create.js?id=24bb1297c55fe70c1dd0",
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=e06dc32848cf3bfb9e6b",
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=242cb0706c986d08c484",
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=36a86cf6f3d8a2868504",
"/chunks/plans.js": "/chunks/plans.js?id=282268d939f8b52f6acd",
"/chunks/profile.js": "/chunks/profile.js?id=060bceb3f703969fb135",
"/chunks/profile~chunks/settings-password.js": "/chunks/profile~chunks/settings-password.js?id=a44394b1fa09f996a9fd",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=8c1d40ff91c04fcefcfc",
"/chunks/settings.js": "/chunks/settings.js?id=463a3b35eb4020fdcc77",
"/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=4d1a070566ee2069e1bd",
"/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=603b7f706f34d9c89a62",
"/chunks/settings-password.js": "/chunks/settings-password.js?id=0df4bd46f1d3d90e360a",
"/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=37955b9e8262af7fe525",
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=013b6f15f907caaecd1e",
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=5d702de3662f601fccca",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=99b4f321902fe6b0eb23",
"/chunks/shared-files.js": "/chunks/shared-files.js?id=1860b9031f41ed46d0e0",
"/chunks/shared-page.js": "/chunks/shared-page.js?id=da4c97784a340b3080c9",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=6b961e6324b09384dfd0",
"/chunks/sign-up.js": "/chunks/sign-up.js?id=a46f57a34f8f862a24a8",
"/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=080bade1ed512f512591",
"/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=5b2f00a9e19520adc31e",
"/chunks/subscription-service.js": "/chunks/subscription-service.js?id=1ac6b87f8797b491ef77",
"/chunks/upgrade.js": "/chunks/upgrade.js?id=ac1ff92a934e448ca6b4",
"/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js?id=198bfc33644f85bfc075",
"/chunks/upgrade-billing~chunks/upgrade-plan.js": "/chunks/upgrade-billing~chunks/upgrade-plan.js?id=7e805915ede7c330c6d1",
"/chunks/upgrade-plan.js": "/chunks/upgrade-plan.js?id=2811533956c0c185714d",
"/chunks/user.js": "/chunks/user.js?id=a400499012c6786a3652",
"/chunks/user-create.js": "/chunks/user-create.js?id=d5066d3ff9d7625ba7f1",
"/chunks/user-delete.js": "/chunks/user-delete.js?id=5d392a3df7b05cf93930",
"/chunks/user-detail.js": "/chunks/user-detail.js?id=fbfe45c7762f7ae123e4",
"/chunks/user-invoices.js": "/chunks/user-invoices.js?id=97c78350b65914e4b16d",
"/chunks/user-password.js": "/chunks/user-password.js?id=ad772e769a8562c42c17",
"/chunks/user-storage.js": "/chunks/user-storage.js?id=2c5f4cdd17574255ea05",
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=d6683735de17fd8c55c8",
"/chunks/users.js": "/chunks/users.js?id=f2359ae7c0c166001c33",
"/chunks/files~chunks/shared-files~chunks/shared-page.0458929e5f56e46ba6bc.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.0458929e5f56e46ba6bc.hot-update.js",
"/js/main.0ab3c15907f3ceb1f58a.hot-update.js": "/js/main.0ab3c15907f3ceb1f58a.hot-update.js",
"/js/main.39fe4c147a896dd94f73.hot-update.js": "/js/main.39fe4c147a896dd94f73.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.39fe4c147a896dd94f73.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.39fe4c147a896dd94f73.hot-update.js",
"/js/main.72d4b6097ba1aee7702f.hot-update.js": "/js/main.72d4b6097ba1aee7702f.hot-update.js",
"/js/main.8bc79cfa0e1b127c70b4.hot-update.js": "/js/main.8bc79cfa0e1b127c70b4.hot-update.js",
"/js/main.86e6e147e6815c6341f4.hot-update.js": "/js/main.86e6e147e6815c6341f4.hot-update.js",
"/js/main.9917c2781cf90a643c0c.hot-update.js": "/js/main.9917c2781cf90a643c0c.hot-update.js",
"/js/main.e54790c6be90d0da82ab.hot-update.js": "/js/main.e54790c6be90d0da82ab.hot-update.js",
"/js/main.177bef9fd128d7904d4c.hot-update.js": "/js/main.177bef9fd128d7904d4c.hot-update.js",
"/js/main.39f1391d6c7bc8753b61.hot-update.js": "/js/main.39f1391d6c7bc8753b61.hot-update.js",
"/js/main.a474d1267263c391f11c.hot-update.js": "/js/main.a474d1267263c391f11c.hot-update.js",
"/js/main.5992ebc1ccca9dcd2515.hot-update.js": "/js/main.5992ebc1ccca9dcd2515.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.765cb344c9206ad77d63.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.765cb344c9206ad77d63.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.45a69d24844455588132.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.45a69d24844455588132.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.8c6fec530e4d85facfe5.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.8c6fec530e4d85facfe5.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.09ed4dbda1926d9c9138.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.09ed4dbda1926d9c9138.hot-update.js",
"/js/main.c3d516fb34d55b243c46.hot-update.js": "/js/main.c3d516fb34d55b243c46.hot-update.js",
"/js/main.f73825d78cfa4c55560d.hot-update.js": "/js/main.f73825d78cfa4c55560d.hot-update.js",
"/js/main.4a894940580f6ef3f5a4.hot-update.js": "/js/main.4a894940580f6ef3f5a4.hot-update.js",
"/js/main.36a44250869248cb5d3d.hot-update.js": "/js/main.36a44250869248cb5d3d.hot-update.js",
"/js/main.016fc66db3fccf7ab02c.hot-update.js": "/js/main.016fc66db3fccf7ab02c.hot-update.js",
"/js/main.dc53484466da1bbba22a.hot-update.js": "/js/main.dc53484466da1bbba22a.hot-update.js",
"/js/main.033d0158ff270ada6285.hot-update.js": "/js/main.033d0158ff270ada6285.hot-update.js",
"/js/main.b26ebf37b5a249326821.hot-update.js": "/js/main.b26ebf37b5a249326821.hot-update.js",
"/js/main.5c8b7c0759a6283400d5.hot-update.js": "/js/main.5c8b7c0759a6283400d5.hot-update.js",
"/js/main.c561521c779c3840e531.hot-update.js": "/js/main.c561521c779c3840e531.hot-update.js",
"/js/main.495d35cbdc423d374217.hot-update.js": "/js/main.495d35cbdc423d374217.hot-update.js",
"/js/main.94e9fdd79f335631b7ba.hot-update.js": "/js/main.94e9fdd79f335631b7ba.hot-update.js",
"/js/main.073f7877a365b2467042.hot-update.js": "/js/main.073f7877a365b2467042.hot-update.js",
"/js/main.863d41cb0e0b4fd6e6db.hot-update.js": "/js/main.863d41cb0e0b4fd6e6db.hot-update.js",
"/js/main.352b732435806ada420c.hot-update.js": "/js/main.352b732435806ada420c.hot-update.js",
"/js/main.02ee25607333aa87f887.hot-update.js": "/js/main.02ee25607333aa87f887.hot-update.js",
"/js/main.a67208a338397c9d4368.hot-update.js": "/js/main.a67208a338397c9d4368.hot-update.js",
"/js/main.8287972a430a1adbe3a5.hot-update.js": "/js/main.8287972a430a1adbe3a5.hot-update.js",
"/js/main.05a4059d5b2a45fbb1c3.hot-update.js": "/js/main.05a4059d5b2a45fbb1c3.hot-update.js",
"/js/main.aded789163fc1c5828f0.hot-update.js": "/js/main.aded789163fc1c5828f0.hot-update.js",
"/js/main.e5b6fb32f9165760a2f4.hot-update.js": "/js/main.e5b6fb32f9165760a2f4.hot-update.js",
"/js/main.8c94a83163875565b848.hot-update.js": "/js/main.8c94a83163875565b848.hot-update.js",
"/js/main.92f276131542382e134a.hot-update.js": "/js/main.92f276131542382e134a.hot-update.js",
"/js/main.038f80423c64be7d20e7.hot-update.js": "/js/main.038f80423c64be7d20e7.hot-update.js",
"/js/main.4f61b2d165f54996a4c0.hot-update.js": "/js/main.4f61b2d165f54996a4c0.hot-update.js",
"/js/main.2eed9a33045dcfc21af5.hot-update.js": "/js/main.2eed9a33045dcfc21af5.hot-update.js",
"/js/main.9f2524a070f062f1ead0.hot-update.js": "/js/main.9f2524a070f062f1ead0.hot-update.js",
"/js/main.406fdbaba18e7a37ba45.hot-update.js": "/js/main.406fdbaba18e7a37ba45.hot-update.js",
"/js/main.f25d381b827756ef0e12.hot-update.js": "/js/main.f25d381b827756ef0e12.hot-update.js",
"/js/main.94ae6ca3738e05eefef6.hot-update.js": "/js/main.94ae6ca3738e05eefef6.hot-update.js",
"/js/main.7b6f30c359e5251ef6d0.hot-update.js": "/js/main.7b6f30c359e5251ef6d0.hot-update.js",
"/js/main.3b168005fcda150e8be6.hot-update.js": "/js/main.3b168005fcda150e8be6.hot-update.js",
"/js/main.5056cf0f408a65bf5886.hot-update.js": "/js/main.5056cf0f408a65bf5886.hot-update.js",
"/js/main.52a5ba1b2eeec4590524.hot-update.js": "/js/main.52a5ba1b2eeec4590524.hot-update.js",
"/js/main.6267aee84a2872e91ef4.hot-update.js": "/js/main.6267aee84a2872e91ef4.hot-update.js",
"/js/main.b084c53c51bec69abeb6.hot-update.js": "/js/main.b084c53c51bec69abeb6.hot-update.js",
"/js/main.623f75384a87ac3e3a52.hot-update.js": "/js/main.623f75384a87ac3e3a52.hot-update.js",
"/js/main.c313645e367745eeaf57.hot-update.js": "/js/main.c313645e367745eeaf57.hot-update.js",
"/js/main.cedeaa5b3e87a48f176b.hot-update.js": "/js/main.cedeaa5b3e87a48f176b.hot-update.js",
"/js/main.6d3c1b7afb75eb61811a.hot-update.js": "/js/main.6d3c1b7afb75eb61811a.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.6d3c1b7afb75eb61811a.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.6d3c1b7afb75eb61811a.hot-update.js",
"/js/main.d62a09962ca82ce76f5d.hot-update.js": "/js/main.d62a09962ca82ce76f5d.hot-update.js",
"/js/main.349517a0be904b874323.hot-update.js": "/js/main.349517a0be904b874323.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.165d58c3d6ad8e7f90b9.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.165d58c3d6ad8e7f90b9.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.3f69a06a9ff09361e597.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.3f69a06a9ff09361e597.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.9952a80137ce68c50024.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.9952a80137ce68c50024.hot-update.js",
"/js/main.6693b3a582b9a2696b9f.hot-update.js": "/js/main.6693b3a582b9a2696b9f.hot-update.js"
}
+1 -1
View File
@@ -110,7 +110,7 @@ export default {
},
computed: {
...mapGetters([
'isLogged', 'isGuest', 'config'
'isLogged', 'isGuest', 'config', 'fileQueue'
]),
isGuestLayout() {
return (includes([
@@ -112,7 +112,7 @@ export default {
'shared',
'public'
]
return !this.$isThisLocation(locations) || this.fileInfoDetail.length === 0
return !this.$isThisLocation(locations) || this.fileInfoDetail.length === 0
},
canUploadInView() {
return !this.$isThisLocation(['base', 'public'])
@@ -125,7 +125,7 @@ export default {
'shared',
'public'
]
return !this.$isThisLocation(locations) || this.fileInfoDetail.length === 0
return !this.$isThisLocation(locations) || this.fileInfoDetail.length === 0
},
canShareInView() {
@@ -137,7 +137,7 @@ export default {
'public'
]
return !this.$isThisLocation(locations) || this.fileInfoDetail.length > 1 || this.fileInfoDetail.length === 0
return !this.$isThisLocation(locations) || this.fileInfoDetail.length > 1 || this.fileInfoDetail.length === 0
}
},
data() {
@@ -183,14 +183,14 @@ export default {
events.$emit('folder:actions', this.currentFolder)
},
deleteItem() {
if(this.fileInfoDetail.length > 0)
if (this.fileInfoDetail.length > 0)
this.$store.dispatch('deleteItem')
},
createFolder() {
this.$store.dispatch('createFolder', this.$t('popup_create_folder.folder_default_name'))
},
moveItem() {
if(this.fileInfoDetail.length > 0)
if (this.fileInfoDetail.length > 0)
events.$emit('popup:open', { name: 'move', item: this.fileInfoDetail })
},
shareItem() {
@@ -215,9 +215,9 @@ export default {
// this.sortingAndPreview = state
// })
events.$on('unClick', () => {
this.sortingAndPreview = false
})
events.$on('unClick', () => {
this.sortingAndPreview = false
})
}
}
</script>
@@ -225,15 +225,18 @@ export default {
<style scoped lang="scss">
@import "@assets/vue-file-manager/_variables";
@import "@assets/vue-file-manager/_mixins";
.preview-sorting {
.preview-sorting {
/deep/ .label {
color: $text !important;
}
/deep/ .preview-sorting {
path, line, polyline, rect, circle {
stroke: $text !important;
}
path, line, polyline, rect, circle {
stroke: $text !important;
}
}
&:hover {
/deep/ .preview-sorting {
path, line, polyline, rect, circle {
@@ -358,6 +361,7 @@ export default {
&.preview-sorting {
background: $light_background;
/deep/ .preview-sorting {
path, line, polyline, rect, circle {
stroke: $theme !important;
@@ -423,14 +427,15 @@ export default {
background: $dark_mode_foreground !important;
}
}
.preview-sorting {
.preview-sorting {
/deep/ .label {
color: $text !important;
}
/deep/ .preview-sorting {
path, line, polyline, rect, circle {
stroke: $dark_mode_text_primary !important;
}
path, line, polyline, rect, circle {
stroke: $dark_mode_text_primary !important;
}
}
}
}
@@ -1,5 +1,5 @@
<template>
<div class="file-content" id="file-content-id" :class="{ 'is-offset': uploadingFilesCount, 'is-dragging': isDragging }"
<div class="file-content" id="file-content-id" :class="{ 'is-offset': filesInQueueTotal > 0, 'is-dragging': isDragging }"
@dragover.prevent
@drop.stop.prevent="dropUpload($event)"
@dragover="dragEnter"
@@ -119,7 +119,7 @@
},
computed: {
...mapGetters([
'uploadingFilesCount',
'filesInQueueTotal',
'fileInfoVisible',
'fileInfoDetail',
'currentFolder',
@@ -1,20 +1,21 @@
<template>
<transition name="info-panel">
<div v-if="uploadingFilesCount" class="upload-progress">
<div v-if="fileQueue.length > 0" class="upload-progress">
<div class="progress-title">
<!--Is processing-->
<span v-if="isProcessingFile">
<refresh-cw-icon size="12" class="sync-alt"></refresh-cw-icon>
{{ $t('uploading.processing_file') }}
</span>
<span v-if="!isProcessingFile && uploadingFilesCount.total === 1">
{{ $t('uploading.progress_single_upload', {progress: uploadingFileProgress}) }}
</span>
<span v-if="!isProcessingFile && uploadingFilesCount.total > 1">
{{ $t('uploading.progress', {current:uploadingFilesCount.current, total: uploadingFilesCount.total, progress: uploadingFileProgress}) }}
<!--Multi file upload-->
<span v-if="!isProcessingFile && fileQueue.length > 0">
{{ $t('uploading.progress', {current:filesInQueueUploaded, total: filesInQueueTotal, progress: uploadingProgress}) }}
</span>
</div>
<div class="progress-wrapper">
<ProgressBar :progress="uploadingFileProgress" />
<ProgressBar :progress="uploadingProgress" />
<span @click="cancelUpload" :title="$t('uploading.cancel')" class="cancel-icon">
<x-icon size="16" @click="cancelUpload"></x-icon>
</span>
@@ -38,9 +39,11 @@
},
computed: {
...mapGetters([
'uploadingFileProgress',
'uploadingFilesCount',
'filesInQueueUploaded',
'filesInQueueTotal',
'uploadingProgress',
'isProcessingFile',
'fileQueue',
])
},
methods: {
+89 -104
View File
@@ -76,123 +76,106 @@ const Helpers = {
this.$store.dispatch('createFolder', folderName)
}
Vue.prototype.$handleUploading = async function (files, parent_id) {
let fileBuffer = []
// Append the file list to fileBuffer array
Array.prototype.push.apply(fileBuffer, files);
let fileSucceed = 0
// Update files count in progressbar
store.commit('UPDATE_FILE_COUNT_PROGRESS', {
current: fileSucceed,
total: files.length
})
// Reset upload progress to 0
store.commit('UPLOADING_FILE_PROGRESS', 0)
// Get parent id
let parentFolder = this.$store.getters.currentFolder ? this.$store.getters.currentFolder.unique_id : 0
let rootFolder = parent_id ? parent_id : parentFolder
// Upload files
do {
let file = fileBuffer.shift(),
chunks = []
// Calculate ceils
let size = this.$store.getters.config.chunkSize,
chunksCeil = Math.ceil(file.size / size);
// Create chunks
for (let i = 0; i < chunksCeil; i++) {
chunks.push(file.slice(
i * size, Math.min(i * size + size, file.size), file.type
));
}
// Set Data
let formData = new FormData(),
uploadedSize = 0,
isNotGeneralError = true,
striped_name = file.name.replace(/[^A-Za-z 0-9 \.,\?""!@#\$%\^&\*\(\)-_=\+;:<>\/\\\|\}\{\[\]`~]*/g, ''),
filename = Array(16).fill(0).map(x => Math.random().toString(36).charAt(2)).join('') + '-' + striped_name + '.part'
do {
let isLast = chunks.length === 1,
chunk = chunks.shift(),
attempts = 0
// Set form data
formData.set('file', chunk, filename);
formData.set('parent_id', rootFolder)
formData.set('is_last', isLast);
// Upload chunks
do {
await store.dispatch('uploadFiles', {
form: formData,
fileSize: file.size,
totalUploadedSize: uploadedSize
}).then(() => {
uploadedSize = uploadedSize + chunk.size
}).catch((error) => {
// Count attempts
attempts++
// Break uploading proccess
if (error.response.status === 500)
isNotGeneralError = false
//Break if mimetype of file is in blacklist
if(error.response.status === 415)
isNotGeneralError = false
// Show Error
if (attempts === 3)
this.$isSomethingWrong()
})
} while (isNotGeneralError && attempts !== 0 && attempts !== 3)
} while (isNotGeneralError && chunks.length !== 0)
fileSucceed++
// Progress file log
store.commit('UPDATE_FILE_COUNT_PROGRESS', {
current: fileSucceed,
total: files.length
})
} while (fileBuffer.length !== 0)
store.commit('UPDATE_FILE_COUNT_PROGRESS', undefined)
}
Vue.prototype.$uploadFiles = async function (files) {
if (files.length == 0) return
if (files.length == 0) return
if (!this.$checkFileMimetype(files) || !this.$checkUploadLimit(files)) return
this.$handleUploading(files, undefined)
// Push items to file queue
[...files].map(item => {
this.$store.commit('ADD_FILES_TO_QUEUE', {
parent_id: store.getters.currentFolder.unique_id,
file: item,
})
});
// Start uploading if uploading process isn't running
if (this.$store.getters.filesInQueueTotal == 0)
this.$handleUploading(store.getters.fileQueue[0])
// Increase total files in upload bar
this.$store.commit('INCREASE_FILES_IN_QUEUES_TOTAL', files.length)
}
Vue.prototype.$uploadExternalFiles = async function (event, parent_id) {
// Prevent submit empty files
if (event.dataTransfer.items.length == 0) return
if (event.dataTransfer.items.length === 0) return
// Get files
let files = [...event.dataTransfer.items].map(item => item.getAsFile());
// Push items to file queue
[...event.dataTransfer.items].map(item => {
this.$store.commit('ADD_FILES_TO_QUEUE', {
parent_id: parent_id,
file: item.getAsFile(),
})
});
this.$handleUploading(files, parent_id)
// Start uploading if uploading process isn't running
if (this.$store.getters.filesInQueueTotal == 0)
this.$handleUploading(this.$store.getters.fileQueue[0])
// Increase total files in upload bar
this.$store.commit('INCREASE_FILES_IN_QUEUES_TOTAL', [...event.dataTransfer.items].length)
}
Vue.prototype.$handleUploading = async function (item) {
// Create ceil
let size = store.getters.config.chunkSize,
chunksCeil = Math.ceil(item.file.size / size),
chunks = []
// Create chunks
for (let i = 0; i < chunksCeil; i++) {
chunks.push(item.file.slice(
i * size, Math.min(i * size + size, item.file.size), item.file.type
));
}
// Set Data
let formData = new FormData(),
uploadedSize = 0,
isNotGeneralError = true,
striped_name = item.file.name.replace(/[^A-Za-z 0-9 \.,\?""!@#\$%\^&\*\(\)-_=\+;:<>\/\\\|\}\{\[\]`~]*/g, ''),
filename = Array(16).fill(0).map(x => Math.random().toString(36).charAt(2)).join('') + '-' + striped_name + '.part'
do {
let isLast = chunks.length === 1,
chunk = chunks.shift(),
attempts = 0
// Set form data
formData.set('file', chunk, filename);
formData.set('parent_id', item.parent_id)
formData.set('is_last', isLast);
// Upload chunks
do {
await store.dispatch('uploadFiles', {
form: formData,
fileSize: item.file.size,
totalUploadedSize: uploadedSize
}).then(() => {
uploadedSize = uploadedSize + chunk.size
}).catch((error) => {
// Count attempts
attempts++
// Show Error
if (attempts === 3)
this.$isSomethingWrong()
// Break uploading process
if ([500, 415].includes(error.response.status))
isNotGeneralError = false
})
} while (isNotGeneralError && attempts !== 0 && attempts !== 3)
} while (isNotGeneralError && chunks.length !== 0)
}
Vue.prototype.$downloadFile = function (url, filename) {
var anchor = document.createElement('a')
@@ -281,6 +264,7 @@ const Helpers = {
message: i18n.t('popup_error.message')
})
}
Vue.prototype.$checkFileMimetype = function(files) {
let validated = true
let mimetypesBlacklist = store.getters.config.mimetypesBlacklist
@@ -345,6 +329,7 @@ const Helpers = {
// Get data of Navigator tree
this.$store.dispatch('getFolderTree')
}
Vue.prototype.$checkOS = function() {
// Handle styled scrollbar for Windows
if (navigator.userAgent.indexOf('Windows') != -1) {
-15
View File
@@ -5,11 +5,8 @@ import router from '@/router'
import i18n from '@/i18n/index'
const defaultState = {
uploadingFilesCount: undefined,
fileInfoDetail: [],
currentFolder: undefined,
uploadingFileProgress: 0,
isProcessingFile: false,
navigation: undefined,
isSearching: false,
browseHistory: [],
@@ -264,12 +261,6 @@ const mutations = {
CHANGE_SEARCHING_STATE(state, searchState) {
state.isSearching = searchState
},
UPLOADING_FILE_PROGRESS(state, percentage) {
state.uploadingFileProgress = percentage
},
UPDATE_FILE_COUNT_PROGRESS(state, data) {
state.uploadingFilesCount = data
},
UPDATE_SHARED_ITEM(state, data) {
state.data.find(item => {
if (item.unique_id == data.item_id) item.shared = data
@@ -292,15 +283,9 @@ const mutations = {
STORE_CURRENT_FOLDER(state, folder) {
state.currentFolder = folder
},
PROCESSING_FILE(state, status) {
state.isProcessingFile = status
}
}
const getters = {
uploadingFileProgress: state => state.uploadingFileProgress,
uploadingFilesCount: state => state.uploadingFilesCount,
isProcessingFile: state => state.isProcessingFile,
fileInfoDetail: state => state.fileInfoDetail,
currentFolder: state => state.currentFolder,
browseHistory: state => state.browseHistory,
+107 -63
View File
@@ -4,17 +4,24 @@ import { events } from '@/bus'
import { last } from 'lodash'
import axios from 'axios'
import Vue from 'vue'
import store from '../index'
const defaultState = {
processingPopup: undefined,
fileQueue: [],
filesInQueueTotal: 0,
filesInQueueUploaded: 0,
isProcessingFile: false,
uploadingProgress: 0
}
const actions = {
downloadFolder: ({commit, getters}, folder) => {
downloadFolder: ({ commit, getters }, folder) => {
commit('PROCESSING_POPUP', {
title: i18n.t('popup_zipping.title'),
message: i18n.t('popup_zipping.message'),
message: i18n.t('popup_zipping.message')
})
// Get route
@@ -23,15 +30,15 @@ const actions = {
: '/api/zip-folder/' + folder.unique_id
axios.get(route)
.then(response => {
Vue.prototype.$downloadFile(response.data.url, response.data.name)
})
.catch(() => {
Vue.prototype.$isSomethingWrong()
})
.finally(() => {
commit('PROCESSING_POPUP', undefined)
})
.then(response => {
Vue.prototype.$downloadFile(response.data.url, response.data.name)
})
.catch(() => {
Vue.prototype.$isSomethingWrong()
})
.finally(() => {
commit('PROCESSING_POPUP', undefined)
})
},
downloadFiles: ({ commit, getters }) => {
@@ -126,7 +133,7 @@ const actions = {
//Set focus on new folder name
setTimeout(() => {
events.$emit('newFolder:focus', response.data.unique_id)
}, 10);
}, 10)
if (getters.currentFolder.location !== 'public')
dispatch('getAppData')
@@ -172,9 +179,9 @@ const actions = {
? '/api/upload/public/' + router.currentRoute.params.token
: '/api/upload'
// Create cancel token for axios cancelation
const CancelToken = axios.CancelToken
const source = CancelToken.source()
// Create cancel token for axios cancellation
const CancelToken = axios.CancelToken,
source = CancelToken.source()
axios
.post(route, form, {
@@ -183,62 +190,72 @@ const actions = {
'Content-Type': 'application/octet-stream'
},
onUploadProgress: event => {
var percentCompleted = Math.floor(((totalUploadedSize + event.loaded) / fileSize) * 100)
commit('UPLOADING_FILE_PROGRESS', percentCompleted >= 100 ? 100 : percentCompleted)
if (percentCompleted >= 100) {
// Set processing file
if (percentCompleted >= 100)
commit('PROCESSING_FILE', true)
}
}
})
.then(response => {
resolve(response)
commit('PROCESSING_FILE', false)
// Remove first file from file queue
commit('SHIFT_FROM_FILE_QUEUE')
// Check if user is in uploading folder, if yes, than show new file
if (response.data.folder_id == getters.currentFolder.unique_id)
if (response.data.folder_id == getters.currentFolder.unique_id) {
// Add uploaded item into view
commit('ADD_NEW_ITEMS', response.data)
resolve(response)
})
.catch(error => {
commit('PROCESSING_FILE', false)
// Reset file progress
commit('UPLOADING_FILE_PROGRESS', 0)
reject(error)
switch (error.response.status) {
case 423:
events.$emit('alert:open', {
emoji: '😬😬😬',
title: i18n.t('popup_exceed_limit.title'),
message: i18n.t('popup_exceed_limit.message')
})
break
case 415:
events.$emit('alert:open', {
emoji: '😬😬😬',
title: i18n.t('popup_mimetypes_blacklist.title'),
message: i18n.t('popup_mimetypes_blacklist.message')
})
break
case 413:
events.$emit('alert:open', {
emoji: '😟😟😟',
title: i18n.t('popup_paylod_error.title'),
message: i18n.t('popup_paylod_error.message')
})
break
default:
events.$emit('alert:open', {
title: i18n.t('popup_error.title'),
message: i18n.t('popup_error.message')
})
break
// Increase count in files in queue uploaded for 1
commit('INCREASE_FILES_IN_QUEUE_UPLOADED')
}
// Reset uploader
commit('UPDATE_FILE_COUNT_PROGRESS', undefined)
// Start uploading next file if file queue is not empty
if (getters.fileQueue.length) {
Vue.prototype.$handleUploading(getters.fileQueue[0])
}
// Reset upload process
if (! getters.fileQueue.length)
commit('CLEAR_UPLOAD_PROGRESS')
})
.catch(error => {
reject(error)
let messages = {
'423': {
title: i18n.t('popup_exceed_limit.title'),
message: i18n.t('popup_exceed_limit.message')
},
'415': {
title: i18n.t('popup_mimetypes_blacklist.title'),
message: i18n.t('popup_mimetypes_blacklist.message')
},
'413': {
title: i18n.t('popup_paylod_error.title'),
message: i18n.t('popup_paylod_error.message')
}
}
events.$emit('alert:open', {
emoji: '😬😬😬',
title: messages[error.response.status]['title'],
message: messages[error.response.status]['message']
})
commit('PROCESSING_FILE', false)
commit('CLEAR_UPLOAD_PROGRESS')
})
// Cancel the upload request
@@ -247,7 +264,7 @@ const actions = {
// Hide upload progress bar
commit('PROCESSING_FILE', false)
commit('UPDATE_FILE_COUNT_PROGRESS', undefined)
commit('CLEAR_UPLOAD_PROGRESS')
})
})
},
@@ -260,28 +277,27 @@ const actions = {
// If coming no selected item dont get items to restore from fileInfoDetail
if (!item)
items = getters.fileInfoDetail
// Check if file can be restored to home directory
if (getters.currentFolder.location === 'trash')
restoreToHome = true
items.forEach(data => itemToRestore.push({
'type': data.type,
'unique_id': data.unique_id,
'unique_id': data.unique_id
}))
// Remove file preview
commit('CLEAR_FILEINFO_DETAIL')
axios
.post(getters.api + '/restore-items' ,{
.post(getters.api + '/restore-items', {
to_home: restoreToHome,
data: itemToRestore,
data: itemToRestore
})
.then(
// Remove file
items.forEach( data => commit('REMOVE_ITEM', data.unique_id) )
items.forEach(data => commit('REMOVE_ITEM', data.unique_id))
)
.catch(() => Vue.prototype.$isSomethingWrong())
},
@@ -387,11 +403,39 @@ const actions = {
const mutations = {
PROCESSING_POPUP(state, status) {
state.processingPopup = status
},
ADD_FILES_TO_QUEUE(state, file) {
state.fileQueue.push(file)
},
SHIFT_FROM_FILE_QUEUE(state) {
state.fileQueue.shift()
},
PROCESSING_FILE(state, status) {
state.isProcessingFile = status
},
UPLOADING_FILE_PROGRESS(state, percentage) {
state.uploadingProgress = percentage
},
INCREASE_FILES_IN_QUEUES_TOTAL(state, count) {
state.filesInQueueTotal += count
},
INCREASE_FILES_IN_QUEUE_UPLOADED(state) {
state.filesInQueueUploaded++
},
CLEAR_UPLOAD_PROGRESS(state) {
state.filesInQueueUploaded = 0
state.filesInQueueTotal = 0
state.fileQueue = []
}
}
const getters = {
processingPopup: state => state.processingPopup
filesInQueueUploaded: state => state.filesInQueueUploaded,
filesInQueueTotal: state => state.filesInQueueTotal,
uploadingProgress: state => state.uploadingProgress,
isProcessingFile: state => state.isProcessingFile,
processingPopup: state => state.processingPopup,
fileQueue: state => state.fileQueue
}
export default {