diff --git a/frontend/projects/marketplace/package.json b/frontend/projects/marketplace/package.json index 165f1fa30..78960bd7b 100644 --- a/frontend/projects/marketplace/package.json +++ b/frontend/projects/marketplace/package.json @@ -1,6 +1,6 @@ { "name": "@start9labs/marketplace", - "version": "0.3.6", + "version": "0.3.7", "peerDependencies": { "@angular/common": ">=13.2.0", "@angular/core": ">=13.2.0", diff --git a/frontend/projects/marketplace/src/pages/list/categories/categories.component.html b/frontend/projects/marketplace/src/pages/list/categories/categories.component.html index f04d2dd83..4e99a21c2 100644 --- a/frontend/projects/marketplace/src/pages/list/categories/categories.component.html +++ b/frontend/projects/marketplace/src/pages/list/categories/categories.component.html @@ -2,7 +2,7 @@ *ngFor="let cat of categories" fill="clear" class="category" - [class.category_selected]="cat === category && !disableCategories" + [class.category_selected]="cat === category" (click)="switchCategory(cat)" > {{ cat }} diff --git a/frontend/projects/marketplace/src/pages/list/categories/categories.component.ts b/frontend/projects/marketplace/src/pages/list/categories/categories.component.ts index 67d5c0559..b34761079 100644 --- a/frontend/projects/marketplace/src/pages/list/categories/categories.component.ts +++ b/frontend/projects/marketplace/src/pages/list/categories/categories.component.ts @@ -22,9 +22,6 @@ export class CategoriesComponent { @Input() category = '' - @Input() - disableCategories = false - @Output() readonly categoryChange = new EventEmitter() diff --git a/frontend/projects/marketplace/src/pipes/filter-packages.pipe.ts b/frontend/projects/marketplace/src/pipes/filter-packages.pipe.ts index c5aea9f8c..5b0bb52b1 100644 --- a/frontend/projects/marketplace/src/pipes/filter-packages.pipe.ts +++ b/frontend/projects/marketplace/src/pipes/filter-packages.pipe.ts @@ -1,5 +1,4 @@ import { NgModule, Pipe, PipeTransform } from '@angular/core' -import { Emver } from '@start9labs/shared' import { MarketplacePkg } from '../types' import Fuse from 'fuse.js' @@ -7,8 +6,6 @@ import Fuse from 'fuse.js' name: 'filterPackages', }) export class FilterPackagesPipe implements PipeTransform { - constructor(private readonly emver: Emver) {} - transform( packages: MarketplacePkg[], query: string, @@ -19,29 +16,51 @@ export class FilterPackagesPipe implements PipeTransform { let options: Fuse.IFuseOptions = { includeScore: true, includeMatches: true, - ignoreLocation: true, - useExtendedSearch: true, - keys: [ - { - name: 'manifest.title', - weight: 1, - }, - { - name: 'manifest.id', - weight: 0.5, - }, - { - name: 'manifest.description.short', - weight: 0.4, - }, - { - name: 'manifest.description.long', - weight: 0.1, - }, - ], } - query = `'${query}` + if (query.length < 4) { + options = { + ...options, + threshold: 0.2, + location: 0, + distance: 16, + keys: [ + { + name: 'manifest.title', + weight: 1, + }, + { + name: 'manifest.id', + weight: 0.5, + }, + ], + } + } else { + options = { + ...options, + ignoreLocation: true, + useExtendedSearch: true, + keys: [ + { + name: 'manifest.title', + weight: 1, + }, + { + name: 'manifest.id', + weight: 0.5, + }, + { + name: 'manifest.description.short', + weight: 0.4, + }, + { + name: 'manifest.description.long', + weight: 0.1, + }, + ], + } + query = `'${query}` + } const fuse = new Fuse(packages, options) return fuse.search(query).map(p => p.item) diff --git a/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.ts b/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.ts index 9304e1130..b00266dfc 100644 --- a/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.ts +++ b/frontend/projects/ui/src/app/modals/marketplace-settings/marketplace-settings.page.ts @@ -29,14 +29,14 @@ export class MarketplaceSettingsPage { this.marketplaceService.getSelectedHost$(), ]).pipe( map(([stores, selected]) => { - const hmmm = stores.map(s => ({ + const toSlice = stores.map(s => ({ ...s, selected: s.url === selected.url, })) // 0 and 1 are prod and community - const standard = hmmm.slice(0, 2) + const standard = toSlice.slice(0, 1) // 2 and beyond are alts - const alt = hmmm.slice(2) + const alt = toSlice.slice(1) return { standard, alt } }), diff --git a/frontend/projects/ui/src/app/pages/marketplace-routes/marketplace-list/marketplace-list.page.html b/frontend/projects/ui/src/app/pages/marketplace-routes/marketplace-list/marketplace-list.page.html index d57325eb1..f1511926f 100644 --- a/frontend/projects/ui/src/app/pages/marketplace-routes/marketplace-list/marketplace-list.page.html +++ b/frontend/projects/ui/src/app/pages/marketplace-routes/marketplace-list/marketplace-list.page.html @@ -38,8 +38,7 @@ @@ -48,22 +47,30 @@ - - - - - - - + + + + + + + + + + + +
+

No results

+
+