{entry.data.description}
+New Superhero App Extension scaffolded.
+Successfully completed a full migration of the monolithic DEX component (1335 lines) into a modular, maintainable architecture with focused components and custom hooks.
+Dex.tsx file with 1335 lines handling all DEX functionalityuseTokenList - Token managementuseTokenBalances - Balance fetchinguseSwapQuote - Quote handling with debouncinguseSwapExecution - Transaction executionsrc/components/dex/
+├── core/ # 6 core components
+├── widgets/ # 3 specialized widgets
+├── supporting/ # 1 supporting component
+├── hooks/ # 4 custom hooks
+├── types/ # TypeScript definitions
+└── index.ts # Clean exports
+src/components/dex/types/dex.tssrc/components/dex/hooks/useTokenList.tssrc/components/dex/hooks/useTokenBalances.tssrc/components/dex/hooks/useSwapQuote.tssrc/components/dex/hooks/useSwapExecution.tssrc/components/dex/core/SwapForm.tsxsrc/components/dex/core/TokenInput.tsxsrc/components/dex/core/TokenSelector.tsxsrc/components/dex/core/SwapSettings.tsxsrc/components/dex/core/SwapRouteInfo.tsxsrc/components/dex/core/SwapConfirmation.tsxsrc/components/dex/widgets/WrapUnwrapWidget.tsxsrc/components/dex/widgets/EthxitWidget.tsxsrc/components/dex/widgets/EthBridgeWidget.tsxsrc/components/dex/supporting/RecentActivity.tsxsrc/components/dex/index.tssrc/components/dex/README.mdsrc/views/DexRefactored.tsxsrc/views/Dex.tsx (original preserved for reference)import { SwapForm, WrapUnwrapWidget } from '../components/dex';
+
+function MyDexPage() {
+ return (
+ <div>
+ <SwapForm />
+ <WrapUnwrapWidget />
+ </div>
+ );
+}
+import { useTokenList, useSwapQuote } from '../components/dex';
+
+function CustomSwap() {
+ const { tokens, loading } = useTokenList();
+ const { quoteLoading, error, routeInfo } = useSwapQuote();
+
+ // Custom implementation
+}
+DexRefactored.tsxThe DEX refactoring successfully transformed a monolithic 1335-line component into a modular, maintainable architecture with:
+The refactoring preserves all original functionality while providing a solid foundation for future development and maintenance.
+ + + + + + + + + + + + + +++[!NOTE] +For a step-by-step walkthrough, see How to build a Superhero App Extension (Polls example).
+
Extensions are first-class modules that can add routes, menu items, feed entries, composer actions, item actions, modals, and composer attachments. They are authored with the existing plugin SDK and loaded at runtime.
+Minimal example: +
import React from 'react';
+import { definePlugin } from '@/plugin-sdk';
+import MyApp from './ui/MyApp';
+
+export default definePlugin({
+ meta: {
+ id: 'my-ext',
+ name: 'My Extension',
+ version: '0.1.0',
+ apiVersion: '1.x',
+ capabilities: ['routes', 'composer'],
+ },
+ setup({ register }) {
+ register({
+ routes: [{ path: '/my-ext', element: <MyApp /> }],
+ menu: [{ id: 'my-ext', label: 'My Ext', path: '/my-ext', icon: '🧩' }],
+ // attachments: () => [myAttachmentSpec],
+ });
+ },
+});
+src/plugins/local.ts for development. Not enabled by default in production.CONFIG.PLUGINS can point to remote modules. The loader enforces the capabilities allowlist.CONFIG.PLUGIN_CAPABILITIES_ALLOWLIST to restrict what plugins may register, e.g. ['routes','feed','composer'].features/social/plugins/registries.ts.Use createContractLoader(sdk) from src/extensions/contract.ts to load ACI-based contract instances.
Point your extension to backend services. For Social Superhero governance backend, see: +- repo: https://github.com/superhero-com/superhero-api +- flow: index chain data → expose REST/WebSocket → consume from extension client
+public/superconfig.json (or window.__SUPERCONFIG__) provides runtime keys like NODE_URL, MIDDLEWARE_URL, GOVERNANCE_API_URL, PLUGINS, PLUGIN_CAPABILITIES_ALLOWLIST.npm run ext:check validates extension modules. The CI workflow runs it on pull requests.See the detailed guide:
+docs/tutorials/build-governance-poll-extension.md
✅ Successfully migrated the monolithic DEX component (1335 lines) to a modular architecture
+src/views/Dex.tsx → src/archive/Dex.original.tsxsrc/views/DexRefactored.tsx → src/views/Dex.tsx (now the active component)src/components/dex/
+├── core/ # 6 core components
+├── widgets/ # 3 specialized widgets
+├── supporting/ # 1 supporting component
+├── hooks/ # 4 custom hooks
+├── types/ # TypeScript definitions
+└── index.ts # Clean exports
+✅ Maintainability - Each component has a single responsibility
+✅ Reusability - Components can be used independently
+✅ Testability - Smaller components are easier to test
+✅ Developer Experience - Better code organization and TypeScript support
+✅ Performance - Better code splitting potential
The new refactored DEX is now active and accessible at /dex. All functionality has been preserved while providing a much more maintainable architecture.
// The main Dex component now uses the refactored architecture
+import Dex from '../views/Dex'; // This now uses the new modular components
+// Individual components can be used independently
+import { SwapForm, WrapUnwrapWidget } from '../components/dex';
+
+// Custom hooks can be used for specific functionality
+import { useTokenList, useSwapQuote } from '../components/dex';
+src/components/dex/README.mdDEX_REFACTORING_SUMMARY.mdsrc/archive/Dex.original.tsx (for reference)The DEX refactoring has been successfully completed! The monolithic 1335-line component has been transformed into a modular, maintainable architecture with:
+The application is now using the new refactored DEX component, and all original functionality has been preserved while providing a solid foundation for future development and maintenance.
+🚀 Ready for production use!
+ + + + + + + + + + + + + +This document outlines all the mobile optimizations implemented to enhance the user experience on mobile devices.
+The application has been comprehensively optimized for mobile devices with a focus on: +- Touch-friendly interactions - Larger touch targets and better feedback +- Mobile-first responsive design - Progressive enhancement from mobile to desktop +- Performance optimizations - Faster loading and smoother interactions +- Enhanced mobile navigation - Intuitive mobile-specific navigation +- Mobile-specific components - Optimized forms, buttons, and layouts +- Native ETH -> AE swap interface - Replaced iframe with mobile-optimized component
+src/components/SwapCard.tsxMobileInput, AeButton, and MobileCard components$accent_color variable conflicts with CSS custom properties$accent_color with direct color values (#007bff) in affected files:src/components/Trendminer/ExploreTrendsSidebar.scsssrc/components/Trendminer/LatestTransactionsCarousel.scsssrc/views/Trendminer/TokenDetails.scsssrc/components/layout/MobileNavigation.tsxsrc/components/layout/MobileNavigation.scsssrc/components/MobileInput.tsx & src/components/MobileInput.scsssrc/components/MobileCard.tsx & src/components/MobileCard.scsssrc/components/AeButton.scsssrc/components/layout/Shell.scsssrc/App.tsx & src/styles/mobile-optimizations.scsssrc/styles/base.scsssrc/styles/mixins.scssmobile-small (≤480px)mobile-large (≤1024px)tablet (769px-1024px)desktop (≥1025px)mobile-first - Mobile-first responsive approachtouch-spacing - Touch-friendly spacingmobile-grid - Mobile-optimized grid layoutsmobile-flex - Mobile-optimized flex layoutssrc/styles/mobile-optimizations.scsssrc/components/layout/TopNav.scss-webkit-overflow-scrolling: touchprefers-reduced-motion user preferencetouch-action: manipulation// Mobile-optimized input
+<MobileInput
+ label="Amount"
+ placeholder="Enter amount"
+ variant="filled"
+ size="large"
+ leftIcon={<IconWallet />}
+/>
+
+// Mobile-optimized card
+<MobileCard
+ variant="elevated"
+ padding="medium"
+ clickable
+ onClick={handleClick}
+>
+ <h3>Card Title</h3>
+ <p>Card content</p>
+</MobileCard>
+
+// Mobile-optimized button
+<AeButton
+ className="large block"
+ green
+ onClick={handleAction}
+>
+ Connect Wallet
+</AeButton>
+// Mobile-optimized layout
+<div className="mobile-container">
+ <div className="mobile-grid">
+ <div className="mobile-card">Content</div>
+ </div>
+
+ <form className="mobile-form">
+ <div className="form-group">
+ <MobileInput label="Field" />
+ </div>
+
+ <div className="mobile-button-group">
+ <AeButton>Cancel</AeButton>
+ <AeButton green>Submit</AeButton>
+ </div>
+ </form>
+</div>
+src/components/Trendminer/ExploreTrendsSidebar.tsx & src/components/Trendminer/ExploreTrendsSidebar.scsssrc/components/Trendminer/LatestTransactionsCarousel.tsx & src/components/Trendminer/LatestTransactionsCarousel.scsssrc/views/Trendminer/TokenDetails.tsx & src/views/Trendminer/TokenDetails.scsssrc/views/Trendminer/TrendCloud.tsx & src/views/Trendminer/TrendCloud.scss-webkit-overflow-scrolling: touchsrc/views/Dex.tsx & src/views/Dex.scsssrc/components/dex/MobileDexCard.tsxSkeleton loading animations
+MobileTokenSelector: src/components/dex/MobileTokenSelector.tsx
Proper keyboard handling and accessibility
+MobileDexInput: src/components/dex/MobileDexInput.tsx
Better focus states and validation
+MobileDexButton: src/components/dex/MobileDexButton.tsx
Note: All mobile optimizations are designed to work seamlessly with the existing desktop experience while providing an enhanced mobile experience. The mobile-first approach ensures that the application performs well across all device sizes.
+ + + + + + + + + + + + + +Successfully refactored both Pool and Explore components from monolithic structures into modular, maintainable architectures with improved layouts and enhanced functionality.
+Archived: src/views/Pool.tsx → src/archive/Pool.original.tsx
+New: src/views/PoolRefactored.tsx → src/views/Pool.tsx
src/components/pool/
+├── core/ # Core components
+│ ├── LiquidityPositionCard.tsx
+│ └── AddLiquidityForm.tsx
+├── hooks/ # Custom hooks
+│ ├── useLiquidityPositions.ts
+│ └── useAddLiquidity.ts
+├── types/ # TypeScript definitions
+│ └── pool.ts
+└── index.ts # Clean exports
+Archived: src/views/Explore.tsx → src/archive/Explore.original.tsx
+New: src/views/ExploreRefactored.tsx → src/views/Explore.tsx
src/components/explore/
+├── core/ # Core components
+│ └── TokenTable.tsx
+├── hooks/ # Custom hooks
+│ ├── useTokenList.ts
+│ ├── usePairList.ts
+│ └── useTransactionList.ts
+├── types/ # TypeScript definitions
+│ └── explore.ts
+└── index.ts # Clean exports
+src/
+├── components/
+│ ├── pool/ # Pool components
+│ │ ├── core/
+│ │ ├── hooks/
+│ │ ├── types/
+│ │ └── index.ts
+│ └── explore/ # Explore components
+│ ├── core/
+│ ├── hooks/
+│ ├── types/
+│ └── index.ts
+├── views/
+│ ├── Pool.tsx # New refactored Pool
+│ └── Explore.tsx # New refactored Explore
+└── archive/
+ ├── Pool.original.tsx # Archived original
+ └── Explore.original.tsx # Archived original
+✅ Pool Component: Fully migrated and active
+✅ Explore Component: Fully migrated and active
+✅ Archives: Original files safely stored
+✅ Routing: Automatically uses new components
The refactored Pool and Explore components are now fully functional and ready for production use! 🚀
+This refactoring follows the same successful pattern used for the DEX component, ensuring consistency across the entire application architecture.
+ + + + + + + + + + + + + +This project has been successfully migrated to use shadcn/ui components with Tailwind CSS while maintaining the existing design system and visual identity. The migration preserves all the "Gen Z Ultra Modern" styling with neon colors, glassmorphism effects, and gradient backgrounds.
+@/*) for clean importsclass-variance-authority, @radix-ui/react-slot, tailwindcss-animate--neon-pink, --neon-teal, etc.)src/
+├── components/
+│ ├── ui/ # New shadcn components
+│ │ ├── ae-button.tsx # Custom button with design system
+│ │ ├── ae-card.tsx # Custom card with variants
+│ │ ├── ae-dropdown-menu.tsx # Styled dropdown components
+│ │ ├── button.tsx # Base shadcn button
+│ │ ├── card.tsx # Base shadcn card
+│ │ ├── dropdown-menu.tsx # Base shadcn dropdown
+│ │ ├── input.tsx # Form input
+│ │ ├── label.tsx # Form label
+│ │ ├── textarea.tsx # Form textarea
+│ │ ├── select.tsx # Form select
+│ │ ├── badge.tsx # Badge component
+│ │ ├── avatar.tsx # Avatar component
+│ │ └── separator.tsx # Separator component
+│ ├── AeButton.tsx # Legacy wrapper (backward compatible)
+│ ├── ShadcnDemo.tsx # Migration showcase
+│ └── layout/app-header/
+│ └── HeaderWalletButton.tsx # Migrated component
+├── lib/
+│ └── utils.ts # shadcn utility functions
+├── styles/
+│ ├── tailwind.css # Tailwind with design system
+│ ├── base.scss # Updated with Tailwind import
+│ └── variables.scss # Existing design variables
+└── components.json # shadcn configuration
+/* Existing CSS Variables → Tailwind Classes */
+--primary-color → bg-primary, text-primary
+--accent-color → bg-accent, text-accent
+--neon-pink → bg-neon-pink, text-neon-pink
+--neon-teal → bg-neon-teal, text-neon-teal
+--neon-blue → bg-neon-blue, text-neon-blue
+--background-color → bg-background
+--standard-font-color → text-foreground
+--light-font-color → text-muted-foreground
+/* Gradients */
+bg-primary-gradient /* var(--primary-gradient) */
+bg-secondary-gradient /* var(--secondary-gradient) */
+bg-card-gradient /* var(--card-gradient) */
+bg-button-gradient /* var(--button-gradient) */
+
+/* Shadows */
+shadow-glow /* var(--glow-shadow) */
+shadow-card /* var(--card-shadow) */
+shadow-button /* var(--button-shadow) */
+
+/* Glassmorphism */
+bg-glass-bg /* var(--glass-bg) */
+border-glass-border /* var(--glass-border) */
+backdrop-blur-glass /* 10px blur */
+import { AeButton } from '@/components/ui/ae-button';
+
+// All existing variants work
+<AeButton variant="primary">Primary</AeButton>
+<AeButton variant="accent">Accent</AeButton>
+<AeButton variant="success">Success</AeButton>
+<AeButton variant="ghost">Ghost</AeButton>
+
+// New features
+<AeButton loading>Loading</AeButton>
+<AeButton glow>Glow Effect</AeButton>
+<AeButton fullWidth>Full Width</AeButton>
+import { AeCard, AeCardHeader, AeCardTitle, AeCardContent } from '@/components/ui/ae-card';
+
+<AeCard variant="glass">
+ <AeCardHeader>
+ <AeCardTitle>Glass Card</AeCardTitle>
+ </AeCardHeader>
+ <AeCardContent>
+ Content with glassmorphism
+ </AeCardContent>
+</AeCard>
+import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/ae-dropdown-menu';
+
+<DropdownMenu>
+ <DropdownMenuTrigger asChild>
+ <AeButton variant="ghost">Open Menu</AeButton>
+ </DropdownMenuTrigger>
+ <DropdownMenuContent>
+ <DropdownMenuItem>Item 1</DropdownMenuItem>
+ <DropdownMenuItem>Item 2</DropdownMenuItem>
+ </DropdownMenuContent>
+</DropdownMenu>
+npm run build # ✅ Successful
+npm run dev # Test in development mode
+/shadcn-demo route to see all migrated componentsrm -rf node_modules/.vitenpm installThe migration to shadcn/ui has been successful while maintaining the existing design system. The project now benefits from: +- Modern component architecture +- Better TypeScript support +- Improved maintainability +- Preserved visual identity +- Enhanced developer experience
+The foundation is now in place for continued migration of remaining components and future enhancements.
+ + + + + + + + + + + + + +This document tracks the migration to a modern three‑column social layout (left navigation, centered feed, right rail). Use this as the single source of truth for remaining work and decisions.
+Shell supporting left and right railsLeftNav with logo, nested items, wallet button pinned to bottomFeedList, PostDetail, UserProfile, TipDetail)top-16 or add center pt-16) and apply consistently to both railsstickyTop to avoid hard‑coding offset valuesj/k next/prev item, / focus search, Cmd/Ctrl+Enter to posttailwind.config.js if neededShell.scss that are superseded by utility classessrc/components/layout/Shell.tsx – three‑column shellsrc/components/layout/LeftNav.tsx – desktop left navigationsrc/components/layout/RightRail.tsx – right rail widgetssrc/features/social/views/*src/components/layout/app-header/*1) Start dev server: npm run dev
+2) Edit the shell or rails, then verify on desktop (≥1024px) and mobile (<1024px)
+3) Keep center column width consistent across FeedList, PostDetail, and UserProfile
Successfully migrated the DEX component tests from the old monolithic structure to work with the new refactored modular architecture.
+document.getElementById('dex-amount-in') New: screen.getByLabelText('amount-from')
Old: document.getElementById('dex-amount-out')
screen.getByLabelText('amount-to')screen.findByRole('button', { name: /swap/i })screen.findAllByRole('button', { name: /swap/i })[0] (handles multiple swap buttons)screen.getByLabelText() instead of getElementById() for more reliable element selectionsrc/views/__tests__/Dex.test.tsx - Completely refactored for new architecturesrc/components/dex/ structureThe test migration has been successfully completed! All 10 tests are passing, providing comprehensive coverage of the new refactored DEX component architecture. The tests are now more maintainable, reliable, and provide better coverage of the modular component structure.
+The refactored DEX component is now fully tested and ready for production use! 🚀
+ + + + + + + + + + + + + +This document outlines the comprehensive mobile optimizations implemented for the /trending page to provide an excellent user experience on mobile devices.
prefers-reduced-motion user preference-webkit-overflow-scrolling: touch for smooth scrollingsrc/components/Trendminer/
+├── MobileTrendingLayout.tsx
+├── MobileTrendingLayout.scss
+├── MobileTrendingBanner.tsx
+├── MobileTrendingBanner.scss
+├── MobileTrendingControls.tsx
+├── MobileTrendingControls.scss
+├── MobileTrendingTagCard.tsx
+├── MobileTrendingTagCard.scss
+├── MobileTrendingPagination.tsx
+└── MobileTrendingPagination.scss
+The mobile optimization of the trending page provides a comprehensive, touch-friendly experience that maintains the functionality of the desktop version while being optimized for mobile devices. The implementation follows modern mobile design patterns and ensures excellent performance across all device types.
+ + + + + + + + + + + + + +This guide explains how to integrate an extension with a backend service. For Social Superhero, we reference the superhero-api repository.
VITE_EXT_<YOUR_EXT>_API_URLCreate a small client under src/plugins/<id>/client/backend.ts and read the base URL from VITE_EXT_<ID>_API_URL or runtime __SUPERCONFIG__.
This guide shows how to build a full Superhero App Extension using the Governance Polls example. You will add a feed plugin that renders polls, wire voting/revoking via Sophia contracts, add a composer attachment, integrate the Governance backend, and test locally. Follow the steps in order.
+See the Extensions overview for capabilities, loading modes, configuration and CI checks.
+public/superconfig.json or window.__SUPERCONFIG__) and ensure Governance and MDW endpoints are set.Use the scaffold script to generate a minimal plugin. +
pnpm run ext:scaffold governance-polls
+src/plugins/governance-polls/index.tsx and src/plugins/governance-polls/ui/App.tsx.
+In src/plugins/governance-polls/index.tsx:
+- Set capabilities: ['feed', 'composer']
+- Register attachments: () => [pollAttachmentSpec]
+- Optionally add a route and menu for discovery
PollCreatedEntryData type and a mapper adaptPollToEntry.fetchPage(page) that:GovernanceApi.getPollOrdering(false/true)createdAt on entriescreatedAt descendingPollCreatedCard and FeedRenderer.useAeSdk() to get sdk and ensure wallet is connected before voting.GovernancePollACI.json and call vote(option).revoke_vote() similarly and update UI accordingly.pollAttachmentSpec from features/social/feed-plugins/poll-attachment and register via attachments: () => [pollAttachmentSpec].onAfterPost hook.src/plugins/local.ts and add to the localPlugins array for local testing.src/plugins/governance-polls/client/backend.ts).useWalletConnect flow and wallet pairing worksAE_COMPILER_URL and SDK versionsmicro_time and block_timepnpm run ext:checkTo contribute your extension to Superhero:
+1. Fork the repository to your GitHub account.
+2. Create a feature branch (e.g., feat/polls-extension).
+3. Add your plugin module under src/plugins/<your-id>/ and any supporting files.
+4. Ensure local testing is done via src/plugins/local.ts (do not auto-register in production by default).
+5. Run pnpm run ext:check and fix any validation issues.
+6. Open a Pull Request from your fork/branch to this repository with a brief description and screenshots.
+7. Our CI will run the extension checks; address any feedback from reviewers.
This guide walks you through creating a full-stack extension that adds an /nft route and integrates with contracts and an optional backend.
VITE_EXT_NFT_API_URL (optional)pnpm run ext:scaffold nft-marketplace
+See src/plugins/nft-marketplace/index.tsx.
Edit src/plugins/nft-marketplace/ui/MarketApp.tsx to render listings.
contracts/Marketplace.aescreateContractLoader(sdk)client/backend.ts and point to VITE_EXT_NFT_API_URL/nftStatus: All layout components have been successfully migrated to Tailwind CSS v3.4.17 (ShadCN compatible)
+Key Changes Made:
+- Downgraded from Tailwind CSS v4.1.12 (beta) to v3.4.17 (stable) for better ShadCN compatibility
+- Updated Tailwind config to use ES module syntax with proper plugin imports
+- Fixed PostCSS config to use CommonJS (.cjs extension) for ES module compatibility
+- Resolved all conflicting Tailwind class warnings
+- Maintained original styling using CSS variables and hybrid approach where needed
+- All components now build and run successfully with proper Tailwind styles loading
components/ui/ae-button.tsx - Custom shadcn buttoncomponents/ui/ae-card.tsx - Custom shadcn cardcomponents/ui/ae-dropdown-menu.tsx - Custom shadcn dropdowncomponents/ui/button.tsx - Base shadcn buttoncomponents/ui/card.tsx - Base shadcn cardcomponents/ui/dropdown-menu.tsx - Base shadcn dropdowncomponents/ui/input.tsx - Base shadcn inputcomponents/ui/label.tsx - Base shadcn labelcomponents/ui/textarea.tsx - Base shadcn textareacomponents/ui/select.tsx - Base shadcn selectcomponents/ui/separator.tsx - Base shadcn separatorcomponents/ui/avatar.tsx - Base shadcn avatarcomponents/ui/badge.tsx - Base shadcn badgecomponents/layout/app-header/HeaderWalletButton.tsx - Migrated to shadcncomponents/layout/app-header/WebAppHeader.tsx - Migrated to Tailwind CSScomponents/layout/app-header/MobileAppHeader.tsx - Migrated to Tailwind CSScomponents/layout/app-header/AppHeader.tsx - Migrated to Tailwind CSScomponents/layout/app-header/MobileNavigation.tsx - Migrated to Tailwind CSScomponents/layout/RightRail.tsx - Migrated to Tailwind CSScomponents/layout/LeftRail.tsx - Migrated to Tailwind CSScomponents/layout/FooterSection.tsx - Migrated to Tailwind CSScomponents/layout/Shell.tsx - Migrated to Tailwind CSScomponents/AeButton.tsx - Wrapper for backward compatibilitycomponents/WalletConnectBtn.tsx - Uses MiniWalletInfo and ConnectWalletButtoncomponents/ConnectWalletButton.tsx - Migrated to AeButtoncomponents/SearchInput.tsx - Migrated to Input component with Tailwindcomponents/MobileInput.tsx - Migrated to Tailwind with responsive design and mobile optimizationscomponents/SwapCard.tsx - Migrated to Tailwind with modern tab interface and glassmorphism stylingcomponents/TransactionCard.tsx - Migrated to AeCard with Badge componentscomponents/MobileCard.tsx - Migrated to Tailwind with variant support and loading statescomponents/modals/UserPopup.tsx - Migrated to shadcn Dialog with Avatar component and profile displaycomponents/modals/TransactionConfirmModal.tsx - Migrated to shadcn Dialog with modern wallet confirmation UIcomponents/modals/PostModal.tsx - Migrated to shadcn Dialog with Input and Label componentscomponents/modals/TokenSelect.tsx - Migrated to shadcn Dialog with token list and gradient avatarscomponents/modals/FeedItemMenu.tsx - Migrated to shadcn DropdownMenu with nested report dialogcomponents/modals/CookiesDialog.tsx - Migrated simple modal with modern stylingcomponents/ModalProvider.tsx - Migrated with glassmorphism modal styling and backdrop blurcomponents/AddressAvatar.tsx - Migrated with glassmorphism avatar styling and fallback statescomponents/AddressChip.tsx - Migrated to Badge with glassmorphismcomponents/UserBadge.tsx - Migrated to AeCard with hover popovercomponents/TokenChip.tsx - Migrated to Badge with loading statescomponents/AeAmount.tsx - Migrated to Tailwind with font-mono stylingcomponents/FiatValue.tsx - Migrated to Tailwind with muted foregroundcomponents/MiniWalletInfo.tsx - Migrated to Tailwind classescomponents/Spinner.tsx - Migrated to Tailwind with purple accent animationcomponents/CommentList.tsx - Migrated with modern card layout and avatar stylingcomponents/dex/core/SwapForm.tsx - Migrated with glassmorphism card, gradient buttons, and modern stylingcomponents/dex/core/TokenInput.tsx - Migrated with AeCard, glassmorphism, and AeButton controlscomponents/dex/core/TokenSelector.tsx - Migrated with modern dialog styling and glassmorphism effectscomponents/dex/core/SwapConfirmation.tsx - Migrated with modern dialog styling and gradient effectscomponents/dex/core/SwapRouteInfo.tsx - Migrated to AeCard with Badge components for route displaycomponents/dex/core/SwapTabSwitcher.tsx - Migrated to modern tab interface with glassmorphismcomponents/dex/core/LiquiditySuccessNotification.tsx - Migrated with animated success states and progress indicatorscomponents/dex/DexSettings.tsx - Migrated to clean form styling with focus statescomponents/dex/widgets/NewAccountEducation.tsx - Migrated with vibrant gradients and animated elementscomponents/dex/supporting/RecentActivity.tsx - Migrated with glassmorphism cards and removed SCSS dependencyfeatures/social/components/PostContent.tsx - Migrated with responsive media gridsfeatures/social/components/FeedItem.tsx - Migrated to AeCard with glassmorphismfeatures/social/components/CreatePost.tsx - Migrated with glassmorphism design, responsive layout, and modern form stylingfeatures/social/components/SortControls.tsx - Migrated to modern pill-style buttonsfeatures/social/components/PostCommentsList.tsx - Migrated with loading/error statesfeatures/social/components/EmptyState.tsx - Migrated to AeCard with iconsfeatures/social/components/CommentItem.tsx - Migrated with nested reply structurefeatures/social/components/CommentForm.tsx - Migrated to AeCard with Textareacomponents/Trendminer/TokenChat.tsx - Migrated with modern chat interface and loading statescomponents/Trendminer/MobileTest.tsx - Migrated debug component with conditional stylingcomponents/Trendminer/TvCandles.tsx - Migrated with Tailwind stylingcomponents/Trendminer/MobileTrendingTagCard.tsx - Migrated with glassmorphism card styling and responsive designcomponents/Trendminer/TokenMiniChart.tsx - Migrated with loading state stylingcomponents/Trendminer/LatestTransactionsCarousel.tsx - Migrated with infinite scroll animation and hover effectscomponents/Trendminer/Sparkline.tsx - Pure SVG component, no migration neededcomponents/Trendminer/ExploreTrendsSidebar.tsx - Migrated with responsive layout and modern card designcomponents/Trendminer/MobileTrendingBanner.tsx - Migrated with gradient backgrounds and responsive button layoutcomponents/Trendminer/TrendingSidebar.tsx - Migrated with glassmorphism styling and gradient text effectscomponents/Trendminer/MobileTrendingControls.tsx - Migrated with modern form controls and filter interfacefeatures/dex/components/AddLiquidityForm.tsxfeatures/dex/components/RemoveLiquidityForm.tsxfeatures/dex/components/LiquidityPreview.tsxfeatures/dex/components/LiquidityConfirmation.tsxfeatures/dex/components/LiquidityPositionCard.tsxfeatures/dex/components/DexSettings.tsxfeatures/dex/components/charts/PoolCandlestickChart.tsx - Migrated to AeCard with Tailwind classesfeatures/dex/components/charts/TokenPricePerformance.tsx - Migrated to AeCard with proper Tailwind utilitiesfeatures/dex/components/charts/TokenPricePerformanceExample.tsx - Updated styling to use Tailwind classesfeatures/bridge/components/EthBridgeWidget.tsx - Migrated to AeCard with comprehensive Tailwind stylingcomponents/ErrorBoundary.tsx - Error boundary utilitycomponents/ShadcnDemo.tsx - Demo componentcontext/AeSdkProvider.tsx - Context providerfeatures/dex/context/PoolProvider.tsx - Context providerviews/UserProfile.tsx - Migrated with glassmorphism profile card and responsive designviews/PoolDetail.tsx - Migrated with glassmorphism cards and responsive grid layoutsviews/TokenDetail.tsx - Migrated with glassmorphism cards and responsive stats gridviews/TxQueue.tsx - Simple component migrated to Tailwind classesviews/Swap.tsx - Migrated with glassmorphism input cards and enhanced form stylingviews/Governance.tsx - Migrated with comprehensive Tailwind styling and modern glassmorphism designviews/ExploreRefactored.tsx - Migrated with modern tab navigation and responsive layouts views/Dex.tsx - Migrated with gradient headers and clean spacingviews/AddTokens.tsx - Migrated with enhanced table styling and status badgesviews/Explore.tsx - Migrated with modern tab navigation and table styling (duplicate of ExploreRefactored)views/TipDetail.tsx - Migrated with modern comment system and responsive layoutviews/Landing.tsx - Migrated with modern hero sections, glassmorphism cards and responsive designviews/Trending.tsx - Migrated with glassmorphism cards, modern table design and responsive layoutviews/FAQ.tsx - Migrated with modern card layouts and interactive accordionviews/Privacy.tsx - Simple page migrated to Tailwind typographyviews/Tracing.tsx - Debug page migrated with terminal-style code displayviews/Conference.tsx - Video conference iframe migrated with enhanced stylingviews/Terms.tsx - Legal page migrated to Tailwind typographyviews/Trendminer/TradeCard.tsx - Migrated with glassmorphism styling and modern form controlsviews/Trendminer/Invite.tsx - Migrated with comprehensive Tailwind styling, glassmorphism cards and responsive designviews/Trendminer/Daos.tsx - Migrated with glassmorphism cards, responsive grid layout and modern controlsviews/Trendminer/Dao.tsx - Migrated with glassmorphism styling and modern form controlsviews/Trendminer/CreateToken.tsx - Migrated with modern input styling and responsive layoutviews/Trendminer/TokenDetails.tsx - Migrated with comprehensive mobile-optimized layout and glassmorphism designviews/Trendminer/Accounts.tsx - Migrated with modern table styling and responsive layoutviews/Trendminer/TrendCloud.tsx - Migrated with modern header controls and responsive designviews/Trendminer/TrendCloudVisx.tsx - Migrated with glassmorphism styling and modern color paletteviews/Trendminer/AccountDetails.tsx - Migrated with responsive grid layout and glassmorphism cardsfeatures/social/views/FeedList.tsxfeatures/social/views/PostDetail.tsxfeatures/dex/views/DexSwap.tsxfeatures/dex/views/Pool.tsxfeatures/dex/views/DexExploreTokens.tsxfeatures/dex/views/DexExplorePools.tsxfeatures/dex/views/DexExploreTransactions.tsxfeatures/dex/views/DexWrap.tsxfeatures/dex/views/DexBridge.tsxfeatures/dex/layouts/DexLayout.tsxApp.tsx - Root app componentmain.tsx - App entry pointroutes.tsx - Routing configuration