-
Notifications
You must be signed in to change notification settings - Fork 538
Dashboard: Move project pages inside (sidebar) layout #7144
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
Dashboard: Move project pages inside (sidebar) layout #7144
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
WalkthroughThis change set standardizes and corrects import paths throughout the dashboard application. The updates primarily adjust relative and absolute import paths to match a reorganized directory structure, often introducing or updating the Changes
Sequence Diagram(s)No sequence diagrams generated as the changes are limited to import path adjustments and do not affect control flow or introduce new features. Suggested reviewers
Warning Review ran into problems🔥 ProblemsErrors were encountered while retrieving linked issues. Errors (1)
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (48)
✅ Files skipped from review due to trivial changes (9)
🚧 Files skipped from review as they are similar to previous changes (39)
⏰ Context from checks skipped due to timeout of 90000ms (7)
✨ Finishing Touches
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #7144 +/- ##
=======================================
Coverage 55.62% 55.62%
=======================================
Files 902 902
Lines 58190 58190
Branches 4098 4098
=======================================
Hits 32369 32369
Misses 25716 25716
Partials 105 105
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (26)
apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/page.tsx (1)
3-3
: Confirm and streamline the updated import path
The relative path adjustment correctly reflects the deeper sidebar layout. For consistency and maintainability with other imports (e.g.,@/api/projects
), consider switching to the absolute alias:-import { getAuthToken } from "../../../../../api/lib/getAuthToken"; +import { getAuthToken } from "@/api/lib/getAuthToken";apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/connect/in-app-wallets/settings/page.tsx (1)
6-6
: Path update is correct. The relative import now correctly points to the updated location ofgetValidTeamPlan
. To simplify and align with your existing alias usage (e.g.,@/api/...
), consider switching to an alias import such as:import { getValidTeamPlan } from "@/components/TeamHeader/getValidTeamPlan";This will make the code less brittle when folder structures change.
apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/lib/analytics.ts (1)
2-3
: Import paths correctly adjusted. The relative paths forTransactionStats
andgetAuthToken
now reflect the deeper directory nesting. For better maintainability, consider using path aliases instead of long relative chains, e.g.:import type { TransactionStats } from "@/types/analytics"; import { getAuthToken } from "@/api/lib/getAuthToken";This approach reduces the surface area for future path-related errors.
apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/assets/create/page.tsx (1)
17-18
: Deep relative imports updated. The imports forgetAuthToken
,getAuthTokenWalletAddress
, andloginRedirect
now match the new directory depth. To keep imports concise and aligned with other modules, you might prefer alias-based imports:import { getAuthToken, getAuthTokenWalletAddress } from "@/api/lib/getAuthToken"; import { loginRedirect } from "@/login/loginRedirect";This reduces the maintenance overhead when file locations shift.
apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/ProjectSidebarLayout.tsx (1)
12-17
: Deeply nested icon imports. The sidebar icons are imported via long relative paths. Consider defining path aliases for these components (e.g.,@/app/(dashboard)/(chain)/components/server/icons/ContractIcon
) to simplify imports and reduce refactor friction.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/ProjectFTUX/ProjectFTUX.tsx (1)
17-20
: Standardize icon imports. Similar to other modules, these icon imports have grown deep with multiple../
segments. Switching to alias imports (for example,@/app/(dashboard)/(chain)/components/server/icons/ContractIcon
) will make the code more maintainable and less error-prone when reorganizing directories.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/page.tsx (3)
5-5
: Consider using the@
alias for consistency.
Instead of a deep relative path, you can importDeployedContractsPage
via the root alias:- import { DeployedContractsPage } from "../../../../../account/contracts/_components/DeployedContractsPage"; + import { DeployedContractsPage } from "@/account/contracts/_components/DeployedContractsPage";
6-6
: Use the root alias for api utilities.
Align with other imports by switching to:- import { getAuthToken } from "../../../../../api/lib/getAuthToken"; + import { getAuthToken } from "@/api/lib/getAuthToken";
7-7
: Use the root alias for login utilities.
For consistency, update to:- import { loginRedirect } from "../../../../../login/loginRedirect"; + import { loginRedirect } from "@/login/loginRedirect";apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/page.tsx (1)
5-5
: Prefer root alias over deep relative path.
Convert to:- import { getAuthToken } from "../../../../../../api/lib/getAuthToken"; + import { getAuthToken } from "@/api/lib/getAuthToken";apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/page.tsx (2)
3-3
: Prefer root alias for auth utilities.
Switch relative import to:- import { getAuthToken } from "../../../../../../../api/lib/getAuthToken"; + import { getAuthToken } from "@/api/lib/getAuthToken";
4-4
: Prefer root alias for login redirect.
Update to:- import { loginRedirect } from "../../../../../../../login/loginRedirect"; + import { loginRedirect } from "@/login/loginRedirect";apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/RpcMethodBarChartCard/RpcMethodBarChartCardUI.tsx (1)
18-18
: Use alias import for shared components.
Replace deep relative path with:- import { EmptyStateCard } from "../../../../../components/Analytics/EmptyStateCard"; + import { EmptyStateCard } from "@/components/Analytics/EmptyStateCard";apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/connect/in-app-wallets/users/page.tsx (1)
4-5
: Avoid deep relative imports for auth utilities
The updated import paths correctly reflect the new(sidebar)
nesting, but these extremely deep relative references are brittle. Since other modules in this file use the@/
alias (e.g.@/api/projects
), consider switching to absolute imports:-import { getAuthToken } from "../../../../../../../api/lib/getAuthToken"; -import { loginRedirect } from "../../../../../../../login/loginRedirect"; +import { getAuthToken } from "@/api/lib/getAuthToken"; +import { loginRedirect } from "@/login/loginRedirect";This will improve readability and reduce maintenance overhead.
apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/layout.tsx (1)
6-6
: Consider using an alias for the EngineIcon import
The new relative path is correct, but its depth makes it hard to follow. If your Next.js/TypeScript config supports path aliases, you could simplify to something like:-import { EngineIcon } from "../../../../../../(dashboard)/(chain)/components/server/icons/EngineIcon"; +import { EngineIcon } from "@/chain/components/server/icons/EngineIcon";This aligns with the alias usage for other UI components and reduces fragility.
apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/primary-dashboard-button.tsx (1)
28-28
: Correct hook import & consider alias
The updated relative import foruseAddContractToProject
is accurate given the reorganization:import { useAddContractToProject } from "../../../../../team/[team_slug]/[project_slug]/(sidebar)/hooks/project-contracts";However, to maintain consistency with other absolute imports (e.g.,
@/components/ui/...
), you might define a path alias for sidebar hooks and import via:-import { useAddContractToProject } from "../../../../../team/[team_slug]/[project_slug]/(sidebar)/hooks/project-contracts"; +import { useAddContractToProject } from "@/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/hooks/project-contracts";This will simplify refactors in the future.
apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/_utils/getEngineInstancePageMeta.ts (1)
2-4
: Consistent path adjustments; consider absolute aliases
The imports for authentication and account utilities have been deepened to match the file’s new location:import { getValidAccount } from "../../../../../../../account/settings/getAccount"; import { getAuthToken } from "../../../../../../../api/lib/getAuthToken"; import { loginRedirect } from "../../../../../../../login/loginRedirect";For better maintainability, leverage existing project aliases (e.g.,
@/account/settings/getAccount
,@/api/lib/getAuthToken
,@/login/loginRedirect
) to avoid fragile relative paths.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/nebula/page.tsx (1)
5-6
: Corrected import depth for auth utilities
The relative paths forgetAuthToken
andloginRedirect
have been adjusted to accommodate the new(sidebar)
nesting. Everything looks aligned with the directory structure. For enhanced readability and resilience to future refactors, consider switching to absolute imports (e.g.,@/api/lib/getAuthToken
,@/login/loginRedirect
).apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/settings/page.tsx (1)
6-8
: Align import paths with new (sidebar) layout
The updated relative paths forgetValidAccount
,getAuthToken
, andloginRedirect
correctly reflect the deeper nesting. To reduce maintenance overhead and avoid verbose relative paths, consider adopting absolute aliases (for example,@/account/settings/getAccount
,@/api/lib/getAuthToken
,@/login/loginRedirect
).apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/vault/page.tsx (1)
3-3
: Update relative import for authentication
The import path forgetAuthToken
has been extended by one directory level to align with the deep(sidebar)/engine/cloud/vault
hierarchy. Please confirm this seven-level ascent resolves correctly. As a best practice, you may want to use an absolute import alias (e.g.,@/api/lib/getAuthToken
) to simplify path handling.apps/dashboard/src/components/smart-wallets/AccountAbstractionAnalytics/index.tsx (1)
14-14
: Include(sidebar)
in searchParams import path
The import forsearchParams
has been updated to point into the new(sidebar)/connect/account-abstraction
directory—nice catch. Verify that the path resolves correctly in both client and server contexts. For maintainability, consider using an absolute alias (e.g.,@/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/connect/account-abstraction/search-params
) if supported.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/connect/universal-bridge/page.tsx (1)
2-2
: Unify import style and paths
I see the imports forSpinner
now use the@/components
alias, while other UI imports (PayAnalyticsFilter
,getUniversalBridgeFiltersFromSearchParams
) rely on bare aliases (components/...
,lib/...
). For consistency and clarity, pick one alias strategy—either prefix all with@/
or configure the loader to recognize bare path aliases. E.g.:-import { Spinner } from "@/components/ui/Spinner/Spinner"; +import { Spinner } from "components/ui/Spinner/Spinner"; -import { PayAnalyticsFilter } from "components/pay/PayAnalytics/components/PayAnalyticsFilter"; +import { PayAnalyticsFilter } from "@/components/pay/PayAnalytics/components/PayAnalyticsFilter"; -import { getUniversalBridgeFiltersFromSearchParams } from "lib/time"; +import { getUniversalBridgeFiltersFromSearchParams } from "@/lib/time";Also applies to: 4-5
apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(instance)/[engineId]/layout.tsx (1)
11-13
: Correct Relative Imports: The import paths forgetValidAccount
,getAuthToken
, andloginRedirect
have been accurately adjusted to the new sidebar layout’s depth. Verify these modules exist at the specified locations and resolve without errors. Consider switching to absolute alias imports (e.g.,@/api/lib/getAuthToken
,@/login/loginRedirect
) to improve readability and reduce deep relative path maintenance.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/page.tsx (1)
39-43
: Import Paths Adjusted for Sidebar Restructure: The relative paths forgetClientThirdwebClient
,getAuthToken
,loginRedirect
,CombinedBarChartCard
, andPieChartCard
have been deepened to reflect the new(sidebar)
directory. Ensure these imports resolve correctly; consider consolidating common analytics component imports behind an alias for consistency.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/connect/account-abstraction/settings/page.tsx (1)
6-6
: Standardizing Import Paths: SwitchedgetClientThirdwebClient
to an absolute alias and updatedgetAuthToken
andgetValidTeamPlan
relative paths to account for the new sidebar depth. Confirm these paths resolve and consider migrating team plan utilities to top-level aliases for symmetry.Also applies to: 10-11
apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/layout.tsx (1)
8-8
: SimplifyCustomChatButton
import
This deep relative path (../../../../../nebula-app/(app)/components/CustomChat/CustomChatButton
) is brittle and hard to maintain. Consider using a project alias (e.g.@/nebula-app/(app)/components/CustomChat/CustomChatButton
) for clarity and easier refactoring.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (48)
apps/dashboard/src/@3rdweb-sdk/react/hooks/useEngine.ts
(1 hunks)apps/dashboard/src/app/(app)/(dashboard)/(chain)/[chain_id]/[contractAddress]/_layout/primary-dashboard-button.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/assets/create/create-token-page.stories.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/assets/create/distribution/token-distribution.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/assets/create/page.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/assets/page.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/ProjectFTUX/ProjectFTUX.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/ProjectSidebarLayout.tsx
(2 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/RpcMethodBarChartCard/RpcMethodBarChartCardUI.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/Transactions/TransactionCharts.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/connect/account-abstraction/factories/page.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/connect/account-abstraction/page.tsx
(2 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/connect/account-abstraction/settings/page.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/connect/in-app-wallets/settings/page.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/connect/in-app-wallets/users/page.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/connect/universal-bridge/page.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/connect/universal-bridge/webhooks/page.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/page.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/analytics/filter.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/analytics/ftux.client.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/analytics/send-test-tx.client.tsx
(2 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/analytics/tx-table/tx-table-ui.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/layout.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/lib/analytics.ts
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/lib/vault.client.ts
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/page.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/server-wallets/components/create-server-wallet.client.tsx
(2 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/server-wallets/components/try-it-out.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/server-wallets/page.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/server-wallets/wallet-table/wallet-table-ui.client.tsx
(2 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/tx/[id]/transaction-details-ui.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/vault/components/create-vault-account.client.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/vault/components/rotate-admin-key.client.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/vault/page.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/layout.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/overview/engine-instances-table.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/page.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(instance)/[engineId]/layout.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/_utils/getEngineInstancePageMeta.ts
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/page.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/layout.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/nebula/page.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/page.tsx
(1 hunks)apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/settings/page.tsx
(1 hunks)apps/dashboard/src/components/contract-components/contract-deploy-form/custom-contract.tsx
(1 hunks)apps/dashboard/src/components/contract-components/import-contract/modal.tsx
(1 hunks)apps/dashboard/src/components/contract-components/tables/contract-table.tsx
(1 hunks)apps/dashboard/src/components/smart-wallets/AccountAbstractionAnalytics/index.tsx
(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (7)
- GitHub Check: E2E Tests (pnpm, esbuild)
- GitHub Check: Lint Packages
- GitHub Check: Unit Tests
- GitHub Check: E2E Tests (pnpm, webpack)
- GitHub Check: Size
- GitHub Check: E2E Tests (pnpm, vite)
- GitHub Check: Analyze (javascript)
🔇 Additional comments (36)
apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/assets/create/create-token-page.stories.tsx (1)
2-2
: Ensure alias is correctly configured for the new import path
The update replaces a deep relative import withstories/utils
. Please verify that yourtsconfig.json
(and, if applicable,next.config.js
or webpack config) defines a path alias forstories/*
so that this module resolves correctly at build time.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/analytics/ftux.client.tsx (1)
3-3
: Approve absolute import for Button
Replaced a deeply nested relative path with the@/components/ui/button
alias, improving import clarity and consistency across the codebase.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/assets/create/distribution/token-distribution.tsx (1)
8-8
: Approve absolute import for Form
Switching to the@/components/ui/form
alias makes the import path shorter and more maintainable, aligning with the project’s conventions.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/server-wallets/components/try-it-out.tsx (1)
2-2
: Approve absolute import for Alert components
ImportingAlert
,AlertDescription
, andAlertTitle
from@/components/ui/alert
cleans up the path and matches the alias pattern used elsewhere.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/server-wallets/wallet-table/wallet-table-ui.client.tsx (4)
6-6
: Approve absolute import for Button
Using@/components/ui/button
here maintains consistency with other UI component imports.
7-14
: Approve pagination imports consolidation
All pagination-related components are now consistently imported from@/components/ui/pagination
, reducing redundancy and improving readability.
27-28
: Approve hook imports via alias
ConsolidatinguseThirdwebClient
anduseDashboardRouter
imports under their alias paths enhances module resolution clarity.
32-32
: Verify import alias foruseV5DashboardChain
The pathlib/v5-adapter
differs from the@/lib/...
pattern used elsewhere. Please confirm that your tsconfig supports this alias and update to@/lib/v5-adapter
if necessary.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/analytics/tx-table/tx-table-ui.tsx (1)
34-34
: Verify import alias for ChainIconClient
The importfrom "components/icons/ChainIcon"
omits the leading@/
. Confirm that your path aliases includecomponents/*
or switch to@/components/icons/ChainIcon
for consistency.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/tx/[id]/transaction-details-ui.tsx (1)
12-12
: Simplified import path for ChainIconClient.
The deep relative path was replaced with a concise alias import, improving readability and maintainability.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/vault/components/create-vault-account.client.tsx (1)
18-18
: Standardized import for analytics tracking hook.
Swapped the relative path foruseTrack
to an absolute alias, aligning with the project’s import conventions.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/vault/components/rotate-admin-key.client.tsx (1)
20-20
: Standardized import for analytics tracking hook.
TheuseTrack
hook import was updated to a root-level alias path, matching the pattern used across vault components.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/analytics/send-test-tx.client.tsx (3)
5-5
: Consolidated UI component import for CopyTextButton.
Removed a duplicate or deep relative import in favor of a single absolute alias path, improving clarity.
19-19
: Standardized import for analytics tracking hook.
TheuseTrack
import was updated to use the root alias, keeping import paths uniform.
20-20
: Standardized import for chain data hook.
UpdateduseAllChainsData
to a concise alias import, enhancing consistency across analytics components.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/server-wallets/components/create-server-wallet.client.tsx (2)
2-2
: Simplified import path for engineCloudProxy.
Changed from a nested relative path to an absolute alias, reducing path complexity.
16-16
: Standardized import for analytics tracking hook.
MoveduseTrack
to a root alias import, aligning with other cloud server-wallets components.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/ProjectSidebarLayout.tsx (1)
3-3
: Great use of alias for Badge. Moving theBadge
import to@/components/ui/badge
improves consistency and readability.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/contracts/page.tsx (1)
3-3
: Import path alias is correctly used here.
Switching to the absolute@/constants/thirdweb-client.client
import improves maintainability.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/lib/vault.client.ts (1)
5-5
: Alias import forupdateProjectClient
is correctly applied.
Using the@3rdweb-sdk/react
alias aligns with existing conventions and keeps paths clear.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/connect/universal-bridge/webhooks/page.tsx (1)
2-2
: Absolute import enhances clarity
Switching from a nested relative path to:import { getTeamBySlug } from "@/api/team";aligns with the codebase’s use of root aliases and improves readability. Great improvement!
apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/layout.tsx (1)
8-8
: Verify corrected import path for EngineIcon
The relative path has been deepened by one directory level to properly locateEngineIcon
under(dashboard)/(chain)/components/server/icons
. This matches similar adjustments and should resolve module import errors.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/Transactions/TransactionCharts.tsx (1)
5-6
: Corrected import paths for transaction chart components
The imports forTransactionsChartCardUI
andPieChartCard
have been updated to reflect the new sidebar directory depth and ensure proper module resolution.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/dedicated/(general)/overview/engine-instances-table.tsx (1)
72-72
: Adjusted EngineIcon import to new directory depth
The import path forEngineIcon
has been deepened to match the relocated(dashboard)
segment, maintaining consistency with other icon imports in the sidebar.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/connect/account-abstraction/factories/page.tsx (1)
16-18
: Deepened import paths for shared utilities
The imports forgetSortedDeployedContracts
,getAuthToken
, andloginRedirect
now include an extra directory level to align with the reorganized sidebar structure. Confirm these utilities remain accessible at the updated paths.apps/dashboard/src/@3rdweb-sdk/react/hooks/useEngine.ts (1)
14-15
: Updated type imports for metrics and transactions components
TheResultItem
andEngineStatus
type imports are now correctly referencing the deeper(sidebar)
engine instance directories, keeping them in sync with the relocated components.apps/dashboard/src/components/contract-components/import-contract/modal.tsx (1)
33-33
: Updated Hook Import Path: TheuseAddContractToProject
hook import has been updated to point to the relocated(sidebar)/hooks/project-contracts
directory. Confirm that this path resolves correctly in the build and matches the new directory structure.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/server-wallets/page.tsx (1)
2-2
: Absolute and Relative Imports Organized: The constantNEXT_PUBLIC_THIRDWEB_VAULT_URL
has been promoted to an absolute alias import, and thegetAuthToken
path was updated to a deeper relative location matching the sidebar layout. Verify both imports resolve and that the constant is correctly exported from@/constants/public-envs
.Also applies to: 5-5
apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/connect/account-abstraction/page.tsx (2)
4-4
: Import path standardized to absolute pathThe import for
getClientThirdwebClient
has been standardized to use an absolute import path with the@/
alias, which is a good practice in Next.js applications as it makes imports more maintainable and less prone to breaking when files are moved.
13-13
: Relative import path updatedThe import path for
getAuthToken
has been adjusted to match the new directory structure. This ensures the correct module resolution after the reorganization of project pages into the sidebar layout.apps/dashboard/src/components/contract-components/contract-deploy-form/custom-contract.tsx (1)
48-48
: Import path updated for project hooksThe import path for
useAddContractToProject
has been updated to include the(sidebar)
segment, aligning with the project restructuring. This change correctly reflects the new location of project contract hooks while maintaining the same functionality.apps/dashboard/src/components/contract-components/tables/contract-table.tsx (1)
34-34
: Import path updated to reflect directory reorganizationThe import path for
removeContractFromProject
has been updated to include the(sidebar)
segment, consistent with the broader reorganization of project-related hooks and utilities. This maintains functionality while adapting to the new directory structure.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/assets/page.tsx (1)
8-12
: Relative import paths adjusted for new directory structureAll import paths have been adjusted to reflect the new directory structure, with the correct number of parent directory traversals. This ensures proper module resolution after the project pages were moved inside the sidebar layout.
apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/layout.tsx (3)
6-6
: Verify thesiwaExamplePrompts
import path
This file now lives under(sidebar)
, so the relative jump (../../../../(dashboard)/support/page
) may be off by one. Please confirm that the path resolves correctly—if not, add an extra../
or switch to an absolute alias (e.g.@/support/page
) to avoid fragile imports.
11-13
: Verify thegetAuthToken
import
After moving into(sidebar)
, the relative path to your API utilities (../../../../api/lib/getAuthToken
) may no longer point tosrc/api/lib/getAuthToken.ts
. Please confirm and adjust (add another../
if needed) or use the alias form (@/api/lib/getAuthToken
) for consistency with other API imports.
14-14
: Correctness ofTeamHeaderLoggedIn
import
The relative path (../../../components/TeamHeader/team-header-logged-in.client
) appears accurate given the new(sidebar)
nesting and resolves to the siblingcomponents
directory.
...rd/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/analytics/filter.tsx
Show resolved
Hide resolved
apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/layout.tsx
Show resolved
Hide resolved
size-limit report 📦
|
Merge activity
|
<!-- ## title your PR with this format: "[SDK/Dashboard/Portal] Feature/Fix: Concise title for the changes" If you did not copy the branch name from Linear, paste the issue tag here (format is TEAM-0000): ## Notes for the reviewer Anything important to call out? Be sure to also clarify these in your comments. ## How to test Unit tests, playground, etc. --> <!-- start pr-codex --> --- ## PR-Codex overview This PR primarily focuses on refactoring the codebase to organize components and hooks into a new `(sidebar)` directory structure, enhancing modularity and maintainability. It also updates import paths to reflect these changes. ### Detailed summary - Moved various components and hooks to a new `(sidebar)` directory. - Updated import paths across multiple files. - Adjusted layout files to accommodate the new directory structure. - Ensured proper functionality of components post-migration. > ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}` <!-- end pr-codex --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Chores** - Updated and standardized import paths across the dashboard and component files for improved code organization and maintainability. - No changes to end-user functionality or visible features. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
5e21485
to
362c086
Compare
|
PR-Codex overview
This PR focuses on restructuring the file organization for a project by moving various components and pages into a new
(sidebar)
directory, which improves the modularity and clarity of the project structure.Detailed summary
(sidebar)
directory.engine
,connect
, andassets
.RpcMethodBarChartCard
andProjectFTUX
are now housed under the sidebar structure.Summary by CodeRabbit