-
Notifications
You must be signed in to change notification settings - Fork 620
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 forTransactionStatsandgetAuthTokennow 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, andloginRedirectnow 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 importDeployedContractsPagevia 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 foruseAddContractToProjectis 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 forgetAuthTokenandloginRedirecthave 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, andloginRedirectcorrectly 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 forgetAuthTokenhas been extended by one directory level to align with the deep(sidebar)/engine/cloud/vaulthierarchy. 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 forsearchParamshas been updated to point into the new(sidebar)/connect/account-abstractiondirectory—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 forSpinnernow use the@/componentsalias, 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, andloginRedirecthave 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, andPieChartCardhave 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: SwitchedgetClientThirdwebClientto an absolute alias and updatedgetAuthTokenandgetValidTeamPlanrelative 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: SimplifyCustomChatButtonimport
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.jsor 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/buttonalias, 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/formalias 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, andAlertTitlefrom@/components/ui/alertcleans 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/buttonhere 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
ConsolidatinguseThirdwebClientanduseDashboardRouterimports under their alias paths enhances module resolution clarity.
32-32: Verify import alias foruseV5DashboardChain
The pathlib/v5-adapterdiffers from the@/lib/...pattern used elsewhere. Please confirm that your tsconfig supports this alias and update to@/lib/v5-adapterif 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/ChainIconfor 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 foruseTrackto 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.
TheuseTrackhook 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.
TheuseTrackimport was updated to use the root alias, keeping import paths uniform.
20-20: Standardized import for chain data hook.
UpdateduseAllChainsDatato 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.
MoveduseTrackto 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 theBadgeimport to@/components/ui/badgeimproves 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.clientimport improves maintainability.apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/engine/cloud/lib/vault.client.ts (1)
5-5: Alias import forupdateProjectClientis correctly applied.
Using the@3rdweb-sdk/reactalias 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 locateEngineIconunder(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 forTransactionsChartCardUIandPieChartCardhave 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 forEngineIconhas 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, andloginRedirectnow 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
TheResultItemandEngineStatustype 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: TheuseAddContractToProjecthook import has been updated to point to the relocated(sidebar)/hooks/project-contractsdirectory. 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_URLhas been promoted to an absolute alias import, and thegetAuthTokenpath 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
getClientThirdwebClienthas 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
getAuthTokenhas 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
useAddContractToProjecthas 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
removeContractFromProjecthas 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 thesiwaExamplePromptsimport 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 thegetAuthTokenimport
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 ofTeamHeaderLoggedInimport
The relative path (../../../components/TeamHeader/team-header-logged-in.client) appears accurate given the new(sidebar)nesting and resolves to the siblingcomponentsdirectory.
...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.RpcMethodBarChartCardandProjectFTUXare now housed under the sidebar structure.Summary by CodeRabbit