Commit Graph

39 Commits

Author SHA1 Message Date
idevakk
5fabec1f9d fix(plans): prevent deletion of plans with active subscriptions
- Fix bulk delete and individual delete actions using before() hook with halt()
  - Add daily/weekly billing cycle options to plan resource and Polar provider
  - Enhance payment confirmation with dynamic polling and loading states
  - Add graceful handling for deleted plans in subscription display
  - Update Polar provider to support dynamic billing cycles
2025-12-07 02:23:14 -08:00
idevakk
1b438cbf89 feat(webhooks): enhance Polar webhook processing with proper event handling
- Add support for subscription.uncanceled webhook event
  - Fix spelling mismatch for subscription.canceled (Polar) vs subscription.cancelled (code)
  - Implement proper cancel_at_period_end handling in subscription.canceled events
  - Add cancelled_at field updates for subscription.updated events
  - Handle Polar's spelling variants (canceled_at vs cancelled_at) consistently
  - Remove non-existent pause_reason column from subscription uncanceled handler
  - Enhance webhook logging with detailed field update tracking
  - Add comprehensive cancellation metadata storage in provider_data
  - Gracefully handle null provider_subscription_id in payment confirmation polling

  All Polar webhook events now properly sync subscription state including
  cancellation timing, reasons, and billing period details.
2025-12-07 00:57:46 -08:00
idevakk
5ee5c5b8dc feat(billing): implement Polar customer portal integration
- Add comprehensive billing page with current subscription display and transaction history
   - Integrate Polar.sh customer portal for subscription management
   - Fix Polar API endpoint from /customer-portal to /customer-sessions
   - Use Polar's direct customer_portal_url response for seamless redirect
   - Add responsive button layout with cursor-pointer styling
   - Implement human-readable timestamps using diffForHumans()
   - Add subscription sync functionality with 30-minute recheck window
   - Include subscription cancellation with modal confirmation
   - Support activation key provider with pending activation display
   - Add proper error handling and user feedback messages
2025-12-06 02:03:56 -08:00
idevakk
8950988eac feat(payment): implement beautiful payment confirmation page with real-time status checking
- Add PaymentSuccessController with authentication and subscription selection logic
   - Create PaymentConfirmation Livewire component with polling mechanism
   - Implement real-time subscription status verification via Polar provider API
   - Add confetti animation for successful payment confirmation
   - Design responsive payment success page with dark mode support
   - Fix Polar provider field mapping (updated_at -> modified_at)
   - Add comprehensive error handling and logging
   - Support multiple subscription status states (verifying, activated, pending, error)
   - Implement automatic polling with 30-second intervals (max 5 attempts)
   - Add fallback redirects and user-friendly status messages
2025-12-04 11:59:09 -08:00
idevakk
3b908484de refactor(pricing): dynamic payment provider buttons with database-driven text
- Replace hardcoded provider-specific buttons with dynamic database-driven approach
  - Update getPlanProviders() to include display_name from payment_providers table
  - Simplify plan-card.blade.php with single if/else logic for all providers
  - Move trial button outside loop and comment for future implementation
  - Use "Pay with {display_name}" pattern for consistent button text
  - Maintain special handling for activation_key provider with disabled state
2025-12-02 11:58:44 -08:00
idevakk
3cd6c0f7cc refactor(pricing): optimize plan provider retrieval with active filtering
- Replace getAllowedProviders() method with direct database query
  - Add filtering for enabled plan providers and active payment providers
  - Include sort ordering for consistent provider display
  - Improve performance by using direct database access instead of model method
2025-12-02 11:16:20 -08:00
idevakk
d4de074161 fix: add fallback value for setting variables 2025-11-28 05:59:25 -08:00
idevakk
0baacdc386 feat: implements activation key as payment provider and migrate activation key to use unified payment system 2025-11-21 12:14:20 -08:00
idevakk
7ca3d44d59 chore: migrate to unified payment system & fix disposable gmail and outlook 2025-11-21 12:13:41 -08:00
idevakk
72b8109a3a feat: enhance pricing page with feature limits and trial management
- Add comprehensive feature limits enforcement middleware
   - Implement subscription dashboard with usage analytics
   - Create reusable plan card component with feature badges
   - Add trial configuration support with limit overrides
   - Fix payment controller null safety issues
   - Improve pricing page UI with proper feature display
