Commit graph

3 commits

Author SHA1 Message Date
Vlad Sazonau
5a4e9debc1
feat: add /?template=stripe|default to url, implement URL compression logic (#130)
* feat: add debug local storage UI and update README; include new template parameter handling in invoice form

* feat: add URL compression logic when generating link to invoice to reduce url length + add unit tests + improved existing e2e tests

* ci: remove type check step from unit tests workflow to streamline CI process

* test: update e2e tests for Stripe invoice sharing logic and template; increase timeout for visibility checks

* test: refactor e2e tests for invoice generation and sharing; update element selectors and enhance URL disallow rules in robots.txt

* chore: enhance README with detailed features and update about page references; add GitHub star CTA component

* chore: update configuration files for Prettier, run prettify across the project

* chore: run dedupe

* test: add e2e tests for Open Graph meta tags in invoice templates; verify correct rendering for default and Stripe templates

* chore: remove @stagewise/toolbar-next package and related development toolbar component from the project
2025-08-20 01:15:48 +02:00
Vlad Sazonau
4ec759dbe8
feat: format price on stripe template and make updates to license (#123)
* feat: add formatCurrency method

- Added licensing section to README, specifying AGPL-3.0 for non-commercial use and contact details for commercial licensing.
- Enhanced PDF tests to improve currency formatting consistency, ensuring proper display of amounts in various locales.

* chore: update license information and update invoice footer

- Changed license information in LICENSE file to dual licensing under AGPL-3.0 and a commercial license.
- Updated README to reflect the new dual licensing terms.
- Enhanced PDF tests to ensure consistent formatting of due dates and amounts across various templates.

* fix: update Stripe invoice PDF template styles and formatting

* fix: remove service period check from Stripe invoice PDF tests for improved accuracy

* fix: correct formatting of account number in Stripe invoice PDF template and update test expectations

* fix: update invoice PDF template to include tax field and improve formatting

- Added tax field to the invoice PDF template and updated related translations.
- Enhanced Stripe items table to conditionally display VAT based on item data.
- Adjusted invoice totals calculation to reflect net amounts and include VAT details.
- Updated tests to ensure accurate rendering of invoice data and expectations.

* refactor: streamline invoice PDF template imports and update styles type

* fix: update robots file to disallow indexing of favicon and other icon files

* robots.ts fix
2025-07-20 23:59:06 +02:00
Vlad Sazonau
205f9bc234
feat: stripe invoice template, new CTA toasts, cleanup landing page + other improvements (#118)
* feat: enhance Android PDF viewer with error handling and memoization

- Added error handling for PDF loading failures in AndroidPdfViewer, utilizing Sentry for logging and user-friendly toast notifications.
- Implemented memoization for the InvoicePdfTemplate to optimize rendering performance.
- Updated layout.tsx to include necessary CSS for PDF rendering.
- Adjusted index.tsx comments for clarity on viewer types.

* feat: add new toasts, cleanup landing page, add stripe template

* feat: enhance PDF footer and update tests for dynamic content

- Introduced a new InvoiceFooter component to modularize footer rendering in PDF templates, improving code organization and reusability.
- Updated PDF tests to verify dynamic content in footers, including current month/year and payment due date, ensuring accurate invoice representation.
- Added PROD_WEBSITE_URL to config for consistent URL usage across components.
- Improved Telegram message handling with cache control headers for better performance.

* feat: implement invoice sharing logic and logo handling for stripe template

- Added state management for sharing invoices, including validation for logos that exceed URL length limits.
- Updated the share invoice button to reflect sharing capabilities based on logo presence.
- Introduced logo upload functionality with validation for file type and size, enhancing user experience.
- Refactored invoice form to disable sharing when a logo is present in Stripe templates, ensuring compliance with URL constraints.
- Improved toast notifications for user feedback on sharing and logo upload actions.

* feat: update invoice descriptions and enhance date handling in PDF templates

- Updated invoice descriptions in multiple languages to clarify that the tool runs entirely in the browser.
- Refactored date handling in the Stripe template components to ensure accurate formatting based on the invoice's language settings.
- Introduced a new InvoiceBody component to modularize the PDF rendering process, improving code organization and reusability.
- Enhanced the StripeDueAmount and StripeFooter components to reflect the updated date logic and improve overall clarity in the invoice presentation.
- Added localization support for date formatting using dayjs across various components.
- Added new currencies

* chore: remove unused vercel.json and add new e2e tests for invoice sharing and PDF generation

- Deleted the unused vercel.json configuration file.
- Updated the about page test to reflect changes in the description for clarity.
- Removed redundant error message checks in the invoice form tests.
- Added new e2e tests for PDF generation and sharing logic specific to the Stripe template, ensuring comprehensive coverage of invoice functionalities.

* feat: enhance umami tracking with invoice template data and improve error handling

* refactor: improve tooltips text and design, improve error handling and test assertions in invoice form and logo upload utilities

- Enhanced error handling in the logo upload function to ensure input elements are present and base64 data is provided.
- Updated e2e tests for the invoice generator page to use more reliable URL assertions.
- Refactored invoice form logic to simplify sharing validation based on template and logo presence.
- Improved button accessibility and user experience by clarifying aria-disabled attributes in various components.

* refactor: update CTA toast logic and improve button components

- Changed the timer for showing the CTA toast from 30 seconds to 40 seconds.

* fix tests

* fix: update date formatting in general information section to respect locale settings

* feat: add changelog page with mdx support

- Added support for MDX files in the Next.js configuration, allowing for rich content in the changelog.
- Introduced a new changelog layout and page structure to display updates effectively.
- Implemented dynamic routing for individual changelog entries, improving navigation and user experience.
- Enhanced the footer component with subscription functionality and improved styling.
- Updated translations to include changelog links across multiple languages.
- Added new components for date formatting and project logo descriptions to enhance the changelog presentation.

* feat: add environment configuration and update social links in tests

- Created a new .env.example file to define environment variables for server and client configurations, including Sentry, Resend, Redis, and personal information for invoices.
- Updated e2e tests to utilize GITHUB_URL and TWITTER_URL from the config for social media links, enhancing maintainability and consistency across the application.
- Refactored footer and about page components to use dynamic URLs for GitHub and Twitter, improving code clarity and reducing hardcoded values.

* chore: update environment configuration and README for clarity

- Updated .env.example to set default values for Sentry and Google Drive API configurations, enhancing clarity for new developers.
- Modified env.ts to remove minimum length validation for environment variables, simplifying the setup process.
- Enhanced README with quick start instructions and service links for Resend, Upstash, Google Drive API, and Telegram Bot API, improving onboarding experience.

* chore: add localtunnel script to package.json and adjust input component styles

- Added a new script expose-to-internet in package.json for localtunnel to facilitate external access during development.
- Updated the Input component to conditionally adjust width for date type inputs, enhancing responsiveness and usability.

* fix: update tagline in various components for consistency

* refactor: enhance loading component layout and styling

* refactor: improve invoice form validation and template handling

- Enhanced the InvoiceForm component to validate data before saving to local storage using Zod.
- Updated GeneralInformation component to handle template-specific updates for date format and clear fields based on the selected template.
- Adjusted StripeSellerBuyerInfo component styles for better spacing and consistency.
- Improved InvoiceBody component to handle invoice total formatting more robustly.
- Updated translations for 'billTo' in multiple languages for better accuracy.

* footer fix

* refactor: standardize date formatting in invoice templates

- Introduced STRIPE_DEFAULT_DATE_FORMAT constant for consistent date formatting across invoice-related components.
- Updated template tests to utilize the new date format for improved maintainability.
- Adjusted GeneralInformation component to set date format based on the selected template, enhancing clarity and consistency.
2025-07-09 01:39:21 +02:00
Renamed from e2e/pdf.test.ts (Browse further)