Skip to content

Conversation

onesounds
Copy link
Contributor

@onesounds onesounds commented Oct 7, 2022

New Version

image
image

What's the PR

  • Add Grouping in pluginstore, and Order Like this.
    • New (Added in 7 days)
    • Recently Updated (Update code in 7 days)
      • If New/Recently Updated Both item, Display "New" Only.
    • Plugins (No label state)
    • Installed (Installed Item)
  • Add "Update" Circle Label
    • it showing only Installed Item
    • it showing when has different version in local.
  • Add 'Update' / 'Uninstall' Button in Plugin store

Test Cases

  • The search behavior should operate appropriately.
  • Regardless of language settings, it should be arranged in the following order.
    • New / Recently Updated / Plugins / installed
  • Matching Color in Dark Mode
  • Translatable Text
  • Show Green Circle Label Tooltip
  • The uninstall and update buttons shall be properly displayed.

### Old Version ### **What's the PR** - New / Installed / Updated Label in Plugin Store. - Based Plugin Search PR. so this pr should merge when done plugin Search PR. - It was implemented in the form of adding a value to the list using the for syntax. (LabelNew=true...)

Label Type

  • New : Registered plugin store in 7 days.
  • Updated : Updated in 5 days. if it new, only showing New. (new and updated doesn't show both.)
  • Installed. Installed can show both with Updated.

image
image

Test Cases

  • Order by 'new' first. 'updated' 2nd. installed going to bottom.
  • Matching Color in Dark Mode
  • Translatable Text
  • Show Label Tooltip
  • If it installed item, Hide Install Button <- Someone would certainly raise the issue of a bug.
  • Perfomance
  • There are no case showing triple labels. max label count is two.

Remain Tasks

  • If Item installed & updated. Show 'Update' / 'Uninstall' Button.
  • Fix AddedDate in manifest
  • Remove Temp Code (manifest url, new label comment)

@onesounds onesounds self-assigned this Oct 7, 2022
@onesounds onesounds added the enhancement New feature or request label Oct 7, 2022
@onesounds onesounds added this to the 1.10.0 milestone Oct 7, 2022
@onesounds onesounds changed the title New / Installed / Updated Label in Plugin Store New / Installed / Updated Labels in Plugin Store Oct 7, 2022
@jjw24
Copy link
Member

jjw24 commented Oct 7, 2022

If it installed item, Hide Install Button <- Someone would certainly raise the issue of a bug.

if installed and no update, should we not just hide it from store?

@onesounds
Copy link
Contributor Author

onesounds commented Oct 7, 2022

If it installed item, Hide Install Button <- Someone would certainly raise the issue of a bug.

if installed and no update, should we not just hide it from store?

It is an issue that has been considered. I concluded that it was better not to hide. my reasons...

  1. In a typical app store, it is not hidden as an installed app.
  2. If we hide it, user can think, 'Why isn't the app I use in the store?'
  3. I put 'installed' items at the bottom of the list in now.

The proposals were "hide it" or" label it," but I think this is a proper compromise since I order it down and labeled it. It is a matter of policy determination. If there are other opinions, I can be reflected. I think it's okay to hide it. It doesn't matter to me.

Comment on lines 20 to 23
/* Label Data for Plugin Store */
public bool LabelNew { get; set; }
public bool LabelInstalled { get; set; }
public bool LabelUpdated { get; set; }
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's move this to a viewmodel for plugin store.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How to? I'm not good at organizing things like this.


namespace Flow.Launcher.Converters
{
public class BoolToVisibilityConverter : IValueConverter
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remember these's a buildin boolconverter (used by @Sparrkle before). So let's use that.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I remember I saw it. but where is it?

@jjw24
Copy link
Member

jjw24 commented Oct 9, 2022

If it installed item, Hide Install Button <- Someone would certainly raise the issue of a bug.

if installed and no update, should we not just hide it from store?

It is an issue that has been considered. I concluded that it was better not to hide. my reasons...

  1. In a typical app store, it is not hidden as an installed app.
  2. If we hide it, user can think, 'Why isn't the app I use in the store?'
  3. I put 'installed' items at the bottom of the list in now.

The proposals were "hide it" or" label it," but I think this is a proper compromise since I order it down and labeled it. It is a matter of policy determination. If there are other opinions, I can be reflected. I think it's okay to hide it. It doesn't matter to me.

Ok makes sense 👍

@onesounds
Copy link
Contributor Author

I noticed I was wrong plugin store label plan.
for example, update button should based on version diff.
There will be a change of plans... TT

- Changed 'New' logic.
- Fix order
- Adjust Strings
@onesounds
Copy link
Contributor Author

  • New Version : the item changed in 7 days.

  • Update : version diff && installed.

  • Installed : Same.

  • New Version and Update doesn't show both. Show 'Update' only in this case.

  • So, old "New" label is gone. we don't need 'DateAdded' item in manifest. Sorry, @Garulf (Actually, This item is data that does not need to remain on the list consistently because it is useful for a short period of time.)

@Garulf
Copy link
Member

Garulf commented Oct 12, 2022

At this point I'd like to keep the DateAdded field.

@jjw24
Copy link
Member

jjw24 commented Oct 25, 2022

Fix AddedDate in manifest

This task is no longer required?

@jjw24 jjw24 added the review in progress Indicates that a review is in progress for this PR label Oct 25, 2022
@jjw24 jjw24 marked this pull request as ready for review October 25, 2022 02:20
@onesounds
Copy link
Contributor Author

Fix AddedDate in manifest

This task is no longer required?

It required.

@onesounds
Copy link
Contributor Author

I rewrite description and testcase things. check the top of this page please.

@onesounds onesounds changed the title New / Installed / Updated Labels in Plugin Store Grouping in Plugin Store Oct 25, 2022
<system:String x:Key="updatebtn">Update</system:String>
<system:String x:Key="LabelInstalledToolTip">Plug-in already installed</system:String>
<system:String x:Key="LabelNew">New Version</system:String>
<system:String x:Key="LabelNewToolTip">This plug-in has been updated within the last 7 days</system:String>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe use "plugin" instead of "plug-in". We use "plugin" in all other texts.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK.

@jjw24 jjw24 enabled auto-merge October 28, 2022 10:54
@jjw24
Copy link
Member

jjw24 commented Oct 28, 2022

Just added 3 commits:

  1. Changed hardcoded strings to constants, this helps avoid typos and easier update in the future if needed.
  2. Moved plugin install/update/uninstall calls from the View class to the ViewModel class, makes the code simpler and separates View logic from ViewModel logic.
  3. Since we changed plugin_install key to installbtn and likewise for plugin_uninstall to uninstallbtn, updated all other language keys, otherwise they will be obsolete.

@jjw24 jjw24 merged commit 73335dd into Flow-Launcher:dev Oct 28, 2022
@jjw24 jjw24 removed the review in progress Indicates that a review is in progress for this PR label Oct 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

Plugin Store's plugins should have label to indicate installed/not-installed

5 participants