Next.js 16, React 19.2, Identities page, Invitations identities step, PNPM Catalogs (#381)

* Upgraded to Next.js 16
* Refactored code to comply with React 19.2 ESLint rules
* Refactored some useEffect usages with the new useEffectEvent
* Added Identities page and added second step to set up an identity after accepting an invitation
* Updated all dependencies
* Introduced PNPM catalogs for some frequently updated dependencies
* Bugs fixing and improvements
This commit is contained in:
Giancarlo Buomprisco
2025-10-22 11:47:47 +09:00
committed by GitHub
parent ea0c1dde80
commit 2c0d0bf7a1
98 changed files with 4812 additions and 4394 deletions

View File

@@ -115,19 +115,37 @@ export class InvitationsPageObject {
async acceptInvitation() {
console.log('Accepting invitation...');
await Promise.all([
this.page
.locator('[data-test="join-team-form"] button[type="submit"]')
.click(),
this.page.waitForResponse((response) => {
return (
response.url().includes('/join') &&
response.request().method() === 'POST'
);
}),
]);
const click = this.page
.locator('[data-test="join-team-form"] button[type="submit"]')
.click();
console.log('Invitation accepted');
const response = this.page.waitForResponse((response) => {
return (
response.url().includes('/join') &&
response.request().method() === 'POST'
);
});
await Promise.all([click, response]);
// wait for animation to complete
await this.page.waitForTimeout(500);
// skip authentication setup
const skipIdentitiesButton = this.page.locator(
'[data-test="skip-identities-button"]',
);
if (
await skipIdentitiesButton.isVisible({
timeout: 1000,
})
) {
await skipIdentitiesButton.click();
}
// wait for redirect to account home
await this.page.waitForURL(new RegExp('/home/[a-z0-9-]+'));
}
private getInviteForm() {