2025-11-21 10:55:57 -08:00
idevakk
5f5da23a40 feat: migrate legacy subscription checks to unified payment system
- Replace Laravel Cashier methods with new subscription system
  - Remove session-based subscription checking in bulk components
  - Update Dashboard.php to use PaymentOrchestrator for provider-agnostic sync
  - Maintain backward compatibility with existing Stripe subscriptions
  - Improve performance by eliminating session overhead
  - Add automatic migration of legacy subscriptions to new system

BREAKING CHANGE: Subscription checking now uses unified payment system instead of Laravel Cashier methods
2025-11-20 11:05:51 -08:00
idevakk
ae795880ed chore: code refactor via rector 2025-11-14 02:01:01 -08:00
idevakk
90ab79b3a2 chore: code styling via pint 2025-11-14 01:51:35 -08:00
idevakk
3892c48ef2 feat: upgrade filament to v4 and ensure 100% test coverage
- Upgrade Filament framework from v3 to v4
   - Update all Filament resources and pages for v4 compatibility
   - Fix test suite to maintain 100% pass rate (321 tests passing)
   - Add visibility condition for ticket close action (only when not closed)
   - Update dependencies and build assets for new Filament version
   - Maintain backward compatibility while leveraging v4 improvements
2025-11-14 01:42:07 -08:00
idevakk
68ef391c5d test: achieve 100% test coverage with comprehensive test suite fixes
- Fix Laravel bootstrap issues in TestCase setup
  - Add missing database factories (Setting, PremiumEmail, ActivationKey, etc.)
  - Convert Pest tests to PHPUnit style for compatibility
  - Fix model relationships and boolean casts
  - Add missing Filament resource actions and filters
  - Fix form validation and test data mismatches
  - Resolve assertion parameter order issues
  - Add proper configuration for test views
  - Fix searchable columns and table sorting
  - Simplify complex filter assertions for stability
2025-11-13 09:11:14 -08:00
Gitea
573d32c9bd feat: added option to hide stripe billing links from dashboard 2025-08-15 21:37:32 +05:30
Gitea
175a7203f3 added support ticket and added more stat widgets 2025-05-17 05:11:29 +05:30
Gitea
93515e7845 added crypto pm and activation key system 2025-05-16 11:24:08 +05:30
Gitea
23b5a45d0b fixed blog images,
added custom add-on links,
added sitemap.xml
2025-05-14 00:56:04 +05:30
Gitea
124710df0a add dns verification in Register.php 2025-05-13 17:51:21 +05:30
Gitea
6a064bb76e fixed minor bug at Dashboard.php file 2025-05-13 17:45:00 +05:30
Gitea
887f6316f6 added outlook mail support 2025-05-13 17:37:05 +05:30
Gitea
3830d2e0f9 1. updated league/commonmark to 2.7.0(fixed CVE-2025-46734)
2. added feature to remove disposable email to be used during signup
2025-05-09 16:20:47 +05:30
Gitea
f8ce844625 added premium promotion, dropmail.php, dropattach.php, minor update of other files 2025-05-08 05:46:00 +05:30
Gitea
b24bf3d1f6 added stripe sync in dashboard to ensure proper sync even in absence of webhook 2025-05-08 03:21:39 +05:30
Gitea
346a2051bf added bulk gmail generator 2025-05-07 19:59:36 +05:30
Gitea
08f4618ea8 added public mailbox support 2025-05-07 16:33:09 +05:30
Gitea
6f24db4c8b added bulk email generator 2025-05-07 13:57:32 +05:30
Gitea
38fdb7181b minor fixes 2025-05-06 20:22:14 +05:30
Gitea
671cb6212d added not subscribed page, added premium inbox 2025-05-06 07:21:39 +05:30
Gitea
3b9967a749 add dashboard mailbox, added usage log, pending-switch email, mailbox history, email history 2025-05-04 19:39:53 +05:30
Gitea
6e2a750c4e added cashier subscription, subscription plans 2025-05-03 06:13:19 +05:30
Gitea
f2c5c2d601 Added User Dashboard 2025-05-02 17:20:55 +05:30
Gitea
a9e2702eb4 added blog list page 2025-04-28 06:52:48 +05:30
Gitea
e0d260187d Added auto fetch in client side, removed unwanted files 2025-04-28 05:03:26 +05:30
Gitea
08e1110abd Added blog, pages, menu, category 2025-04-28 01:09:25 +05:30
Gitea
94eb01b1ab Added almost all features except language, ads, seo, pages 2025-04-27 06:28:15 +05:30
Gitea
89f6410578 Added Fetch Email on page load 2025-04-26 00:22:03 +05:30
Gitea
9aa1b3ab8e Added Create Custom, Random, Gmail Generation 2025-04-25 17:43:35 +05:30