Skip to content

Enhance landing page and admin features for version 2 - #2

Open
daniel-teddy wants to merge 105 commits into
mainfrom
v2-ui
Open

daniel-teddy wants to merge 105 commits into
mainfrom
v2-ui

Conversation

@daniel-teddy

Copy link
Copy Markdown
Collaborator

Implement a comprehensive update to the landing page, introducing bilingual support, improved UI components, and enhanced navigation. Add new features for the admin dashboard, including payment link management and withdrawal functionalities. Update deployment processes and CI workflows for better integration and performance. Version bumped to 0.2.0 to reflect these significant enhancements.

…tion; add CI workflow and Vitest configuration
Centralize marketing content for every landing section in English and French so the UI can stay high-fidelity without hard-coded strings.
Introduce copyable contact command, provider tabs, work-card visuals, and FAQ list support for bullet answers to match SuperCmd section patterns.
Wire feature stats, work grid with visuals, stack inventory, comparison tables, architecture, FAQ, and closing CTA from locale copy.
Serve the landing page under locale paths, redirect `/` by preference, and expose an English/French toggle in the floating nav.
…kers

- Added new deployment scripts for live updates to Cloudflare Workers.
- Updated package.json with new preview and deploy commands.
- Configured wrangler.jsonc to enable workers_dev and preview_urls for improved development experience.
- Added locale support to the Work and Dashboard components for English and French.
- Introduced a new ProviderTabs component displaying technology stacks based on the selected tab.
- Updated the README with local development instructions and deployment scripts for Cloudflare Workers.
- Updated HeroMock component to support additional callouts with titles and bodies.
- Refactored Hero component to improve layout and integrate new copy fields.
- Added className prop to CopyCommand for customizable styling.
- Enhanced global styles for improved visual presentation of hero elements.
- Updated content types and translations to include new fields for better localization.
- Removed IconButton component from SiteNav for cleaner code.
- Updated brand name from "Stackwise" to "Stackwise Technologies" in English and French site copy.
- Reformatted content structure for better readability.
…n deploy script

- Changed the deployment message format to remove spaces for compatibility with OpenNext.
- Updated argument passing in the deployment command to use the preferred format for better token handling.
- Updated package versions and added new dependencies for database and email functionalities.
- Created migration scripts for initializing database tables related to OTP and payment links.
- Developed admin layout and dashboard components for managing payment links.
- Implemented login functionality with OTP verification for admin access.
- Added API routes for handling payment link creation, retrieval, and email notifications.
- Introduced new components for displaying payment links and their statuses.
- Enhanced middleware to include new admin routes for better access control.
- Added a new utility function to retrieve the application secret, prioritizing KPay webhook secret and ensuring it meets length requirements.
- Updated session management to utilize the new secret retrieval method instead of relying on SESSION_SECRET.
- Modified tests to use KPay webhook secret for session token generation.
- Adjusted hashing logic to use KPAY_SECRET_KEY for password salting.
- Updated email delivery configuration to use SMTP_FROM_ADDRESS as the user if available.
- Added a new WithdrawPage component for admin withdrawal management.
- Created API routes for fetching wallet balances and processing withdrawals.
- Developed a WithdrawPanel component for user interaction, including form handling and balance display.
- Introduced KPay provider configurations for withdrawal options.
- Updated AdminShell to include a link to the withdrawal page.
- Added environment file loading functionality to the migration script for better configuration management.
- Refactored migration execution to handle multiple SQL statements individually, improving error handling and logging.
- Updated PaymentLinkBuilder component to change default currency to KES and disabled email sending by default.
- Introduced preview mode for payment links, allowing users to see a live preview before creation.
- Added validation to ensure customer name and email are provided before processing payment links.
- Introduced a new ensureSchema function to manage database schema initialization.
- Updated payment link and admin OTP functionalities to ensure the database schema is ready before operations.
- Added loading of the .env.example file in the migration script for improved environment configuration.
- Introduced a local growth connector CLI for managing session cookies and ingesting growth signals.
- Added API routes for securely retrieving and storing encrypted session cookies for LinkedIn and X platforms.
- Updated the admin UI to include functionality for marking leads as "not a fit" and improved lead management features.
- Enhanced documentation to reflect new CLI commands and usage instructions for the growth connector.
- Refactored existing code to support the new session management features and ensure compatibility with the growth engine.
…LI commands

