* DEV: Fix SCSS deprecations
Followup to https://github.com/discourse/discourse-subscriptions/pull/171
Also fixes:
```
╷
581 │ hsl(random(360), 100, 50);
│ ^^^^^^^^^^^^^^^^^^^^^^^^^
╵
/Users/pmusaraj/Projects/discourse/discourse-subscriptions.scss 581:7 root stylesheet
Deprecation Warning: $lightness: Passing a number without unit % (50) is deprecated.
```
* More cleanup
Sample warning was:
```
Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0.
Recommendation: math.div($sidebar-height, 1.2) or calc($sidebar-height / 1.2)
More info and automated migrator: https://sass-lang.com/d/slash-div
```
- Adds the following fields to the subscription payment form:
- Cardholder Name
- Country
- Postal Code
- Address Line 1
- City
- State or Province
- Stripe recommends Cardholder Name & Country for verification; Cardholder Name, Country, and State/Province for US/Canada selections are required fields
- All fields are passed to Stripe for verification on submit
- Fields are also captured on the customer record in Stripe, under Billing Details
At the moment, paying for a product typically involves first clicking
the subscribe link added to the navigation bar, selecting a product and
then adding card details to to make the purchase.
This change skips the product selection step if the site has only one
product.
* add new route for card update
* create backend route
* update label
* basic functionality working
* ran rubocop
* added rspec tests for functionality
* make payment_method param compulsory
* fixed js linting
* improve client side error handling
* improve server side error handling
* improved update card page UI
* improve button UI for user subscriptions page
* give feedback to user about save status
* remove heading from last column
* fix padding on edit/delete buttons for update table
Co-authored-by: Blake Erickson <o.blakeerickson@gmail.com>
* FIX: set Discourse consistent styles on Stripe card element
* use correct placeholder color
* applied prettier
* mock update method for cardElement
* minor formatting
The import script has a prompt asking if this is a "procourse" import or
not, but the logic for handling the answer is backwards and will
incorrectly set the `procourse_import` flag to `true`.
This commit also fixes a minor typo.