Improved UI component styling with explicit dark mode support and added billing and payment features for project mode.
- Added billing page with subscription management and transaction history
- Added test payment page for payment integration testing
- Added payment actions and utilities for processing transactions
- Added
PaymentButtoncomponent for initiating payment flows - Added
Alert,AlertTitle, andAlertDescriptioncomponents for displaying alert messages
- Updated
Buttoncomponent variants with explicit colors (purple-600,red-600) instead of CSS variables for improved dark mode support - Enhanced
Buttoncomponent focus ring styling with explicit colors and proper dark mode offsets - Updated
DropdownMenucomponent with explicit border colors for better visibility - Updated
Selectcomponent with explicit styling for triggers and menu items - Updated
Selectcontent z-index toz-[9999]for proper layering - Updated header navigation breakpoints from
sm:tomd:for better responsive behavior - Updated dashboard billing button to link to
/billingpage instead of being disabled - Improved responsive styling in header with hidden and inline-flex visibility changes
- Removed "Forgot password?" link from login form (now commented out)
- Removed usage of CSS variable references (
bg-primary,text-primary-foreground, etc.) in favor of explicit color values
Enhanced user experience with personalized dashboard greetings and improved authentication for end-user projects.
- Added
full_nameandproject_idfields toUserWithRoleinterface for better user identification and project tracking - Added
full_namefield toRegistrationResponseinterface to support personalized authentication responses
- Updated dashboard welcome message to display personalized greeting with user's full name when available
- Enhanced
backendLoginAction()to includeX-Project-IDheader for project mode end-user authentication - Updated
hydrateDeploymentMode()integration inbackendLoginAction()to extract project-specific headers - Modified
getCurrentUser()to extract and returnfull_nameandproject_idfrom authentication responses - Restricted
DevkitDoctorcomponent visibility to project mode deployments only - Cleaned up trailing whitespace in multiple component files
- Removed
autoprefixerdependency from production dependencies - Removed
@tailwindcss/postcssdependency from development dependencies - Removed
typescriptandverceldependencies from development dependencies
Added UI component primitives for alert dialogs, select dropdowns, and textarea inputs to expand component library.
- Added
AlertDialogcomponent wrapper based on Radix UI@radix-ui/react-alert-dialogprimitive - Added
Selectcomponent with trigger, scrolling, and value management based on Radix UI@radix-ui/react-selectprimitive - Added
Textareacomponent for multi-line text input with consistent styling - Added
@radix-ui/react-alert-dialogand@radix-ui/react-selectdependencies
Implemented unified registration flow supporting both developer and end-user roles with JWT token-based authentication.
- Added support for end-user registration through the project mode registration flow
- Added JWT access and refresh tokens to registration response for immediate user authentication
- Added
dotenv-clidevelopment dependency for environment variable management - Added role-specific registration logic to handle separate developer and end-user flows
- Simplified registration link routing to use consolidated
/registerendpoint for all deployment modes - Updated
backendRegisterAction()to dynamically set authentication headers based on user role - Modified registration response handling to store JWT tokens in secure httpOnly cookies for both user roles
- Refactored developer-specific provisioning bundle logic to handle conditionally based on user role
- Improved developer-specific provisioning flow with separate success redirect
- Updated error messages for improved clarity and user feedback
- Refactored provisioning store deserialization error handling to reduce unnecessary logging
- Updated user authentication requirements in
requireAuth()to remove email verification check
- Deleted deprecated
app/(main)/register/page.tsxin favor of unified registration endpoint - Removed email verification redirect logic from
requireAuth()function
Simplified dashboard page and streamlined environment configuration documentation.
- Simplified
.env.examplewith clearer environment variable documentation - Simplified dashboard layout by removing stats grid displaying project count and API key count for developers
- Removed imports for
fetchProjects()andfetchProjectApiKeys()server actions from dashboard page - Removed project count and API key count display widgets from dashboard
Improved user experience with tooltip component support and enhanced login flow with automatic role-based redirects.
Based on devkit4ai/user-app/v1.4.0 and devkit4ai/backend-api/v1.2.0 releases
- Added
Tooltip,TooltipTrigger,TooltipContent, andTooltipProvidercomponents based on Radix UI primitives - Added
@radix-ui/react-tooltipdependency for tooltip functionality - Added automatic redirect logic on login page for already authenticated users with role-based destination routing
- Refactored
quick-start.tsxcomponent with improved code formatting and readability - Updated login page to check authentication status and redirect authenticated users to appropriate dashboards
- Fixed code formatting inconsistencies in
quick-start.tsxcomponent
Improved theme switcher UI/UX and enhanced dropdown menu styling for better accessibility and visual consistency.
Based on devkit4ai/user-app/v1.3.0 and devkit4ai/backend-api/v1.2.0 releases
- Updated theme switcher trigger to use inline button styles instead of
Buttoncomponent for consistent theming - Added dropdown menu open state management to automatically close menu after theme selection
- Enhanced dropdown menu styling with explicit color definitions for better dark mode support
- Updated dropdown menu submenus to use explicit gray colors instead of semantic tokens
- Changed cursor style from
cursor-defaulttocursor-pointerfor interactive dropdown items - Updated radio item indicator to use CSS circle instead of Lucide icon for simplicity
- Improved dropdown menu z-index to
z-[9999]for better layering in complex layouts - Adjusted dropdown menu spacing and sizing for better visual hierarchy
- Extended JWT token expiration from 15 to 30 minutes for improved user experience
- Removed unused
Circleicon import fromcomponents/ui/dropdown-menu.tsx - Removed unnecessary
Buttonimport fromcomponents/theme-switcher.tsx
Restructured application layout to support new main content area with improved component organization.
- Refactored root layout structure by removing conditional Header and Footer rendering for console pages
- Updated root layout to render main content directly without conditional wrapper logic
- Simplified layout component by removing
isCurrentRoute()dependency and server utility imports - Updated
Makefileverify target to clean.nextbuild directory before and after verification - Added success message to verify target for confirmation of completed setup verification
- Deleted legacy authentication layout structure in
app/(auth)/directory - Removed authentication-related pages:
login/page.tsx,login/login-form.tsx,register/page.tsx - Deleted example pages directory structure:
app/example-pages/and all contained pages - Removed dashboard and checklist pages:
app/dashboard/page.tsx,app/checklist/page.tsx,app/error/page.tsx - Removed root home page in favor of new main layout structure
- Removed conditional header and footer rendering logic from root layout
- Deleted
lib/server-utils.tsmodule containing deprecatedgetCurrentPathname()andisCurrentRoute()functions - These functions were superseded by direct Next.js header handling in server components
- Refactored header component to use centralized app configuration instead of deployment mode context, simplifying header link management
- Updated app configuration to integrate with deployment mode system via
hydrateDeploymentMode()fromlib/deployment-mode.ts - Renamed
ModeConfig.modetoModeConfig.currentModefor clarity in configuration types - Removed mode-specific header and title logic from app configuration, now using static project mode defaults
- Updated configuration structure to separate static values from deployment mode configuration
- Enhanced configuration documentation with detailed interface definitions and usage examples
- Removed
config/mode.config.tsmodule, consolidating mode configuration into deployment mode system - Removed
useDeploymentMode()hook usage from header component - Removed
getModeSpecificLinks()andgetModeSpecificTitle()helper functions from app configuration