- Added new CLI scripts for connecting to LinkedIn and X, enabling session management and health reporting.
- Implemented session health tracking in the database, including status, last health check, and error logging.
- Updated the admin UI to display platform connection statuses and health information.
- Enhanced documentation to include new commands and usage instructions for the growth connector.
- Refactored existing code to support the new session health features and ensure compatibility with the growth engine.
…n management

- Added a new script for the growth connect server to facilitate real-time browser sessions for LinkedIn and X logins.
- Updated the admin UI to include a GrowthConnectPanel for improved user experience during the connection process.
- Implemented new API routes for session validation and token management to enhance security and session handling.
- Refactored existing components to utilize the new AdminActionButton for consistent UI interactions.
- Enhanced documentation to include instructions for the new connect server and updated usage guidelines for the growth connector.
- Introduced a new growth connect server to manage real-time browser sessions for LinkedIn and X logins.
- Enhanced the admin UI with a GrowthConnectPanel for improved user experience and session management.
- Added API routes for session health tracking, configuration retrieval, and input handling.
- Implemented database migrations for managing browser session states and errors.
- Updated documentation to include setup instructions for the new connect server and usage guidelines for hosted and relay modes.
- Updated documentation to clarify local development setup for the growth connect server, emphasizing the use of `npm run dev` in local mode.
- Enhanced error handling in the session route to provide clearer messages for local development scenarios, specifically addressing Miniflare browser binding issues.
- Introduced a utility function to determine the preferred connection mode based on environment variables, improving flexibility in local and production environments.
… management

- Added Playwright as a dependency to facilitate in-process browser interactions during local development.
- Updated documentation to clarify the setup process for using Playwright, including installation instructions.
- Introduced new API routes for managing development sessions, including health checks and input handling.
- Refactored existing components to improve user experience and error messaging related to local development scenarios.
- Enhanced the GrowthConnectPanel to provide clearer instructions for local connection modes.
…pport

- Added interaction type handling in session responses to differentiate between headed and streaming modes.
- Introduced GrowthConnectHeadedWatcher and GrowthConnectStream components for managing user interactions during sessions.
- Updated session management logic to accommodate new interaction types and improve user experience.
- Refactored API routes to return interaction type alongside session ID for better session handling.
…nd API routes

- Introduced the GrowthHarvestPanel component for managing lead generation and harvesting from LinkedIn and X feeds.
- Added a new API route for handling harvest requests, supporting both streaming and standard responses.
- Implemented signal extraction logic for LinkedIn and X platforms, enabling the capture of relevant posts and user interactions.
- Updated the admin UI to include the harvesting process, allowing users to initiate and monitor lead generation activities.
- Enhanced documentation to reflect new features and usage instructions for the Growth Harvest functionality.
…nd search capabilities

- Updated the GrowthHarvestPanel to clarify the harvesting process and scoring of posts.
- Introduced a new in-page extraction module for capturing posts from LinkedIn and X, improving the accuracy of harvested content.
- Implemented search query building from ICP settings to optimize the harvesting process.
- Added deduplication logic for signals to ensure unique entries in the harvested data.
- Enhanced session management with a dedicated session check for both platforms.
- Updated documentation to reflect changes in the harvesting workflow and new features.
…e enrichment

- Introduced OpenRouter integration for generating personalized reply drafts based on lead profiles and context.
- Added a new SQL migration to include a profile summary column in the growth_leads table.
- Updated the GrowthInboxPanel and GrowthLeadsTable components to support filtering leads by minimum fit score.
- Implemented a GrowthScoreFilter component for improved user experience in managing lead scores.
- Enhanced the harvesting process to extract additional profile information from social media posts.
- Updated documentation to reflect new features and usage instructions for personalized drafts and profile enrichment.
…nto AdminShell

