Coder Social home page Coder Social logo

freemius / pricing-page Goto Github PK

View Code? Open in Web Editor NEW
9.0 7.0 7.0 883 KB

Freemius pricing page v2.0

Home Page: https://freemius.com

License: MIT License

JavaScript 82.88% SCSS 16.85% CSS 0.24% Shell 0.03%
freemius reactjs wordpress pricing-page

pricing-page's Issues

Able to check out with hidden prices

It looks like if plans have different prices, the default price is always 1 site, even if this price is hidden. Here's the pricing page:

image

When checking out, even if the 3 sites license is selected, it defaults to single site license on checkout:

image

I believe this is because:

  1. selectedLicenseQuantity state is only updated on change, and not on load.
  2. selectedLicenseQuantity is a single value and not scoped to plans specifically. I think each plan component should keep track of this value, rather than a global state value. Or if stored in global state, should be an array or object to keep track of which plan has which quantity selected.

This would allow for more flexibility.

Problems with blocks at mobile devices

Everything is quite OK at the desktops (all visible) and tablets (horizontal slider):

2020-09-02_23-23-42

But nothing works on mobile phones: Only one block is visible and "PRO" titles are not clickable:

2020-09-02_23-24-06

Option to select products / bundles to view in the pricing page

It would be great to integrate the option for defining products. In my case i have only one product without different plans and based on more source code security i will be using add-ons. Therefore it would be great to define up to four products for the pricing page. In my case these would be bundles with the main plugin and different add-ons.

Update the readme to include development workflow

Add information on developing the pricing page (rather than just testing it).

e.g. Show how to use symlinks to dynamically add the dist folder to the freemius folder on your local WP site. I think it's important we get as many Freemius partners as possible testing/contributing to the pricing page, so it makes sense to make this as easy as possible.

Too big size of production build

The result size of production build's file (freemius-pricing.js) is 2.5Mb.

Why it is so big? This is a size of the average website, but there is only 1 page with several pricing blocks and slider.

I think you should find out why the file is so heavy and try to reduce its' size.

(I am a React-developer, so I know that a lot of React-code can weigh a little in the production build)

Title and Logo aren't styled consistently

I know the project is in development, but I've been testing it out and I noticed the title and logo styling aren't consistent with the rest of the page:

freemius-pricing

I've already got a fix and will request permission to create a branch, then a pull request. Thanks!

Better handling for single plans (but offers multiple site tiers)

Here's my current pricing. I only have 1 product plan but available in different number of sites. My plans are annual only.

image

When I try out the new pricing page, I'm getting this:

image

A few things:

  1. Both tiers say "Professional", is there a way to change this?
  2. For annual plans, is there a way to display an annual price instead of the monthly price? (per year instead of per month)
  3. Maybe it's better to add some default colors to the heading and button
  4. Is there a way to note a "Most popular" plan?

For 1 and 2, the pricing can end up like this:

image

Filter `freemius_pricing_js_path` expects absolute path, not relative

๐Ÿž bug report

Behavior:

  • In the documentation, it says the filter freemius_pricing_js_path expects a relative path to the freemius-pricing.js.
  • But in reality, it expects the absolute path.

So given, I have the js file in assets/freemius-pricing/freemius-pricing.js the following code will not work:

// BAD CODE, WILL NOT WORK
my_fs()->add_filter(
	'freemius_pricing_js_path',
	function( $default_path ) {
		return '/assets/freemius-pricing/freemius-pricing.js';
	}
);

But this will

// GOOD CODE
my_fs()->add_filter(
	'freemius_pricing_js_path',
	function( $default_path ) {
		return \plugin_dir_path( __FILE__ )
			. 'assets/freemius-pricing/freemius-pricing.js';
	}
);

Versions: (*)

  • Freemius Pricing Page Version: develop
  • Freemius SDK Version: develop (2.4.2.2)
  • WordPress Version: 5.6
  • PHP Version: 7.4

Add a new build script for development

At the moment there's only a production build step which means every time the code is edited you have to manually npm run build.

To make the workflow more effiecient it would be better to also have a development script that watches files and builds a development version of the pricing page (i.e. code not minified etc. to keep compile time to a minimum).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.