-
Notifications
You must be signed in to change notification settings - Fork 487
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat(Orgs): Organizations #5035
base: dev
Are you sure you want to change the base?
Conversation
usame-algan
commented
Feb 19, 2025
•
edited
Loading
edited
- Epic on Notion
- Designs
* feat: add org layout with sidebar * fix change organisations to organization * feat: add links to orgs sidebar * Update apps/web/src/features/organizations/components/OrgsSidebarNavigation/config.tsx Co-authored-by: katspaugh <[email protected]> * Update apps/web/src/features/organizations/components/OrgsSidebarNavigation/config.tsx Co-authored-by: katspaugh <[email protected]> * Update apps/web/src/pages/organizations/members.tsx Co-authored-by: katspaugh <[email protected]> * Update apps/web/src/pages/organizations/dashboard.tsx Co-authored-by: katspaugh <[email protected]> * refactor: remove unecessary getPathname function --------- Co-authored-by: katspaugh <[email protected]>
* feat: add org dashboard signed out state * feat: request auth cookie from backend on sign in button click * resolve name conflict * refactor: clean up css and comments * link to orgs page from dashboard banner and modal * feat: use dynamic route for org dashboard * fix: remove dead links and allow credentials for CGW requests in rtk query * extract getSignableMessage to utils * catch failed SIWE attempts and log error
* feat: add org creation modal * Add icon
* feat: Add org card * fix: Generate deterministic color instead of using a fixed set
* feat: Implement orgs list and sign in state * feat: Add no orgs state
* feat: Add empty org pages, adjust route generation * Update apps/web/src/pages/organizations/[orgId]/safeAccounts.tsx Co-authored-by: katspaugh <[email protected]> * Update apps/web/src/pages/organizations/[orgId]/safeAccounts.tsx Co-authored-by: katspaugh <[email protected]> * fix: Extract regex --------- Co-authored-by: katspaugh <[email protected]>
…hboard (#4975) * feat: add safe list with empty state to the orgs dashboard * feat: add members list placeholder
* feat: Create org when submitting the form * fix: Handle error and loading state when submitting the form
* feat(Orgs): Add organization dashboard page signed out state (#4908) * feat: add org dashboard signed out state * feat: request auth cookie from backend on sign in button click * resolve name conflict * refactor: clean up css and comments * link to orgs page from dashboard banner and modal * feat: use dynamic route for org dashboard * fix: remove dead links and allow credentials for CGW requests in rtk query * extract getSignableMessage to utils * catch failed SIWE attempts and log error * feat: Add org selector component to the orgs sidebar * remove link from orgs card in the org selector dropdown * refactor: use grid area for orgs card
* fix: Only add credentials header for authenticated routes * fix: Add auth slice to store sign in state * fix: Only set the sign in state if the signIn call succeeds * fix: Remove TODO * Add debug logs * fix: Omit credentials for /auth endpoint requests
* fix: Only add credentials header for authenticated routes * fix: Add auth slice to store sign in state * fix: Fetch organizations when signed in * fix: Include /auth/verify in the credentials route
* fix: Add org sidebar toggle * fix: User correct icons for org sidebar and highlight current nav item
* fix: Update org creation info view * fix: Remove padding * fix: Update copy
* feat(Orgs): create add members modal * revert unrelated changes * revert unrelated changes * feat: add description to role selections and resize icons
* feat: Add update org form * fix: Add org deletion modal * feat: Add delete org call * fix: Disable form until name has changed, show notification
* fix: Update org dashboard empty view * feat: Add disabled sidebar nav items * fix: Remove gridArea and rename file * fix: Update bank icon color
Branch preview✅ Deploy successful! Website: Storybook: |
Coverage (35%)
|
📦 Next.js Bundle Analysis for @safe-global/webThis analysis was generated by the Next.js Bundle Analysis action. 🤖
|
Page | Size (compressed) |
---|---|
global |
1.07 MB (🟡 +79.5 KB) |
Details
The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.
Any third party scripts you have added directly to your app using the <script>
tag are not accounted for in this analysis
If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!
New Pages Added
The following pages were added to the bundle from the code in this PR:
Page | Size (compressed) | First Load |
---|---|---|
/organizations/[orgId] |
12.41 KB |
1.08 MB |
/organizations/[orgId]/members |
11.67 KB |
1.08 MB |
/organizations/[orgId]/safeAccounts |
5.45 KB |
1.07 MB |
/organizations/[orgId]/settings |
2.64 KB |
1.07 MB |
/welcome/organizations |
13.76 KB |
1.08 MB |
Thirty-two Pages Changed Size
The following pages changed size from the code in this PR compared to its base branch:
Page | Size (compressed) | First Load |
---|---|---|
/ |
509 B (🟢 -1 B) |
1.07 MB |
/address-book |
23.21 KB (🟡 +150 B) |
1.09 MB |
/apps |
35.75 KB (🟡 +2.03 KB) |
1.1 MB |
/apps/custom |
33.82 KB (🟡 +2.03 KB) |
1.1 MB |
/apps/open |
55.36 KB (🟡 +1.75 KB) |
1.12 MB |
/balances |
29.72 KB (🟡 +9 B) |
1.1 MB |
/balances/nfts |
9.32 KB (🟢 -234 B) |
1.08 MB |
/bridge |
2.55 KB (🟢 -4 B) |
1.07 MB |
/cookie |
8.77 KB (🟡 +1 B) |
1.08 MB |
/home |
66.59 KB (🟡 +7.33 KB) |
1.13 MB |
/licenses |
2.46 KB (🟢 -1 B) |
1.07 MB |
/new-safe/advanced-create |
26.26 KB (🟢 -201 B) |
1.09 MB |
/new-safe/create |
25.4 KB (🟢 -198 B) |
1.09 MB |
/privacy |
14.57 KB (🟡 +2 B) |
1.08 MB |
/settings |
476 B (🟡 +1 B) |
1.07 MB |
/settings/data |
1.79 KB (🟢 -1 B) |
1.07 MB |
/settings/modules |
2.88 KB (🟢 -1.18 KB) |
1.07 MB |
/settings/notifications |
7.49 KB (🟢 -13.82 KB) |
1.07 MB |
/settings/safe-apps |
20.15 KB (🟡 +1.87 KB) |
1.09 MB |
/settings/security |
2.34 KB (🟡 +2 B) |
1.07 MB |
/settings/setup |
30.98 KB (🟡 +256 B) |
1.1 MB |
/share/safe-app |
7.55 KB (🟢 -9 B) |
1.07 MB |
/stake |
617 B (🟢 -2 B) |
1.07 MB |
/swap |
763 B (🟡 +3 B) |
1.07 MB |
/terms |
12.93 KB (🟡 +1 B) |
1.08 MB |
/transactions |
99.46 KB (🟡 +2.88 KB) |
1.16 MB |
/transactions/history |
99.42 KB (🟡 +2.88 KB) |
1.16 MB |
/transactions/messages |
60.25 KB (🟡 +1.95 KB) |
1.13 MB |
/transactions/msg |
56.5 KB (🟡 +1.95 KB) |
1.12 MB |
/transactions/queue |
49.36 KB (🟡 +1.96 KB) |
1.11 MB |
/transactions/tx |
48.72 KB (🟡 +1.96 KB) |
1.11 MB |
/welcome |
6.93 KB (🟢 -2 B) |
1.07 MB |
Details
Only the gzipped size is provided here based on an expert tip.
First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link
is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.
Any third party scripts you have added directly to your app using the <script>
tag are not accounted for in this analysis
Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.
Coverage report for
|
St.❔ |
Category | Percentage | Covered / Total |
---|---|---|---|
🟡 | Statements | 77.27% (-0.05% 🔻) |
14233/18421 |
🔴 | Branches | 56.1% (-0.04% 🔻) |
3571/6365 |
🟡 | Functions | 62.13% (-0.15% 🔻) |
2123/3417 |
🟡 | Lines | 78.75% (-0.04% 🔻) |
12852/16321 |
Show new covered files 🐣
St.❔ |
File | Statements | Branches | Functions | Lines |
---|---|---|---|---|---|
🟡 | ... / authSlice.ts |
50% | 0% | 0% | 62.5% |
🟡 | ... / useIsOrganizationRoute.ts |
50% | 0% | 0% | 60% |
Show files with reduced coverage 🔻
St.❔ |
File | Statements | Branches | Functions | Lines |
---|---|---|---|---|---|
🔴 | ... / routes.ts |
33.33% (-66.67% 🔻) |
100% | 0% (-100% 🔻) |
20% (-80% 🔻) |
🔴 | ... / useIsSidebarRoute.ts |
37.5% (-0.96% 🔻) |
0% | 0% | 37.5% (-0.96% 🔻) |
🟡 | ... / index.tsx |
66.67% (-6.06% 🔻) |
36.36% | 33.33% | 70% |
Test suite run success
1838 tests passing in 251 suites.
Report generated by 🧪jest coverage report action from ed7f514
* Feat(Orgs): send invites and show invited members * feat: add declined state for invite list * use enum for member roles * remove unused pathMatcher function * fix: update invite member body type to reflect CGW change * add ts ignore
* feat: Add Safe accounts form * fix: Network icon alignment * feat: Add search and update selected safes type * fix: Add accounts on the empty safe accounts list view
* feat: Add safes manually for orgs * refactor: Remove FilteredSafeList * fix: Use chains.eth, disable Submit button if nothing is selected
* feat: handle accepting and rejecting pending invites * fix: make accept and invite buttons smaller
* Feat(Orgs): display list of org members on the members route * feat: add edit icon * feat: always show members list and adjust empty members component text * only show active members in the members list