- Added adminGrowthNavChildren to manage growth-related navigation items.
- Updated AdminShell to include growth navigation links, enhancing sidebar structure.
- Removed GrowthSubnav component and simplified GrowthLayoutClient to streamline growth section rendering.
- Improved admin page titles for growth-related routes for better clarity.
…h functionality

- Introduced a new API route for regenerating drafts using AI, allowing for improved content generation.
- Implemented a growthFetch utility to standardize API calls and prevent stale cached responses.
- Updated GrowthInboxPanel and GrowthLeadsTable components to utilize growthFetch for fetching data.
- Enhanced draft handling in the repository with new logic for AI-generated content and improved error handling.
- Added normalization for discovery keywords in personalized drafts to streamline context processing.
- Introduced GROWTH_AI_DEBUG environment variable to enable logging of prompts and completions during development.
- Implemented logging functions in ai-debug.ts to capture OpenRouter interactions and errors.
- Enhanced openrouter.ts and personalized-draft.ts to log relevant information for debugging AI-generated drafts and API responses.
- Updated documentation to reflect the new debugging feature and its usage in the development environment.
…ck model

- Added functions to detect and sanitize meta-reasoning in outbound replies, ensuring cleaner AI-generated content.
- Implemented a fallback model mechanism for OpenRouter to handle cases where the primary model fails or returns empty responses.
- Introduced tests for the new sanitization logic and content extraction to ensure reliability.
- Updated documentation to reflect new environment variables and usage instructions for the enhanced AI features.
- Added sorting functionality for leads and drafts based on composite scores and lead scores, respectively.
- Updated GrowthInboxPanel to display drafts sorted by lead score, improving review prioritization.
- Enhanced GrowthLeadsTable to show leads sorted by highest fit score, with a user-friendly indication of sorting criteria.
- Introduced unit tests for the new sorting functions to ensure correct behavior and reliability.
…gement improvements

- Integrated account display functionality in GrowthHarvestPanel and GrowthPlatformConnections to show connected account labels.
- Refactored session management to utilize growthFetch for API calls, improving reliability and consistency.
- Added new utility functions for detecting account labels on the page and displaying them in the UI.
- Introduced tests for account label detection to ensure accurate representation of user accounts.
- Updated documentation to reflect changes in account handling and session management features.
- Added functionality to post replies on X directly from the admin inbox, utilizing a new API route for publishing draft replies.
- Updated GrowthInboxPanel to support posting replies, including character limit validation and error handling for failed posts.
- Introduced auto-publishing feature for drafts after capture, with appropriate environment variable configuration.
- Enhanced documentation to clarify the new posting capabilities and usage instructions for the X platform.
- Updated GrowthInboxPanel to display specific messaging for draft replies based on the platform, distinguishing between X and other platforms.
- Implemented new functions in drafts.ts to build reply drafts tailored for X, including character limit enforcement and link formatting.
- Added tests for the new X reply formatting logic to ensure compliance with character limits and content guidelines.
- Introduced x-reply-format.ts to manage X-specific reply formatting and sanitization, improving overall content quality for public replies.
…er methods

- Updated the posting process for replies on X to utilize an inline reply box and fallback methods for better reliability.
- Introduced new helper functions for extracting tweet IDs and normalizing tweet URLs, improving the handling of reply links.
- Added tests for the new helper functions to ensure correct behavior and reliability.
- Enhanced the posting UI with a debug mode for better visibility during the posting process.
- Enhanced the GET requests for inbox and leads to support optional platform filtering, allowing users to specify a platform when retrieving data.
- Introduced a new API route for generating drafts for leads, ensuring proper session management and error handling.
- Added a GrowthPlatformFilter component to facilitate platform selection in the UI, improving user experience.
- Updated repository functions to accommodate platform-specific logic in data retrieval and draft generation.
- Enhanced type definitions to include GrowthInboxItem for better data structure clarity.
…x functionality

