Commit Graph

64 Commits

Author SHA1 Message Date
Andrew Brown
fe9bcf5cc4 Complete MaterializeCSS to TailwindCSS migration cleanup
This commit finalizes the transition from MaterializeCSS to TailwindCSS by:

**Layout & Controller Changes:**
- Consolidated layouts/tailwind.html.erb into layouts/application.html.erb
- Removed `layout 'tailwind'` declarations from 21 controllers
- Removed MaterializeCSS CDN link while preserving Material Icons

**Asset Cleanup:**
- Deleted materialize.min.js (76KB) and materialize-overrides.scss
- Removed tailwind.html.erb (no longer needed)
- Cleaned up MaterializeCSS-specific JavaScript files

**JavaScript Modernization:**
- Removed MaterializeCSS initialization and select components
- Updated autosave.js and timeline-editor.js to remove M.toast() calls
- Deprecated unused React component with MaterializeCSS dependencies

**Result:**
- Unified TailwindCSS layout system across entire application
- Complete removal of MaterializeCSS dependencies
- Preserved all functionality through Alpine.js implementations
- Clean codebase ready for production

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 19:39:15 -07:00
Andrew Brown
755bcab0af billing pages 2025-07-17 12:42:05 -07:00
Andrew Brown
d69f8f80c7 more stripe safety 2025-07-11 00:37:50 -07:00
Andrew Brown
cd8c948fcd stripe safety 2025-07-11 00:27:16 -07:00
Andrew Brown
ac96a001a8 Fix Stripe subscription errors by migrating deprecated sources API to payment_methods API
- Migrate from deprecated sources API to modern payment_methods API in SubscriptionsController
- Update subscription plan modifications to use Subscription.modify instead of direct assignment
- Fix payment method creation/deletion to use PaymentMethod.create/detach instead of sources
- Update view templates to use new payment_methods data structure
- Migrate price.id usage from deprecated plan.id in data integrity tasks
- Add comprehensive test suite with proper Stripe API stubs
- Add missing test gems: rspec-rails, webmock, factory_bot_rails, shoulda-matchers

This resolves Error 500 when users try to upgrade to Premium subscriptions.
The original error was: NoMethodError - undefined method 'total_count' for nil:NilClass
caused by stripe_customer.sources.total_count when sources API returned nil.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-10 23:40:36 -07:00
Andrew Brown
c5a69b2c76 manually increase upload bandwidth for users activating paypal codes 2023-11-12 04:18:03 -08:00
drusepth
5c3c76a002 add billing faq 2022-10-24 16:56:22 -07:00
drusepth
5bd1f9c6b6 add notification open rate admin page + reference codes on system notifications 2021-12-15 14:53:03 -08:00
Andrew Brown
6021e60a60 remove mixpanel 2021-07-18 00:50:12 -07:00
Andrew Brown
fce2a29303 move referrals logic from sub to data controller 2020-08-28 13:13:51 -07:00
Andrew Brown
e8e81de8a9 clean up billing page 2020-08-28 13:05:38 -07:00
Andrew Brown
93344c49f3 notification for activating a premium code 2020-04-20 21:38:27 -05:00
Andrew Brown
84afb58af0 subscription page improvements wrt codes 2020-03-24 16:43:59 -05:00
Andrew Brown
f2663fddb1 polish 2020-01-18 14:23:28 -06:00
Andrew Brown
2deb04aa4c polish 2020-01-17 21:34:34 -06:00
Andrew Brown
3ca72c742c staging changes 2020-01-17 17:37:09 -06:00
Andrew Brown
d7c05b1731 polishing 2020-01-16 20:57:56 -06:00
Andrew Brown
4082bbae2b Oh hey look it's paypal 2020-01-16 16:54:51 -06:00
Andrew Brown
786c8f5cfc add referrals page 2020-01-09 14:37:39 -06:00
Andrew Brown
7296651126 add separate billing history page 2020-01-09 13:43:26 -06:00
Andrew Brown
bdc70e73f8 Migrate Stripe v4 to v5, fixes issue reported in #531 2019-12-13 15:51:47 -06:00
Andrew Brown
d9fb52f856 fix 500 2019-07-23 21:34:29 -05:00
Andrew Brown
c4308231d0 cleaning up 2019-07-07 21:40:44 -05:00
Andrew Brown
6c68975bd9 all the ui stuff for everything to work 2019-07-07 16:40:39 -05:00
Andrew Brown
54d773988c only move users to a new plan when one is provided 2018-10-18 12:49:22 -05:00
Andrew Brown
dea9301faf use redirect_back for subscription changes 2018-09-08 23:19:09 -05:00
Andrew Brown
2934c4493c fix redirects 2018-03-03 17:03:49 -06:00
Andrew Brown
ee06aa29d2 subscriptions refactor 2018-03-03 16:49:08 -06:00
Andrew Brown
faa3e0b1b4 Authenticate users in subscription controller 2018-03-03 14:08:58 -06:00
Andrew Brown
af1bcf05ea initialize stripe sub for returning subs 2018-02-22 14:58:54 -06:00
Andrew Brown
f3a4af04e2 divide by cents 2017-11-11 18:08:29 +01:00
Andrew Brown
d1705323d2 pass tests by checking env until I can figure out how to mock Stripe::StripeObject#save 2017-11-10 16:40:38 +02:00
Andrew Brown
9c6b3711cc fix bug in downgrading to starter being out of sync sometimes 2017-11-10 16:38:49 +02:00
Andrew Brown
9560c5b1e3 report correct sub counts to slack 2017-11-10 16:15:05 +02:00
Andrew Brown
f09bf94e39 Merge branch 'master' into collaboration
Conflicts:
	app/controllers/content_controller.rb
2017-09-30 15:09:11 +02:00
Andrew Brown
7d9539388f Only use mixpanel in production 2017-09-30 14:08:49 +02:00
Andrew Brown
e1e5c9bdfa cleanup 2017-08-17 00:49:07 +02:00
Andrew Brown
6bab8f6cb3 Default billing plans should have 0 cents per month 2017-05-23 17:26:08 +00:00
Andrew Brown
310dd17ed0 If a user subscribes without a referrer, treat them as referring themselves 2017-05-03 17:51:25 +01:00
Andrew Brown
e731074e1c syntax error 2017-04-27 21:31:29 +01:00
Andrew Brown
c6d93ee94f Don't give extra kb for switching between premiums 2017-04-27 21:17:17 +01:00
Andrew Brown
b1eb2a8155 Add community drive infos to billing page 2017-04-17 21:47:25 +01:00
Andrew Brown
4aef7b9d83 Add raffle entries to users #datamigration 2017-04-17 20:08:58 +01:00
Andrew Brown
6ebb512085 Fix subscription reporting 2017-04-11 18:05:57 +01:00
Andrew Brown
5a14e17957 Verbiage tweaks on new plans 2017-04-11 17:01:25 +01:00
Andrew Brown
7e83fb1e1d Verbiage change 2017-03-24 22:01:02 +00:00
Andrew Brown
2f7e199fff Track total sub amount on premium changes 2017-03-24 21:37:18 +00:00
Andrew Brown
050baf7205 Fix: Subscriptions don't autorenew on expiration, so we create longer ones. Duration doesn't matter since we truncate all active ones on plan change. 2017-03-14 20:50:39 +00:00
Andrew Brown
963769e3c9 Add mixpanel action tracking for all server actions 2017-02-21 17:12:43 +00:00
Andrew Brown
3da3e694a6 Show bandwidth on billing page, up kb to 1GB for premium users 2017-02-18 02:55:59 +00:00