invitation page implementation

This commit is contained in:
Čarodej
2021-10-25 17:14:27 +02:00
parent b45662942d
commit 524791f251
21 changed files with 616 additions and 57 deletions

View File

@@ -24,6 +24,7 @@ class TeamFolderInvitationFactory extends Factory
return [
'id' => $this->faker->uuid,
'parent_id' => $this->faker->uuid,
'inviter_id' => $this->faker->uuid,
'email' => $this->faker->email,
'permission' => $this->faker->randomElement(['can-edit', 'can-view', 'can-view-and-download']),
'status' => $this->faker->randomElement(['pending', 'accepted', 'rejected']),

View File

@@ -16,6 +16,7 @@ class CreateTeamFolderInvitationsTable extends Migration
Schema::create('team_folder_invitations', function (Blueprint $table) {
$table->uuid('id')->primary();
$table->uuid('parent_id');
$table->uuid('inviter_id');
$table->text('email');
$table->string('color')->nullable();
$table->enum('permission', ['can-edit', 'can-view', 'can-view-and-download']);

View File

@@ -3,12 +3,12 @@
"/css/app.css": "/css/app.css",
"/css/tailwind.css": "/css/tailwind.css",
"/chunks/admin.js": "/chunks/admin.js?id=9e740d1c0328706d26bd",
"/chunks/admin-account.js": "/chunks/admin-account.js?id=5a5910b2e5070c9b0fc8",
"/chunks/admin-account.js": "/chunks/admin-account.js?id=4c2f7310a289ce79bdbe",
"/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=8165f69e38b895ab45c7",
"/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~39825672.js": "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~39825672.js?id=66fa2c4863d93c8af4a8",
"/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~3e4fdd8b.js": "/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/~3e4fdd8b.js?id=9be4ff0234a3a1501fff",
"/chunks/admin~chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/my-shared-item~9b68162c.js": "/chunks/admin~chunks/app-language~chunks/dashboard~chunks/files~chunks/invoices~chunks/my-shared-item~9b68162c.js?id=5841d65172536a8a9bdc",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.js?id=99b16ba702831389dbee",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.js?id=d70c783b41911d4b37e2",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.js?id=9806f682f66534c95129",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~1bec6fe4.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~1bec6fe4.js?id=4110440047af4906656a",
"/chunks/admin~chunks/platform.js": "/chunks/admin~chunks/platform.js?id=da7b6b4397c9b1bce0a2",
@@ -27,30 +27,30 @@
"/chunks/app-others.js": "/chunks/app-others.js?id=6595f2e32ef7cf1cf157",
"/chunks/app-payments.js": "/chunks/app-payments.js?id=067d5e56e048101ef725",
"/chunks/app-settings.js": "/chunks/app-settings.js?id=adaa917c2bf01c3b05f9",
"/chunks/app-setup.js": "/chunks/app-setup.js?id=ef3c8e6195fdecfcc012",
"/chunks/billings-detail.js": "/chunks/billings-detail.js?id=bed0268026c45b894040",
"/chunks/app-setup.js": "/chunks/app-setup.js?id=91830c54a05ecf2150e6",
"/chunks/billings-detail.js": "/chunks/billings-detail.js?id=f8d135af5c58d3d185d3",
"/chunks/contact-us.js": "/chunks/contact-us.js?id=22497f6be2eca5ad4588",
"/chunks/contact-us~chunks/dynamic-page~chunks/homepage.js": "/chunks/contact-us~chunks/dynamic-page~chunks/homepage.js?id=8eada4cb178a0a4cca59",
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=a87905de9171f23469b2",
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=8def5fbcb5750b1f75d2",
"/chunks/dashboard.js": "/chunks/dashboard.js?id=a4250a525aec800b8642",
"/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=e56e6451e460a2c0c6c2",
"/chunks/database.js": "/chunks/database.js?id=cf3a384cec1b1ba1fe9c",
"/chunks/database.js": "/chunks/database.js?id=c0dc3134aba8c4bd6d83",
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=6c86916c6c6f679fa86b",
"/chunks/email-verified.js": "/chunks/email-verified.js?id=15a957066ab12686d7d5",
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=1900e9ae86b40ae2543b",
"/chunks/email-verified.js": "/chunks/email-verified.js?id=8d342a37b34ce5828618",
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=38427d6e4bb01099e326",
"/chunks/files.js": "/chunks/files.js?id=40efdc4ad4bc018f4728",
"/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared-with-me~chun~fd99312c.js": "/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared-with-me~chun~fd99312c.js?id=060707c164353fb3c818",
"/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~chunks/share~c7960950.js": "/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~chunks/share~c7960950.js?id=2ba329373331cd6176a8",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/settings-subscription~chunks/shared~f3cd1a63.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/settings-subscription~chunks/shared~f3cd1a63.js?id=23a15ceada1932148a36",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.js?id=f61c9fee38d0f947768a",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.js?id=f0f27060a75f0c9880c3",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~bf3ddedc.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~bf3ddedc.js?id=eb192f8a23b7dc62564b",
"/chunks/files~chunks/shared-with-me~chunks/shared/files~chunks/team-folders.js": "/chunks/files~chunks/shared-with-me~chunks/shared/files~chunks/team-folders.js?id=5d657ac77c584c471ebc",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=7d8f8fd53a0e68f4ed3d",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=1e16af188176b91b8dab",
"/chunks/homepage.js": "/chunks/homepage.js?id=b1340346464802b9f945",
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=cafd230422aa0a8572d8",
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=6188646cc977c2a3ed03",
"/chunks/invoices.js": "/chunks/invoices.js?id=731e054ef1372fcf2604",
"/chunks/my-shared-items.js": "/chunks/my-shared-items.js?id=b48d4efd5845481cbeb8",
"/chunks/not-found.js": "/chunks/not-found.js?id=605ab55e76ac32bcba57",
"/chunks/not-found.js": "/chunks/not-found.js?id=397139f0237f9c7c67e7",
"/chunks/page-edit.js": "/chunks/page-edit.js?id=11ada5c6750f86708b53",
"/chunks/pages.js": "/chunks/pages.js?id=cc7682c3e71e54c33830",
"/chunks/plan.js": "/chunks/plan.js?id=33a3c8ce0836eeb8adc3",
@@ -63,7 +63,7 @@
"/chunks/platform~chunks/shared.js": "/chunks/platform~chunks/shared.js?id=4c48ea585b1594087336",
"/chunks/profile.js": "/chunks/profile.js?id=d2e2e427035273081525",
"/chunks/profile~chunks/settings-password.js": "/chunks/profile~chunks/settings-password.js?id=6dc7058f9403650af083",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=6dde35e5a4355f49ced6",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=e5411e0ee8a3e96375aa",
"/chunks/recent-uploads.js": "/chunks/recent-uploads.js?id=5fc7ed5405fb1b8ffdcb",
"/chunks/settings.js": "/chunks/settings.js?id=1fbd713a3d6f19f68e85",
"/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=71374fdf7414f01eca98",
@@ -76,15 +76,15 @@
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=651d5accf401908724c5",
"/chunks/shared.js": "/chunks/shared.js?id=ea31eef3e463f1b4487c",
"/chunks/shared-with-me.js": "/chunks/shared-with-me.js?id=5a9aa71afe2fba6bbd5b",
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=1ac461f3f192859ca6b7",
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=1abff69ae0baabb02f5a",
"/chunks/shared/files.js": "/chunks/shared/files.js?id=f7d29daa21fc7df5fb8d",
"/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=1f5ef0d9638037a6e659",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=bfbb04cad6f5ef84cfc0",
"/chunks/sign-up.js": "/chunks/sign-up.js?id=baa35553c3e1d7956cc9",
"/chunks/status-check.js": "/chunks/status-check.js?id=778bd6783800f066cc83",
"/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=4ef529417131ec478c42",
"/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=5903d83348d12aa2cd94",
"/chunks/subscription-service.js": "/chunks/subscription-service.js?id=20859d10b09030f87567",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=1b155afdd9fb206cbb34",
"/chunks/sign-up.js": "/chunks/sign-up.js?id=fc79c76a9a5eef82a553",
"/chunks/status-check.js": "/chunks/status-check.js?id=899137e9a46e4f742d74",
"/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=42f69ceeaddfc62680d0",
"/chunks/subscription-plans.js": "/chunks/subscription-plans.js?id=bc4c5846e706e7e2da22",
"/chunks/subscription-service.js": "/chunks/subscription-service.js?id=efac1ffb917919255e10",
"/chunks/team-folders.js": "/chunks/team-folders.js?id=bbf068059407dcc085c1",
"/chunks/trash.js": "/chunks/trash.js?id=fc72afb7b9b8e1c5b700",
"/chunks/upgrade-billing.js": "/chunks/upgrade-billing.js?id=7af8efd9adfb88eb9b48",
@@ -104,5 +104,268 @@
"/vendors~chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunk~40ccbae3.js": "/vendors~chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunk~40ccbae3.js?id=37ce1e1ab9968c100712",
"/vendors~chunks/admin~chunks/platform~chunks/settings~chunks/shared.js": "/vendors~chunks/admin~chunks/platform~chunks/settings~chunks/shared.js?id=a0fa80db175709ba340a",
"/chunks/shared/authenticate.69c95aa312ab6574cd3c.hot-update.js": "/chunks/shared/authenticate.69c95aa312ab6574cd3c.hot-update.js",
"/chunks/shared/authenticate.2749e9dbf6bd51af84a0.hot-update.js": "/chunks/shared/authenticate.2749e9dbf6bd51af84a0.hot-update.js"
"/chunks/shared/authenticate.2749e9dbf6bd51af84a0.hot-update.js": "/chunks/shared/authenticate.2749e9dbf6bd51af84a0.hot-update.js",
"/js/main.186de383ff7311cb957b.hot-update.js": "/js/main.186de383ff7311cb957b.hot-update.js",
"/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~c4d54e6f.js": "/chunks/admin-account~chunks/app-setup~chunks/billings-detail~chunks/create-new-password~chunks/datab~c4d54e6f.js?id=8b7b299279d7d0a11cd1",
"/chunks/invitation.js": "/chunks/invitation.js?id=239f876396bc89b078ef",
"/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~b505e62a.js": "/vendors~chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~b505e62a.js?id=8163e0eab55c50f8afb8",
"/chunks/invitation.bb4eb7e511cc031b7d71.hot-update.js": "/chunks/invitation.bb4eb7e511cc031b7d71.hot-update.js",
"/chunks/invitation.d6aa1a9c8c8323860725.hot-update.js": "/chunks/invitation.d6aa1a9c8c8323860725.hot-update.js",
"/chunks/invitation.8bc25097c5b32a3613a2.hot-update.js": "/chunks/invitation.8bc25097c5b32a3613a2.hot-update.js",
"/chunks/invitation.0a0a32c3ee3b552b4ed8.hot-update.js": "/chunks/invitation.0a0a32c3ee3b552b4ed8.hot-update.js",
"/chunks/invitation.6b6f3aa115fd8096205c.hot-update.js": "/chunks/invitation.6b6f3aa115fd8096205c.hot-update.js",
"/chunks/invitation.d6a2470f87cc25b42e68.hot-update.js": "/chunks/invitation.d6a2470f87cc25b42e68.hot-update.js",
"/chunks/invitation.1a7fba29cbb4f9f02910.hot-update.js": "/chunks/invitation.1a7fba29cbb4f9f02910.hot-update.js",
"/chunks/invitation.41295c56773c338fd98f.hot-update.js": "/chunks/invitation.41295c56773c338fd98f.hot-update.js",
"/chunks/shared/authenticate.e2565cc403b10fda15f7.hot-update.js": "/chunks/shared/authenticate.e2565cc403b10fda15f7.hot-update.js",
"/chunks/invitation.9e0f0fa6ce1568ee31e6.hot-update.js": "/chunks/invitation.9e0f0fa6ce1568ee31e6.hot-update.js",
"/chunks/invitation.885e67394b4511da5fbf.hot-update.js": "/chunks/invitation.885e67394b4511da5fbf.hot-update.js",
"/chunks/invitation.cd6503702eac2fd82398.hot-update.js": "/chunks/invitation.cd6503702eac2fd82398.hot-update.js",
"/chunks/invitation.be267754b95eca5a42e4.hot-update.js": "/chunks/invitation.be267754b95eca5a42e4.hot-update.js",
"/chunks/invitation.f62109a7f31d673871f2.hot-update.js": "/chunks/invitation.f62109a7f31d673871f2.hot-update.js",
"/chunks/invitation.5c0db64cba2644d7e6a0.hot-update.js": "/chunks/invitation.5c0db64cba2644d7e6a0.hot-update.js",
"/chunks/invitation.706c83928445878b38b5.hot-update.js": "/chunks/invitation.706c83928445878b38b5.hot-update.js",
"/chunks/invitation.df569c129dadc84d5ce6.hot-update.js": "/chunks/invitation.df569c129dadc84d5ce6.hot-update.js",
"/chunks/invitation.1009710dcbf7f001f95c.hot-update.js": "/chunks/invitation.1009710dcbf7f001f95c.hot-update.js",
"/chunks/invitation.4ab142818075b281b3f6.hot-update.js": "/chunks/invitation.4ab142818075b281b3f6.hot-update.js",
"/chunks/invitation.9810b3a45e3dc029e54e.hot-update.js": "/chunks/invitation.9810b3a45e3dc029e54e.hot-update.js",
"/chunks/invitation.3298b053ddb3625743dd.hot-update.js": "/chunks/invitation.3298b053ddb3625743dd.hot-update.js",
"/chunks/invitation.a20a3451faed4d39352e.hot-update.js": "/chunks/invitation.a20a3451faed4d39352e.hot-update.js",
"/chunks/invitation.54df17ef93113ad8f85a.hot-update.js": "/chunks/invitation.54df17ef93113ad8f85a.hot-update.js",
"/chunks/invitation.a1a8a31d7e808ddaf1ac.hot-update.js": "/chunks/invitation.a1a8a31d7e808ddaf1ac.hot-update.js",
"/chunks/invitation.d2cb34b232d18b4aa126.hot-update.js": "/chunks/invitation.d2cb34b232d18b4aa126.hot-update.js",
"/chunks/invitation.a1ccdf7f01c8623855ea.hot-update.js": "/chunks/invitation.a1ccdf7f01c8623855ea.hot-update.js",
"/chunks/invitation.19fbc683c476be1dac67.hot-update.js": "/chunks/invitation.19fbc683c476be1dac67.hot-update.js",
"/chunks/invitation.dbda315af297dab59279.hot-update.js": "/chunks/invitation.dbda315af297dab59279.hot-update.js",
"/chunks/invitation.3858b0cef0b728878a32.hot-update.js": "/chunks/invitation.3858b0cef0b728878a32.hot-update.js",
"/chunks/invitation.c58b326109031f8ee23c.hot-update.js": "/chunks/invitation.c58b326109031f8ee23c.hot-update.js",
"/chunks/invitation.88900b2f9ad83b05c33e.hot-update.js": "/chunks/invitation.88900b2f9ad83b05c33e.hot-update.js",
"/chunks/invitation.d0e3e204f6bd5c313fcb.hot-update.js": "/chunks/invitation.d0e3e204f6bd5c313fcb.hot-update.js",
"/chunks/invitation.43057e2fedca8ec9853a.hot-update.js": "/chunks/invitation.43057e2fedca8ec9853a.hot-update.js",
"/chunks/invitation.75acfefef2a69e2755d2.hot-update.js": "/chunks/invitation.75acfefef2a69e2755d2.hot-update.js",
"/chunks/invitation.7dc5f93ab032ffe14e2e.hot-update.js": "/chunks/invitation.7dc5f93ab032ffe14e2e.hot-update.js",
"/chunks/invitation.b88b787b6ff586378876.hot-update.js": "/chunks/invitation.b88b787b6ff586378876.hot-update.js",
"/chunks/invitation.f5cb2b14f3eb283438eb.hot-update.js": "/chunks/invitation.f5cb2b14f3eb283438eb.hot-update.js",
"/chunks/invitation.4779bfe627cd1dafda6c.hot-update.js": "/chunks/invitation.4779bfe627cd1dafda6c.hot-update.js",
"/chunks/invitation.8d6a5c9955a0a303acf7.hot-update.js": "/chunks/invitation.8d6a5c9955a0a303acf7.hot-update.js",
"/chunks/invitation.e3334532d53004c4d052.hot-update.js": "/chunks/invitation.e3334532d53004c4d052.hot-update.js",
"/chunks/invitation.0e7682d842cb8ca4288c.hot-update.js": "/chunks/invitation.0e7682d842cb8ca4288c.hot-update.js",
"/chunks/invitation.59a67a47fdaa0546aa8f.hot-update.js": "/chunks/invitation.59a67a47fdaa0546aa8f.hot-update.js",
"/chunks/invitation.b8e4462ffcb4e9343449.hot-update.js": "/chunks/invitation.b8e4462ffcb4e9343449.hot-update.js",
"/chunks/invitation.c107246fe47ee296e477.hot-update.js": "/chunks/invitation.c107246fe47ee296e477.hot-update.js",
"/chunks/invitation.1c88d6b06ccb4ab92c1b.hot-update.js": "/chunks/invitation.1c88d6b06ccb4ab92c1b.hot-update.js",
"/chunks/invitation.bebe9c751cbf7e231bdf.hot-update.js": "/chunks/invitation.bebe9c751cbf7e231bdf.hot-update.js",
"/chunks/invitation.ec7133cae406824e1773.hot-update.js": "/chunks/invitation.ec7133cae406824e1773.hot-update.js",
"/chunks/invitation.f2ccf0529e89cff32d33.hot-update.js": "/chunks/invitation.f2ccf0529e89cff32d33.hot-update.js",
"/chunks/invitation.16853a952981c06d8f75.hot-update.js": "/chunks/invitation.16853a952981c06d8f75.hot-update.js",
"/chunks/invitation.0d3fff9275da42ae470b.hot-update.js": "/chunks/invitation.0d3fff9275da42ae470b.hot-update.js",
"/chunks/invitation.15b12fad86c65e140b00.hot-update.js": "/chunks/invitation.15b12fad86c65e140b00.hot-update.js",
"/chunks/invitation.c3fbde2b68eee0a7ac11.hot-update.js": "/chunks/invitation.c3fbde2b68eee0a7ac11.hot-update.js",
"/chunks/invitation.1fa8bd265ecebbd80f77.hot-update.js": "/chunks/invitation.1fa8bd265ecebbd80f77.hot-update.js",
"/chunks/invitation.c68670751483df2f9b5f.hot-update.js": "/chunks/invitation.c68670751483df2f9b5f.hot-update.js",
"/chunks/invitation.948534803db5f3f89cee.hot-update.js": "/chunks/invitation.948534803db5f3f89cee.hot-update.js",
"/chunks/invitation.487e6a5240fbd9806d81.hot-update.js": "/chunks/invitation.487e6a5240fbd9806d81.hot-update.js",
"/chunks/invitation.dca6f02656776e4c3a7f.hot-update.js": "/chunks/invitation.dca6f02656776e4c3a7f.hot-update.js",
"/chunks/invitation.f17ddbc56f065f2015c6.hot-update.js": "/chunks/invitation.f17ddbc56f065f2015c6.hot-update.js",
"/chunks/invitation.49c8455152f9912fbacd.hot-update.js": "/chunks/invitation.49c8455152f9912fbacd.hot-update.js",
"/chunks/invitation.ff50b7cf3ef4468434ab.hot-update.js": "/chunks/invitation.ff50b7cf3ef4468434ab.hot-update.js",
"/chunks/invitation.f1ca71c158bdb7224da5.hot-update.js": "/chunks/invitation.f1ca71c158bdb7224da5.hot-update.js",
"/chunks/invitation.b827b3fe55e98184e2d5.hot-update.js": "/chunks/invitation.b827b3fe55e98184e2d5.hot-update.js",
"/chunks/invitation.99fe0c581ece1ce58487.hot-update.js": "/chunks/invitation.99fe0c581ece1ce58487.hot-update.js",
"/chunks/invitation.0f8c35ac0308bb40d687.hot-update.js": "/chunks/invitation.0f8c35ac0308bb40d687.hot-update.js",
"/chunks/invitation.0306c689c266b0d5a786.hot-update.js": "/chunks/invitation.0306c689c266b0d5a786.hot-update.js",
"/chunks/invitation.e77f60d037afee26b033.hot-update.js": "/chunks/invitation.e77f60d037afee26b033.hot-update.js",
"/chunks/invitation.3d3f2ddf501d57bccf8f.hot-update.js": "/chunks/invitation.3d3f2ddf501d57bccf8f.hot-update.js",
"/chunks/invitation.d0213f70afb815987cfa.hot-update.js": "/chunks/invitation.d0213f70afb815987cfa.hot-update.js",
"/chunks/not-found.f218c01ebb82c54b5b2e.hot-update.js": "/chunks/not-found.f218c01ebb82c54b5b2e.hot-update.js",
"/chunks/not-found.35132546988209c0a168.hot-update.js": "/chunks/not-found.35132546988209c0a168.hot-update.js",
"/chunks/invitation.0e8421886190d3530a30.hot-update.js": "/chunks/invitation.0e8421886190d3530a30.hot-update.js",
"/chunks/invitation.88e36d0653a945863e74.hot-update.js": "/chunks/invitation.88e36d0653a945863e74.hot-update.js",
"/chunks/invitation.d8b60c53e5bc1ae454af.hot-update.js": "/chunks/invitation.d8b60c53e5bc1ae454af.hot-update.js",
"/chunks/invitation.77e0b7dbeb4796a29c79.hot-update.js": "/chunks/invitation.77e0b7dbeb4796a29c79.hot-update.js",
"/chunks/invitation.dcecb0bd08c0305f653b.hot-update.js": "/chunks/invitation.dcecb0bd08c0305f653b.hot-update.js",
"/chunks/invitation.ce5083414039b581fd9d.hot-update.js": "/chunks/invitation.ce5083414039b581fd9d.hot-update.js",
"/chunks/invitation.8250bf4d5b6a3c41ff1b.hot-update.js": "/chunks/invitation.8250bf4d5b6a3c41ff1b.hot-update.js",
"/chunks/invitation.0617fd57e8d884ac3204.hot-update.js": "/chunks/invitation.0617fd57e8d884ac3204.hot-update.js",
"/chunks/invitation.35cb5e1bab8538e53a4e.hot-update.js": "/chunks/invitation.35cb5e1bab8538e53a4e.hot-update.js",
"/chunks/invitation.6f0f9e51d034fb7c184b.hot-update.js": "/chunks/invitation.6f0f9e51d034fb7c184b.hot-update.js",
"/chunks/invitation.1eec44cb9370a42e9387.hot-update.js": "/chunks/invitation.1eec44cb9370a42e9387.hot-update.js",
"/chunks/invitation.22db652ff61b248aea08.hot-update.js": "/chunks/invitation.22db652ff61b248aea08.hot-update.js",
"/chunks/invitation.1afde83edcf3a53118ed.hot-update.js": "/chunks/invitation.1afde83edcf3a53118ed.hot-update.js",
"/chunks/invitation.c6a35205a9b5b5a4b5a7.hot-update.js": "/chunks/invitation.c6a35205a9b5b5a4b5a7.hot-update.js",
"/chunks/create-new-password.81c944729b438b264660.hot-update.js": "/chunks/create-new-password.81c944729b438b264660.hot-update.js",
"/chunks/email-verified.81c944729b438b264660.hot-update.js": "/chunks/email-verified.81c944729b438b264660.hot-update.js",
"/chunks/forgotten-password.81c944729b438b264660.hot-update.js": "/chunks/forgotten-password.81c944729b438b264660.hot-update.js",
"/chunks/invitation.81c944729b438b264660.hot-update.js": "/chunks/invitation.81c944729b438b264660.hot-update.js",
"/chunks/not-found.81c944729b438b264660.hot-update.js": "/chunks/not-found.81c944729b438b264660.hot-update.js",
"/chunks/shared/authenticate.81c944729b438b264660.hot-update.js": "/chunks/shared/authenticate.81c944729b438b264660.hot-update.js",
"/chunks/sign-in.81c944729b438b264660.hot-update.js": "/chunks/sign-in.81c944729b438b264660.hot-update.js",
"/chunks/sign-up.81c944729b438b264660.hot-update.js": "/chunks/sign-up.81c944729b438b264660.hot-update.js",
"/chunks/admin-account.29edb0870828fffc8814.hot-update.js": "/chunks/admin-account.29edb0870828fffc8814.hot-update.js",
"/chunks/app-setup.29edb0870828fffc8814.hot-update.js": "/chunks/app-setup.29edb0870828fffc8814.hot-update.js",
"/chunks/billings-detail.29edb0870828fffc8814.hot-update.js": "/chunks/billings-detail.29edb0870828fffc8814.hot-update.js",
"/chunks/create-new-password.29edb0870828fffc8814.hot-update.js": "/chunks/create-new-password.29edb0870828fffc8814.hot-update.js",
"/chunks/database.29edb0870828fffc8814.hot-update.js": "/chunks/database.29edb0870828fffc8814.hot-update.js",
"/chunks/email-verified.29edb0870828fffc8814.hot-update.js": "/chunks/email-verified.29edb0870828fffc8814.hot-update.js",
"/chunks/environment-setup.29edb0870828fffc8814.hot-update.js": "/chunks/environment-setup.29edb0870828fffc8814.hot-update.js",
"/chunks/forgotten-password.29edb0870828fffc8814.hot-update.js": "/chunks/forgotten-password.29edb0870828fffc8814.hot-update.js",
"/chunks/installation-disclaimer.29edb0870828fffc8814.hot-update.js": "/chunks/installation-disclaimer.29edb0870828fffc8814.hot-update.js",
"/chunks/invitation.29edb0870828fffc8814.hot-update.js": "/chunks/invitation.29edb0870828fffc8814.hot-update.js",
"/chunks/not-found.29edb0870828fffc8814.hot-update.js": "/chunks/not-found.29edb0870828fffc8814.hot-update.js",
"/chunks/purchase-code.29edb0870828fffc8814.hot-update.js": "/chunks/purchase-code.29edb0870828fffc8814.hot-update.js",
"/chunks/shared/authenticate.29edb0870828fffc8814.hot-update.js": "/chunks/shared/authenticate.29edb0870828fffc8814.hot-update.js",
"/chunks/sign-in.29edb0870828fffc8814.hot-update.js": "/chunks/sign-in.29edb0870828fffc8814.hot-update.js",
"/chunks/sign-up.29edb0870828fffc8814.hot-update.js": "/chunks/sign-up.29edb0870828fffc8814.hot-update.js",
"/chunks/status-check.29edb0870828fffc8814.hot-update.js": "/chunks/status-check.29edb0870828fffc8814.hot-update.js",
"/chunks/stripe-credentials.29edb0870828fffc8814.hot-update.js": "/chunks/stripe-credentials.29edb0870828fffc8814.hot-update.js",
"/chunks/subscription-plans.29edb0870828fffc8814.hot-update.js": "/chunks/subscription-plans.29edb0870828fffc8814.hot-update.js",
"/chunks/subscription-service.29edb0870828fffc8814.hot-update.js": "/chunks/subscription-service.29edb0870828fffc8814.hot-update.js",
"/chunks/create-new-password.5c71597d52d67d2410f3.hot-update.js": "/chunks/create-new-password.5c71597d52d67d2410f3.hot-update.js",
"/chunks/email-verified.5c71597d52d67d2410f3.hot-update.js": "/chunks/email-verified.5c71597d52d67d2410f3.hot-update.js",
"/chunks/forgotten-password.5c71597d52d67d2410f3.hot-update.js": "/chunks/forgotten-password.5c71597d52d67d2410f3.hot-update.js",
"/chunks/invitation.5c71597d52d67d2410f3.hot-update.js": "/chunks/invitation.5c71597d52d67d2410f3.hot-update.js",
"/chunks/not-found.5c71597d52d67d2410f3.hot-update.js": "/chunks/not-found.5c71597d52d67d2410f3.hot-update.js",
"/chunks/shared/authenticate.5c71597d52d67d2410f3.hot-update.js": "/chunks/shared/authenticate.5c71597d52d67d2410f3.hot-update.js",
"/chunks/sign-in.5c71597d52d67d2410f3.hot-update.js": "/chunks/sign-in.5c71597d52d67d2410f3.hot-update.js",
"/chunks/sign-up.5c71597d52d67d2410f3.hot-update.js": "/chunks/sign-up.5c71597d52d67d2410f3.hot-update.js",
"/chunks/admin-account.3c9ec95e6eb207a14207.hot-update.js": "/chunks/admin-account.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/app-setup.3c9ec95e6eb207a14207.hot-update.js": "/chunks/app-setup.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/billings-detail.3c9ec95e6eb207a14207.hot-update.js": "/chunks/billings-detail.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/create-new-password.3c9ec95e6eb207a14207.hot-update.js": "/chunks/create-new-password.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/database.3c9ec95e6eb207a14207.hot-update.js": "/chunks/database.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/email-verified.3c9ec95e6eb207a14207.hot-update.js": "/chunks/email-verified.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/environment-setup.3c9ec95e6eb207a14207.hot-update.js": "/chunks/environment-setup.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/forgotten-password.3c9ec95e6eb207a14207.hot-update.js": "/chunks/forgotten-password.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/installation-disclaimer.3c9ec95e6eb207a14207.hot-update.js": "/chunks/installation-disclaimer.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/invitation.3c9ec95e6eb207a14207.hot-update.js": "/chunks/invitation.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/not-found.3c9ec95e6eb207a14207.hot-update.js": "/chunks/not-found.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/purchase-code.3c9ec95e6eb207a14207.hot-update.js": "/chunks/purchase-code.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/shared/authenticate.3c9ec95e6eb207a14207.hot-update.js": "/chunks/shared/authenticate.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/sign-in.3c9ec95e6eb207a14207.hot-update.js": "/chunks/sign-in.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/sign-up.3c9ec95e6eb207a14207.hot-update.js": "/chunks/sign-up.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/status-check.3c9ec95e6eb207a14207.hot-update.js": "/chunks/status-check.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/stripe-credentials.3c9ec95e6eb207a14207.hot-update.js": "/chunks/stripe-credentials.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/subscription-plans.3c9ec95e6eb207a14207.hot-update.js": "/chunks/subscription-plans.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/subscription-service.3c9ec95e6eb207a14207.hot-update.js": "/chunks/subscription-service.3c9ec95e6eb207a14207.hot-update.js",
"/chunks/invitation.86087aff161cc675d48e.hot-update.js": "/chunks/invitation.86087aff161cc675d48e.hot-update.js",
"/chunks/create-new-password.893e19324cb437000621.hot-update.js": "/chunks/create-new-password.893e19324cb437000621.hot-update.js",
"/chunks/email-verified.893e19324cb437000621.hot-update.js": "/chunks/email-verified.893e19324cb437000621.hot-update.js",
"/chunks/forgotten-password.893e19324cb437000621.hot-update.js": "/chunks/forgotten-password.893e19324cb437000621.hot-update.js",
"/chunks/invitation.893e19324cb437000621.hot-update.js": "/chunks/invitation.893e19324cb437000621.hot-update.js",
"/chunks/not-found.893e19324cb437000621.hot-update.js": "/chunks/not-found.893e19324cb437000621.hot-update.js",
"/chunks/shared/authenticate.893e19324cb437000621.hot-update.js": "/chunks/shared/authenticate.893e19324cb437000621.hot-update.js",
"/chunks/sign-in.893e19324cb437000621.hot-update.js": "/chunks/sign-in.893e19324cb437000621.hot-update.js",
"/chunks/sign-up.893e19324cb437000621.hot-update.js": "/chunks/sign-up.893e19324cb437000621.hot-update.js",
"/chunks/create-new-password.6a51f03b7a31fc164592.hot-update.js": "/chunks/create-new-password.6a51f03b7a31fc164592.hot-update.js",
"/chunks/email-verified.6a51f03b7a31fc164592.hot-update.js": "/chunks/email-verified.6a51f03b7a31fc164592.hot-update.js",
"/chunks/forgotten-password.6a51f03b7a31fc164592.hot-update.js": "/chunks/forgotten-password.6a51f03b7a31fc164592.hot-update.js",
"/chunks/invitation.6a51f03b7a31fc164592.hot-update.js": "/chunks/invitation.6a51f03b7a31fc164592.hot-update.js",
"/chunks/not-found.6a51f03b7a31fc164592.hot-update.js": "/chunks/not-found.6a51f03b7a31fc164592.hot-update.js",
"/chunks/shared/authenticate.6a51f03b7a31fc164592.hot-update.js": "/chunks/shared/authenticate.6a51f03b7a31fc164592.hot-update.js",
"/chunks/sign-in.6a51f03b7a31fc164592.hot-update.js": "/chunks/sign-in.6a51f03b7a31fc164592.hot-update.js",
"/chunks/sign-up.6a51f03b7a31fc164592.hot-update.js": "/chunks/sign-up.6a51f03b7a31fc164592.hot-update.js",
"/chunks/create-new-password.4f0dd80a22a4851c820a.hot-update.js": "/chunks/create-new-password.4f0dd80a22a4851c820a.hot-update.js",
"/chunks/email-verified.4f0dd80a22a4851c820a.hot-update.js": "/chunks/email-verified.4f0dd80a22a4851c820a.hot-update.js",
"/chunks/forgotten-password.4f0dd80a22a4851c820a.hot-update.js": "/chunks/forgotten-password.4f0dd80a22a4851c820a.hot-update.js",
"/chunks/invitation.4f0dd80a22a4851c820a.hot-update.js": "/chunks/invitation.4f0dd80a22a4851c820a.hot-update.js",
"/chunks/not-found.4f0dd80a22a4851c820a.hot-update.js": "/chunks/not-found.4f0dd80a22a4851c820a.hot-update.js",
"/chunks/shared/authenticate.4f0dd80a22a4851c820a.hot-update.js": "/chunks/shared/authenticate.4f0dd80a22a4851c820a.hot-update.js",
"/chunks/sign-in.4f0dd80a22a4851c820a.hot-update.js": "/chunks/sign-in.4f0dd80a22a4851c820a.hot-update.js",
"/chunks/sign-up.4f0dd80a22a4851c820a.hot-update.js": "/chunks/sign-up.4f0dd80a22a4851c820a.hot-update.js",
"/chunks/invitation.90643bc935bf2c348e77.hot-update.js": "/chunks/invitation.90643bc935bf2c348e77.hot-update.js",
"/chunks/invitation.14f207ef215c49ca34e9.hot-update.js": "/chunks/invitation.14f207ef215c49ca34e9.hot-update.js",
"/chunks/create-new-password.7a42d0247b6f2547377f.hot-update.js": "/chunks/create-new-password.7a42d0247b6f2547377f.hot-update.js",
"/chunks/email-verified.7a42d0247b6f2547377f.hot-update.js": "/chunks/email-verified.7a42d0247b6f2547377f.hot-update.js",
"/chunks/forgotten-password.7a42d0247b6f2547377f.hot-update.js": "/chunks/forgotten-password.7a42d0247b6f2547377f.hot-update.js",
"/chunks/invitation.7a42d0247b6f2547377f.hot-update.js": "/chunks/invitation.7a42d0247b6f2547377f.hot-update.js",
"/chunks/not-found.7a42d0247b6f2547377f.hot-update.js": "/chunks/not-found.7a42d0247b6f2547377f.hot-update.js",
"/chunks/shared/authenticate.7a42d0247b6f2547377f.hot-update.js": "/chunks/shared/authenticate.7a42d0247b6f2547377f.hot-update.js",
"/chunks/sign-in.7a42d0247b6f2547377f.hot-update.js": "/chunks/sign-in.7a42d0247b6f2547377f.hot-update.js",
"/chunks/sign-up.7a42d0247b6f2547377f.hot-update.js": "/chunks/sign-up.7a42d0247b6f2547377f.hot-update.js",
"/chunks/invitation.d7f293d25275649ad19b.hot-update.js": "/chunks/invitation.d7f293d25275649ad19b.hot-update.js",
"/chunks/invitation.61174ad4d585c74ebcf0.hot-update.js": "/chunks/invitation.61174ad4d585c74ebcf0.hot-update.js",
"/chunks/invitation.7a338379343804d9bcc1.hot-update.js": "/chunks/invitation.7a338379343804d9bcc1.hot-update.js",
"/chunks/invitation.9a60e08b5c8871c6f678.hot-update.js": "/chunks/invitation.9a60e08b5c8871c6f678.hot-update.js",
"/chunks/invitation.34b3c8fe6a7379ef7328.hot-update.js": "/chunks/invitation.34b3c8fe6a7379ef7328.hot-update.js",
"/chunks/invitation.5f64072598377b9d1b00.hot-update.js": "/chunks/invitation.5f64072598377b9d1b00.hot-update.js",
"/chunks/invitation.12c932914736fbd428f7.hot-update.js": "/chunks/invitation.12c932914736fbd428f7.hot-update.js",
"/chunks/invitation.5fd15dae6f69a7291b4c.hot-update.js": "/chunks/invitation.5fd15dae6f69a7291b4c.hot-update.js",
"/chunks/invitation.6703ec9aa16071d426c6.hot-update.js": "/chunks/invitation.6703ec9aa16071d426c6.hot-update.js",
"/chunks/invitation.fcd7c8144a26316e4944.hot-update.js": "/chunks/invitation.fcd7c8144a26316e4944.hot-update.js",
"/chunks/invitation.241796ddab2f28dc8141.hot-update.js": "/chunks/invitation.241796ddab2f28dc8141.hot-update.js",
"/chunks/invitation.aabf56c7eff70ad1a591.hot-update.js": "/chunks/invitation.aabf56c7eff70ad1a591.hot-update.js",
"/chunks/invitation.12e12ce5fdf2333b8456.hot-update.js": "/chunks/invitation.12e12ce5fdf2333b8456.hot-update.js",
"/chunks/invitation.cedb18440dffd48659a5.hot-update.js": "/chunks/invitation.cedb18440dffd48659a5.hot-update.js",
"/chunks/invitation.b83038450b07a1ce3b66.hot-update.js": "/chunks/invitation.b83038450b07a1ce3b66.hot-update.js",
"/chunks/invitation.a5a5a64f58464e453ab2.hot-update.js": "/chunks/invitation.a5a5a64f58464e453ab2.hot-update.js",
"/chunks/invitation.0db5135731fb2559ed6b.hot-update.js": "/chunks/invitation.0db5135731fb2559ed6b.hot-update.js",
"/chunks/invitation.1e575a7b43d4cf93f0e7.hot-update.js": "/chunks/invitation.1e575a7b43d4cf93f0e7.hot-update.js",
"/chunks/invitation.06a90525f137e635d448.hot-update.js": "/chunks/invitation.06a90525f137e635d448.hot-update.js",
"/chunks/invitation.1ecad90832d27c73ccc0.hot-update.js": "/chunks/invitation.1ecad90832d27c73ccc0.hot-update.js",
"/chunks/invitation.a961b95a94f841997564.hot-update.js": "/chunks/invitation.a961b95a94f841997564.hot-update.js",
"/chunks/invitation.c0590312aa7c56e293c5.hot-update.js": "/chunks/invitation.c0590312aa7c56e293c5.hot-update.js",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.c25cc9e6570611c3f9c7.hot-update.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.c25cc9e6570611c3f9c7.hot-update.js",
"/chunks/invitation.c25cc9e6570611c3f9c7.hot-update.js": "/chunks/invitation.c25cc9e6570611c3f9c7.hot-update.js",
"/chunks/invitation.5c63c23914f83bff8e3a.hot-update.js": "/chunks/invitation.5c63c23914f83bff8e3a.hot-update.js",
"/chunks/invitation.d1ef757b48cffe4e89a1.hot-update.js": "/chunks/invitation.d1ef757b48cffe4e89a1.hot-update.js",
"/chunks/invitation.e80ddc86250750180a96.hot-update.js": "/chunks/invitation.e80ddc86250750180a96.hot-update.js",
"/chunks/invitation.840593ef47a8d2095a1e.hot-update.js": "/chunks/invitation.840593ef47a8d2095a1e.hot-update.js",
"/chunks/invitation.80787b41c19226e05943.hot-update.js": "/chunks/invitation.80787b41c19226e05943.hot-update.js",
"/chunks/invitation.03a78fa8eb9af860428e.hot-update.js": "/chunks/invitation.03a78fa8eb9af860428e.hot-update.js",
"/chunks/invitation.cb8aa5ec979f895e92f2.hot-update.js": "/chunks/invitation.cb8aa5ec979f895e92f2.hot-update.js",
"/chunks/invitation.d0705f1eddd1a311f677.hot-update.js": "/chunks/invitation.d0705f1eddd1a311f677.hot-update.js",
"/chunks/invitation.e8c7547c4fb605ab6b87.hot-update.js": "/chunks/invitation.e8c7547c4fb605ab6b87.hot-update.js",
"/chunks/invitation.824863d0b9d701e04407.hot-update.js": "/chunks/invitation.824863d0b9d701e04407.hot-update.js",
"/chunks/invitation.eeb981cb16337c340aff.hot-update.js": "/chunks/invitation.eeb981cb16337c340aff.hot-update.js",
"/chunks/invitation.0c0e00f91a5605d398e0.hot-update.js": "/chunks/invitation.0c0e00f91a5605d398e0.hot-update.js",
"/chunks/invitation.ed6f915310aa29bb4c6a.hot-update.js": "/chunks/invitation.ed6f915310aa29bb4c6a.hot-update.js",
"/chunks/invitation.03ee3d3ce05a5c356e33.hot-update.js": "/chunks/invitation.03ee3d3ce05a5c356e33.hot-update.js",
"/chunks/invitation.4b0c61a90bfd1ccb7585.hot-update.js": "/chunks/invitation.4b0c61a90bfd1ccb7585.hot-update.js",
"/chunks/invitation.348771f70ae8664d1269.hot-update.js": "/chunks/invitation.348771f70ae8664d1269.hot-update.js",
"/chunks/invitation.337313e8c6c113c5d6d8.hot-update.js": "/chunks/invitation.337313e8c6c113c5d6d8.hot-update.js",
"/chunks/invitation.39d445b0791bcc3c938b.hot-update.js": "/chunks/invitation.39d445b0791bcc3c938b.hot-update.js",
"/chunks/invitation.80f6530c289fb178db83.hot-update.js": "/chunks/invitation.80f6530c289fb178db83.hot-update.js",
"/chunks/invitation.91765713043ed1ada18f.hot-update.js": "/chunks/invitation.91765713043ed1ada18f.hot-update.js",
"/chunks/invitation.5de9c124c3d97f9636a5.hot-update.js": "/chunks/invitation.5de9c124c3d97f9636a5.hot-update.js",
"/chunks/invitation.6f625e4aac1a6c516cc2.hot-update.js": "/chunks/invitation.6f625e4aac1a6c516cc2.hot-update.js",
"/chunks/invitation.ea91a886468be72b1ebb.hot-update.js": "/chunks/invitation.ea91a886468be72b1ebb.hot-update.js",
"/chunks/invitation.c4785b8d05915551a214.hot-update.js": "/chunks/invitation.c4785b8d05915551a214.hot-update.js",
"/chunks/invitation.24cd35d8d94abbb6e15e.hot-update.js": "/chunks/invitation.24cd35d8d94abbb6e15e.hot-update.js",
"/chunks/invitation.751d4195fd61e04a031e.hot-update.js": "/chunks/invitation.751d4195fd61e04a031e.hot-update.js",
"/chunks/invitation.8b98e96d9bebd7f8fbad.hot-update.js": "/chunks/invitation.8b98e96d9bebd7f8fbad.hot-update.js",
"/chunks/invitation.29e6ba138d3d0020f971.hot-update.js": "/chunks/invitation.29e6ba138d3d0020f971.hot-update.js",
"/chunks/invitation.c051ffc33ef074862f48.hot-update.js": "/chunks/invitation.c051ffc33ef074862f48.hot-update.js",
"/chunks/invitation.b4c620dd3b544a7455c1.hot-update.js": "/chunks/invitation.b4c620dd3b544a7455c1.hot-update.js",
"/chunks/invitation.dc98bc196a8adb0db82d.hot-update.js": "/chunks/invitation.dc98bc196a8adb0db82d.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.b2484a7258d336087459.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.b2484a7258d336087459.hot-update.js",
"/chunks/invitation.b2484a7258d336087459.hot-update.js": "/chunks/invitation.b2484a7258d336087459.hot-update.js",
"/chunks/invitation.e33ad7b55e7e6e284e3c.hot-update.js": "/chunks/invitation.e33ad7b55e7e6e284e3c.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.6b9b38c52476d6fec3d7.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.6b9b38c52476d6fec3d7.hot-update.js",
"/chunks/invitation.6b9b38c52476d6fec3d7.hot-update.js": "/chunks/invitation.6b9b38c52476d6fec3d7.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.21d08c80f2765e10d757.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.21d08c80f2765e10d757.hot-update.js",
"/chunks/invitation.21d08c80f2765e10d757.hot-update.js": "/chunks/invitation.21d08c80f2765e10d757.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.2db71fe630ce3fb27ab7.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.2db71fe630ce3fb27ab7.hot-update.js",
"/chunks/invitation.2db71fe630ce3fb27ab7.hot-update.js": "/chunks/invitation.2db71fe630ce3fb27ab7.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.0ce8a8dafc9f70bdb4e4.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.0ce8a8dafc9f70bdb4e4.hot-update.js",
"/chunks/invitation.0ce8a8dafc9f70bdb4e4.hot-update.js": "/chunks/invitation.0ce8a8dafc9f70bdb4e4.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.7a1f3838a72d635e26c8.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.7a1f3838a72d635e26c8.hot-update.js",
"/chunks/invitation.7a1f3838a72d635e26c8.hot-update.js": "/chunks/invitation.7a1f3838a72d635e26c8.hot-update.js",
"/chunks/invitation.13a072a555ee99f082b3.hot-update.js": "/chunks/invitation.13a072a555ee99f082b3.hot-update.js",
"/chunks/invitation.5063bd0bdcab3fe4dd3e.hot-update.js": "/chunks/invitation.5063bd0bdcab3fe4dd3e.hot-update.js",
"/chunks/invitation.bf7e5a4223fe6fdddead.hot-update.js": "/chunks/invitation.bf7e5a4223fe6fdddead.hot-update.js",
"/chunks/invitation.7cf6eacf4d5507f0f72d.hot-update.js": "/chunks/invitation.7cf6eacf4d5507f0f72d.hot-update.js",
"/chunks/invitation.7061e592669eb8b36ee6.hot-update.js": "/chunks/invitation.7061e592669eb8b36ee6.hot-update.js",
"/chunks/invitation.1ffd982c8576176cf7e1.hot-update.js": "/chunks/invitation.1ffd982c8576176cf7e1.hot-update.js",
"/chunks/invitation.87db4640acf26c26b81c.hot-update.js": "/chunks/invitation.87db4640acf26c26b81c.hot-update.js",
"/chunks/invitation.887b4ad518f6d491542c.hot-update.js": "/chunks/invitation.887b4ad518f6d491542c.hot-update.js",
"/chunks/invitation.b723eb7a2c6cf0560add.hot-update.js": "/chunks/invitation.b723eb7a2c6cf0560add.hot-update.js",
"/chunks/invitation.571e1cc5ad84cc8852ac.hot-update.js": "/chunks/invitation.571e1cc5ad84cc8852ac.hot-update.js",
"/chunks/invitation.c9392dc5d0ed9bf72790.hot-update.js": "/chunks/invitation.c9392dc5d0ed9bf72790.hot-update.js",
"/chunks/invitation.b7d2006325dcb2651d31.hot-update.js": "/chunks/invitation.b7d2006325dcb2651d31.hot-update.js",
"/chunks/invitation.928003becfb8f889013a.hot-update.js": "/chunks/invitation.928003becfb8f889013a.hot-update.js",
"/chunks/invitation.ab25e4b336ac707c138b.hot-update.js": "/chunks/invitation.ab25e4b336ac707c138b.hot-update.js",
"/chunks/invitation.22a81bd3cc38efa4de06.hot-update.js": "/chunks/invitation.22a81bd3cc38efa4de06.hot-update.js",
"/chunks/invitation.67f7ef73ede05df067b8.hot-update.js": "/chunks/invitation.67f7ef73ede05df067b8.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.e1037e7a784f487530a6.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.e1037e7a784f487530a6.hot-update.js",
"/chunks/invitation.e1037e7a784f487530a6.hot-update.js": "/chunks/invitation.e1037e7a784f487530a6.hot-update.js"
}

View File

@@ -1,5 +1,5 @@
<template>
<div class="auth-form" v-if="isVisible">
<div v-if="isVisible" class="auth-form">
<slot></slot>
</div>
</template>

View File

@@ -1,5 +1,5 @@
<template>
<svg width="53px" height="52px" viewBox="0 0 53 39" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg viewBox="0 0 53 39" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<linearGradient x1="50%" y1="6.48193497%" x2="50%" y2="35.9903566%" id="linearGradient-8fktz2_lvc-1">
<stop stop-color="#3DB07D" offset="0%"></stop>

View File

@@ -5,7 +5,7 @@
v-if="member.data.attributes.avatar"
:src="member.data.attributes.avatar"
:alt="member.data.attributes.name"
class="rounded-lg"
class="rounded-xl border-4 border-white"
>
<TypedAvatar
v-else

View File

@@ -6,6 +6,7 @@ import routesIndex from './routes/routesIndex'
import routesAuth from './routes/routesAuth'
import routesUser from './routes/routesUser'
import routesFile from './routes/routesFile'
import routesTeam from './routes/routesTeam'
import store from './store/index'
import Router from 'vue-router'
import Vue from 'vue'
@@ -23,6 +24,7 @@ const router = new Router({
...routesAuth,
...routesUser,
...routesFile,
...routesTeam,
],
scrollBehavior(to, from, savedPosition) {
if (savedPosition) {

13
resources/js/routes/routesTeam.js vendored Normal file
View File

@@ -0,0 +1,13 @@
const routesTeam = [
{
name: 'Invitation',
path: '/team-folder-invitation/:id',
component: () =>
import(/* webpackChunkName: "chunks/invitation" */ '../views/Teams/Invitation'),
meta: {
requiresAuth: false
},
},
]
export default routesTeam

View File

@@ -1,7 +1,13 @@
<template>
<div>
<img v-if="config.app_logo" class="logo mx-auto" :src="$getImage(config.app_logo)" :alt="config.app_name">
<b v-if="! config.app_logo" class="auth-logo-text">{{ config.app_name }}</b>
<!--Custom content-->
<slot></slot>
<!--Default application logo-->
<div v-if="! $slots.default">
<img v-if="config.app_logo" class="logo mx-auto" :src="$getImage(config.app_logo)" :alt="config.app_name">
<b v-if="! config.app_logo" class="auth-logo-text">{{ config.app_name }}</b>
</div>
<h1>{{ title }}</h1>
<h2>{{ description }}:</h2>
@@ -47,4 +53,26 @@ export default {
margin-bottom: 50px;
color: $text;
}
@media only screen and (max-width: 690px) {
h1 {
@include font-size(30);
}
h2 {
@include font-size(21);
}
}
@media only screen and (max-width: 490px) {
h1 {
@include font-size(22);
}
h2 {
@include font-size(18);
}
}
</style>

View File

@@ -1,13 +1,11 @@
<template>
<AuthContentWrapper ref="auth">
<!--Password reset link sended-->
<AuthContent name="not-found" :visible="true">
<img v-if="config.app_logo" class="logo mx-auto" :src="$getImage(config.app_logo)" :alt="config.app_name">
<b v-if="! config.app_logo" class="auth-logo-text">{{ config.app_name }}</b>
<h1>{{ $t('page_shared_404.title') }}</h1>
<h2>{{ $t('page_shared_404.subtitle') }}</h2>
<Headline
:title="$t('page_shared_404.title')"
:description="$t('page_shared_404.subtitle')"
/>
<span class="additional-link">{{ $t('page_registration.have_an_account') }}
<router-link :to="{name: 'SignIn'}">
@@ -24,8 +22,8 @@
import AuthContent from '/resources/js/components/Auth/AuthContent'
import AuthButton from '/resources/js/components/Auth/AuthButton'
import {required} from 'vee-validate/dist/rules'
import Headline from "./Auth/Headline"
import {mapGetters} from 'vuex'
import axios from 'axios'
export default {
name: 'NotFound',
@@ -35,6 +33,7 @@
ValidationObserver,
AuthContent,
AuthButton,
Headline,
required,
},
computed: {

View File

@@ -23,7 +23,7 @@
import {ValidationProvider, ValidationObserver} from 'vee-validate/dist/vee-validate.full'
import AuthContent from '/resources/js/components/Auth/AuthContent'
import AuthButton from '/resources/js/components/Auth/AuthButton'
import Headline from "./Headline";
import Headline from "../Auth/Headline";
import {mapGetters} from "vuex";
import axios from "axios";

View File

@@ -0,0 +1,186 @@
<template>
<AuthContentWrapper ref="auth">
<!--Log In by Email-->
<AuthContent name="invitation" :visible="false">
<Headline
v-if="invitation"
:title="$t('Invitation To Join Team Folder')"
:description="$t('{name} invite you to join with his team into shared team folder', {name: invitation.data.relationships.inviter.data.attributes.name})"
>
<div class="text-center mb-10 w-24 mx-auto relative">
<VueFolderTeamIcon class="inline-block w-28" />
<MemberAvatar
class="absolute -bottom-2.5 -right-6"
:size="38"
:member="invitation.data.relationships.inviter"
/>
</div>
</Headline>
<div class="form inline-form">
<AuthButton @click.native="acceptInvitation" icon="chevron-right" :text="$t('Accept Invitation')" :loading="isLoading" :disabled="isLoading" />
</div>
<div class="additional-link font-bold">
Or
<b @click="declineInvitation" class="text-theme font-bold">
{{ $t('decline') }}
</b>
your invitation.
</div>
</AuthContent>
<!--Accepted invitation screen-->
<AuthContent v-if="invitation" name="accepted" :visible="false">
<Headline
:title="$t('You are successfully joined')"
:description="$t('You can now proceed to your account and participate in team folder')"
/>
<router-link replace v-if="! config.isAuthenticated" :to="{name: 'SignIn'}">
<AuthButton icon="chevron-right" :text="$t('Proceed to your account')"/>
</router-link>
<router-link replace v-if="config.isAuthenticated" :to="{name: 'SharedWithMe', params: {id: invitation.data.attributes.parent_id}}">
<AuthButton icon="chevron-right" :text="$t('Go to Team Folder')"/>
</router-link>
</AuthContent>
<!--Denied invitation screen-->
<AuthContent name="denied" :visible="false">
<Headline
:title="$t('You are successfully denied invitation')"
:description="$t('You can now proceed to your account')"
/>
<router-link :to="{name: 'SignIn'}">
<AuthButton icon="chevron-right" :text="$t('Proceed to your account')"/>
</router-link>
</AuthContent>
<!--Used or Expired invitation screen-->
<AuthContent name="expired" :visible="false">
<Headline
:title="$t('Your invitation has been used')"
:description="$t('We are sorry but this invitation was used previously')"
/>
<router-link replace v-if="! config.isAuthenticated" :to="{name: 'SignIn'}">
<AuthButton icon="chevron-right" :text="$t('Log In')"/>
</router-link>
<router-link replace v-if="config.isAuthenticated" :to="{name: 'SharedWithMe'}">
<AuthButton icon="chevron-right" :text="$t('Go to your shared folders')"/>
</router-link>
</AuthContent>
</AuthContentWrapper>
</template>
<script>
import {ValidationObserver, ValidationProvider} from 'vee-validate/dist/vee-validate.full'
import VueFolderTeamIcon from "../../components/FilesView/Icons/VueFolderTeamIcon"
import AuthContentWrapper from '/resources/js/components/Auth/AuthContentWrapper'
import AuthContent from '/resources/js/components/Auth/AuthContent'
import MemberAvatar from "../../components/FilesView/MemberAvatar"
import AuthButton from '/resources/js/components/Auth/AuthButton'
import Spinner from '/resources/js/components/FilesView/Spinner'
import Headline from "../Auth/Headline"
import {mapGetters} from 'vuex'
import axios from 'axios'
export default {
name: 'Invitation',
components: {
AuthContentWrapper,
ValidationProvider,
ValidationObserver,
VueFolderTeamIcon,
MemberAvatar,
AuthContent,
AuthButton,
Headline,
Spinner,
},
computed: {
...mapGetters([
'config'
]),
},
data() {
return {
isLoading: false,
invitation: undefined,
isUsed: false,
}
},
methods: {
acceptInvitation() {
this.isLoading = true
axios.put(`/api/teams/invitations/${this.$router.currentRoute.params.id}`)
.then(() => {
this.goToAuthPage('accepted')
})
.catch(() => {
this.$isSomethingWrong()
})
.finally(() => this.isLoading = false)
},
declineInvitation() {
this.isLoading = true
axios.delete(`/api/teams/invitations/${this.$router.currentRoute.params.id}`)
.then(() => {
this.goToAuthPage('denied')
})
.catch(() => {
this.$isSomethingWrong()
})
.finally(() => this.isLoading = false)
},
goToAuthPage(slug) {
this.$refs.auth.$children.forEach(page => {
// Hide current step
page.isVisible = false
if (page.$props.name === slug) {
// Go to next step
page.isVisible = true
}
})
},
},
created() {
axios.get(`/api/teams/invitations/${this.$router.currentRoute.params.id}`)
.then(response => {
this.invitation = response.data
this.goToAuthPage('invitation')
})
.catch(error => {
if (error.response.status === 410) {
this.goToAuthPage('expired')
} else {
this.$isSomethingWrong()
}
})
}
}
</script>
<style scoped lang="scss">
@import '/resources/sass/vuefilemanager/_auth-form';
@import '/resources/sass/vuefilemanager/_auth';
.spinner-wrapper {
width: 100%;
height: 50px;
position: relative;
top: 50px;
}
</style>

View File

@@ -56,27 +56,12 @@
.auth-form {
width: 100%;
h1 {
@include font-size(30);
}
h2 {
@include font-size(21);
}
}
}
@media only screen and (max-width: 490px) {
.auth-form {
h1 {
@include font-size(22);
}
h2 {
@include font-size(18);
}
input {
min-width: initial;

View File

@@ -7,9 +7,13 @@ use Domain\Teams\Controllers\BrowseSharedWithMeController;
use Domain\Teams\Controllers\ConvertFolderIntoTeamFolderController;
Route::apiResource('/invitations', InvitationsController::class);
Route::apiResource('/folders', TeamFoldersController::class);
Route::post('/convert/{folder}', ConvertFolderIntoTeamFolderController::class);
Route::get('/shared-with-me/{id}', BrowseSharedWithMeController::class);
Route::group(['middleware' => ['auth:sanctum']], function () {
Route::get('/tree/{id}', NavigationTreeController::class);
Route::apiResource('/folders', TeamFoldersController::class);
Route::post('/convert/{folder}', ConvertFolderIntoTeamFolderController::class);
Route::get('/shared-with-me/{id}', BrowseSharedWithMeController::class);
Route::get('/tree/{id}', NavigationTreeController::class);
});

View File

@@ -790,6 +790,7 @@ class SetupDevEnvironment extends Command
->create([
'email' => $user->email,
'parent_id' => $companyProjectFolder->id,
'inviter_id' => $companyProjectFolder->user_id,
'status' => 'pending',
'permission' => 'can-edit',
])

View File

@@ -111,7 +111,7 @@ class RouteServiceProvider extends ServiceProvider
protected function mapTeamsRoutes()
{
Route::prefix('api/teams')
->middleware(['api', 'auth:sanctum'])
->middleware(['api'])
->group(base_path('routes/teams.php'));
}

View File

@@ -22,6 +22,7 @@ class InviteMembersIntoTeamFolderAction
'permission' => $member['permission'],
'email' => $member['email'],
'parent_id' => $folder->id,
'inviter_id' => $folder->user_id,
]);
// Invite user

View File

@@ -2,6 +2,7 @@
namespace Domain\Teams\Controllers;
use App\Users\Models\User;
use Domain\Teams\Resources\TeamInvitationResource;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\DB;
use App\Http\Controllers\Controller;
@@ -10,6 +11,15 @@ use Illuminate\Contracts\Routing\ResponseFactory;
class InvitationsController extends Controller
{
public function show(TeamFolderInvitation $invitation)
{
if ($invitation->status === 'accepted') {
abort(410);
}
return new TeamInvitationResource($invitation);
}
public function update(
TeamFolderInvitation $invitation
): ResponseFactory | Response {

View File

@@ -1,6 +1,8 @@
<?php
namespace Domain\Teams\Models;
use App\Users\Models\User;
use Illuminate\Database\Eloquent\Relations\HasOne;
use Illuminate\Support\Str;
use Illuminate\Database\Eloquent\Model;
use Database\Factories\TeamFolderInvitationFactory;
@@ -34,6 +36,11 @@ class TeamFolderInvitation extends Model
return TeamFolderInvitationFactory::new();
}
public function inviter(): HasOne
{
return $this->hasOne(User::class, 'id', 'inviter_id');
}
protected static function boot()
{
parent::boot();

View File

@@ -1,4 +1,5 @@
<?php
namespace Domain\Teams\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
@@ -9,14 +10,30 @@ class TeamInvitationResource extends JsonResource
{
return [
'data' => [
'id' => $this->id,
'type' => 'invitation',
'attributes' => [
'id' => $this->id,
'type' => 'invitation',
'attributes' => [
'parent_id' => $this->parent_id,
'email' => $this->email,
'color' => $this->color,
'status' => $this->status,
'permission' => $this->permission,
],
'relationships' => [
$this->mergeWhen($this->inviter, fn() => [
'inviter' => [
'data' => [
'type' => 'user',
'id' => $this->inviter->id,
'attributes' => [
'name' => $this->inviter->settings->name,
'avatar' => $this->inviter->settings->avatar,
'color' => $this->inviter->settings->color,
],
],
],
]),
],
],
];
}

View File

@@ -8,10 +8,38 @@ use Domain\Teams\Models\TeamFolderInvitation;
use Domain\Teams\Notifications\InvitationIntoTeamFolder;
use Illuminate\Support\Facades\DB;
use Notification;
use Str;
use Tests\TestCase;
class TeamManagementTest extends TestCase
{
/**
* @test
*/
public function it_get_team_folder_invite()
{
$inviter = User::factory()
->create();
$member = User::factory()
->create();
$invitation = TeamFolderInvitation::factory()
->create([
'inviter_id' => $inviter->id,
'parent_id' => Str::uuid(),
'email' => $member->email,
'status' => 'pending',
'permission' => 'can-edit',
]);
$this->getJson("/api/teams/invitations/{$invitation->id}")
->assertOk()
->assertJsonFragment([
'name' => $inviter->settings->name,
]);
}
/**
* @test
*/
@@ -50,6 +78,19 @@ class TeamManagementTest extends TestCase
]);
}
/**
* @test
*/
public function it_get_used_team_folder_invite()
{
$invitation = TeamFolderInvitation::factory()
->create(['status' => 'accepted']);
$this
->getJson("/api/teams/invitations/{$invitation->id}")
->assertStatus(410);
}
/**
* @test
*/