- Added platform filtering options to the GrowthInboxPanel and GrowthLeadsTable, allowing users to filter leads and drafts by source (X / LinkedIn).
- Updated the inbox and leads API endpoints to support platform-specific queries, improving data retrieval accuracy.
- Enhanced the user interface with a new GrowthPlatformFilter component for better user experience in selecting platforms.
- Refactored lead and draft handling logic to accommodate the new filtering capabilities, ensuring consistent data presentation.
- Improved documentation to reflect the new features and usage instructions for platform filtering.
- Added new pages for managing contracts, including a list view, detail view, and creation form.
- Implemented API routes for contract creation, retrieval, updating, and sending to clients, ensuring proper session management and error handling.
- Introduced components for contract display and editing, enhancing the user experience for contract management.
- Integrated AI-driven contract drafting capabilities, allowing users to generate drafts based on client inputs.
- Enhanced navigation and UI elements to support the new contracts feature, improving overall admin panel usability.
…tures

- Introduced new API routes for creating payment links and updating engagement tracking, improving financial management for contracts.
- Added a ContractEngagementOpsPanel component for admin users to manage payment links and engagement progress.
- Updated the AdminContractDetailPage to display payment links and engagement status, enhancing the user interface for contract details.
- Implemented a public portal for clients to view contracts and accept agreements, streamlining client interactions.
- Enhanced contract document views with improved layout and markdown support for better readability.
… contracts

- Added BrandDocumentShell and BrandDocumentLetterhead components to standardize document layouts for invoices and contracts.
- Integrated brand document styles in brand-document.css for consistent presentation across client-facing documents.
- Updated InvoiceView and ContractDocumentView to utilize new components, enhancing visual consistency and readability.
- Removed the obsolete InvoiceHeader component to streamline the codebase and improve maintainability.
…styling

- Refactored ContractDocumentView to enhance layout and readability, including adjustments to text sizes and spacing.
- Introduced InvoiceStamp component for consistent invoice presentation.
- Updated ContractMarkdownBody to adjust font size for better readability.
- Enhanced BrandDocumentLetterhead and BrandDocumentShell for improved document structure and styling.
- Made various CSS adjustments for better visual consistency across contract and invoice documents.
… structure

- Reorganized imports in AdminContractDetailPage and ContractReviewPanel for better readability.
- Removed unnecessary Link component from AdminContractDetailPage to streamline navigation.
- Enhanced layout in ContractDocumentView by adjusting the structure of customer information display.
- Updated BrandDocumentLetterhead to comment out unused contact information section, improving clarity.
- Introduced print-document.css for A4 print styling, ensuring consistent presentation across invoices and contracts.
- Updated layout components to support print-friendly formats, including adjustments to widths and margins for better alignment.
- Enhanced ContractDocumentView and related components to include a PrintButton for easy access to print functionality.
- Improved typography and spacing in brand document styles for better readability in printed formats.
- Removed obsolete print-receipt.css to streamline styles and consolidate print-related styles into a single file.
…omponents for enhanced document layout

- Replaced ContractDocumentView with ClientContractDocumentPreview in AdminContractDetailPage for improved client view.
- Added DocumentA4Preview component to provide a fixed A4 layout for document previews, ensuring consistent presentation.
- Updated ContractDocumentView to support an A4 fixed layout option, enhancing print styling and layout consistency.
- Refactored ContractReviewPanel and EngagementPublicPortal to utilize new components for better document handling and display.
- Enhanced the BrandDocumentShell component to better support A4 fixed layouts, introducing a new structure for headers, main content, and footers.
- Updated CSS styles to accommodate the new layout, ensuring proper spacing and alignment for printed documents.
- Simplified the rendering logic for different document formats, improving code readability and maintainability.
…ation

- Removed redundant margin styles from the main content area in brand-document.css.
- Introduced padding variables in print-document.css for consistent spacing across headers, main content, and footers in A4 fixed layouts.
- Adjusted padding for page header and footer to enhance layout consistency and visual appeal in printed documents.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant