GithubHelp home page GithubHelp logo

Comments (11)

RhysLees avatar RhysLees commented on September 7, 2024

Just about to ask this

from novapackages.

edanisko avatar edanisko commented on September 7, 2024

up

from novapackages.

marcusmoore avatar marcusmoore commented on September 7, 2024

Good suggestion @timbertens. I'll explore this tomorrow πŸ˜„

from novapackages.

marcusmoore avatar marcusmoore commented on September 7, 2024

Did a little exploring today and yeah! We can support both Nova version support information on the sidebar of packages and adding a filter to the home page to easily find v4 supported packages.

I think we can use the "Getting package data" endpoint that Packagist provides to determine if a package supports v4 by checking the releases’ require field for laravel/nova with a "4" entry (ie: "^4.0").

One gotcha is that not all packages explicitly have a laravel/nova entry in require.

I'll start work on this late next week unless someone else wants to take a swing at it πŸ˜„

from novapackages.

RhysLees avatar RhysLees commented on September 7, 2024

Did a little exploring today and yeah! We can support both Nova version support information on the sidebar of packages and adding a filter to the home page to easily find v4 supported packages.

I think we can use the "Getting package data" endpoint that Packagist provides to determine if a package supports v4 by checking the releases’ require field for laravel/nova with a "4" entry (ie: "^4.0").

One gotcha is that not all packages explicitly have a laravel/nova entry in require.

I'll start work on this late next week unless someone else wants to take a swing at it πŸ˜„

I'm just having a crack at it now worth continuing?

image
image

from novapackages.

marcusmoore avatar marcusmoore commented on September 7, 2024

Thanks @RhysLees! Totally ok with you diving into this πŸ˜„

Some questions, thoughts, and comments:

I think something we should consider is that different versions of the package can supported different versions of Nova. For example, maatwebsite/laravel-nova-excel 1.3.0 supports v4 but 1.2.10 have laravel/nova listed as *. Should we tell users that v4 is supported in 1.3.0 and up in some way or just tell them it has v4 compatibility available and let composer handle it for them when they install? I think the latter is better?

I like your screenshot of the individual package page πŸ‘πŸΎ
individual package page

For the home page, I'm not sure displaying the nova version on each card is a good use of space. I was thinking we could do something like this where clicking the link filters the packages by tag=v4 or something similar:
home page

Let me know what you think and thanks again πŸ˜„

from novapackages.

RhysLees avatar RhysLees commented on September 7, 2024

@marcusmoore I agree, I think it would be best to let the composer handle the version rather than specifying the version that supports it

In regards to the home page, I'm planning on adding the filters for nova 4 but I do believe maybe we should have the tag if it has the latest version support. Maybe we add into config or env what the current major version is i.e 3,4,5 then show an icon or banner on the card if a version of the package supports the latest version on nova? maybe that could be a good compromise?

Another thing I ran into with the seeded data at least, is some of the packages only require nova in require-dev and I'm not sure of the best way to handle this. Also if it is in neither require or require-dev.

If not in require but is in require-dev

  • Merge require and require-dev
    or
  • Return null

If not in require or require-dev

  • Assume nova 4 support
    or
  • Return null

In regards to

maatwebsite/laravel-nova-excel 1.3.0 supports v4 but 1.2.10 have laravel/nova listed as *. Should we tell users that v4 is supported in 1.3.0

if the * is used then it means it can support any version so do we assume it has Nova 4 support or instead returns null as we dont know for certain, especially if a new nova version has just been released?

from novapackages.

marcusmoore avatar marcusmoore commented on September 7, 2024

@RhysLees

I agree, I think it would be best to let the composer handle the version rather than specifying the version that supports it

πŸ‘πŸΎ

In regards to the home page, I'm planning on adding the filters for nova 4 but I do believe maybe we should have the tag if it has the latest version support.

This is a good point. Having a visual indicator on the card would be helpful when a user is using the search box and visually scanning the results.

Maybe we add into config or env what the current major version is i.e 3,4,5 then show an icon or banner on the card if a version of the package supports the latest version on nova? maybe that could be a good compromise?

A config entry in a new configuration file (something like custom) reading from an environmental variable sounds good to me.

I like the idea of an non-intrusive icon and/or piece of text that, ideally, doesn't raise the height of the bottom of the card where the author is:

card

I'm not sure what a good option is that conveys "Works with Nova 4" but doesn't include all of the words. Let me know what you're thinking.

if the * is used then it means it can support any version so do we assume it has Nova 4 support or instead returns null as we dont know for certain, especially if a new nova version has just been released?

I think your question here points us in the right direction for the paragraph above it. I don't think we should assume the package works with Nova 4 unless it explicitly declares it. I think that would be better for users as well because displaying packages as having Nova 4 support without the package declaring that could cause people to install a package and then get frustrated when they find out it doesn't actually work with Nova.

Thanks for all of your thoughtfulness πŸ˜„

from novapackages.

RhysLees avatar RhysLees commented on September 7, 2024

Thanks for shedding some light on the issues I had.

Card shows the latest version support

Just messing around with the styling and what I have as seen in the image below doesn't change the size of the box footer all have 57px height.

image

Another option would be this "corner tag"

image

With a shorter name

image

With an even shorter name

image

from novapackages.

marcusmoore avatar marcusmoore commented on September 7, 2024

the image below doesn't change the size of the box footer all have 57px height

πŸ˜… my eyes were playing tricks on me.

πŸ‘πŸΎ I like the corner tag with Nova 4 Support.

I see you've opened a PR so we can continue the conversation there πŸ˜„

from novapackages.

RhysLees avatar RhysLees commented on September 7, 2024

the image below doesn't change the size of the box footer all have 57px height

πŸ˜… my eyes were playing tricks on me.

πŸ‘πŸΎ I like the corner tag with Nova 4 Support.

I see you've opened a PR so we can continue the conversation there πŸ˜„

Sure thing πŸ‘Œ

from novapackages.

Related Issues (20)

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.