On desktop, don't allow clicking on the genre/tag as issue browsing is not yet implemented

This commit is contained in:
Joseph Milazzo 2025-06-20 09:23:22 -05:00
parent 6763e97a87
commit ba14f47a96
6 changed files with 21 additions and 12 deletions

View file

@ -10,8 +10,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="BenchmarkDotNet" Version="0.14.0" /> <PackageReference Include="BenchmarkDotNet" Version="0.15.1" />
<PackageReference Include="BenchmarkDotNet.Annotations" Version="0.14.0" /> <PackageReference Include="BenchmarkDotNet.Annotations" Version="0.15.1" />
<PackageReference Include="NSubstitute" Version="5.3.0" /> <PackageReference Include="NSubstitute" Version="5.3.0" />
</ItemGroup> </ItemGroup>

View file

@ -5,6 +5,11 @@
box-shadow: 0 2px 5px rgba(0,0,0,0.2); box-shadow: 0 2px 5px rgba(0,0,0,0.2);
transition: transform 0.2s ease, background 0.3s ease; transition: transform 0.2s ease, background 0.3s ease;
cursor: pointer; cursor: pointer;
&.not-selectable:hover {
cursor: not-allowed;
background-color: var(--bs-card-color, #2c2c2c) !important;
}
} }
.tag-card:hover { .tag-card:hover {

View file

@ -19,7 +19,7 @@
> >
<ng-template #cardItem let-item let-position="idx"> <ng-template #cardItem let-item let-position="idx">
<div class="tag-card" (click)="openFilter(FilterField.Genres, item.id)"> <div class="tag-card" [ngClass]="{'not-selectable': item.seriesCount === 0}" (click)="openFilter(FilterField.Genres, item)">
<div class="tag-name">{{ item.title }}</div> <div class="tag-name">{{ item.title }}</div>
<div class="tag-meta"> <div class="tag-meta">
<span>{{t('series-count', {num: item.seriesCount | compactNumber})}}</span> <span>{{t('series-count', {num: item.seriesCount | compactNumber})}}</span>

View file

@ -1,6 +1,6 @@
import {ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, inject, OnInit} from '@angular/core'; import {ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, inject, OnInit} from '@angular/core';
import {CardDetailLayoutComponent} from "../../cards/card-detail-layout/card-detail-layout.component"; import {CardDetailLayoutComponent} from "../../cards/card-detail-layout/card-detail-layout.component";
import {DecimalPipe} from "@angular/common"; import {DecimalPipe, NgClass} from "@angular/common";
import { import {
SideNavCompanionBarComponent SideNavCompanionBarComponent
} from "../../sidenav/_components/side-nav-companion-bar/side-nav-companion-bar.component"; } from "../../sidenav/_components/side-nav-companion-bar/side-nav-companion-bar.component";
@ -24,7 +24,8 @@ import {Title} from "@angular/platform-browser";
DecimalPipe, DecimalPipe,
SideNavCompanionBarComponent, SideNavCompanionBarComponent,
TranslocoDirective, TranslocoDirective,
CompactNumberPipe CompactNumberPipe,
NgClass
], ],
templateUrl: './browse-genres.component.html', templateUrl: './browse-genres.component.html',
styleUrl: './browse-genres.component.scss', styleUrl: './browse-genres.component.scss',
@ -62,7 +63,8 @@ export class BrowseGenresComponent implements OnInit {
}); });
} }
openFilter(field: FilterField, value: string | number) { openFilter(field: FilterField, genre: BrowseGenre) {
this.filterUtilityService.applyFilter(['all-series'], field, FilterComparison.Equal, `${value}`).subscribe(); if (genre.seriesCount === 0) return; // We don't yet have an issue page
this.filterUtilityService.applyFilter(['all-series'], field, FilterComparison.Equal, `${genre.id}`).subscribe();
} }
} }

View file

@ -19,7 +19,7 @@
> >
<ng-template #cardItem let-item let-position="idx"> <ng-template #cardItem let-item let-position="idx">
<div class="tag-card" (click)="openFilter(FilterField.Tags, item.id)"> <div class="tag-card" [ngClass]="{'not-selectable': item.seriesCount === 0}" (click)="openFilter(FilterField.Tags, item)">
<div class="tag-name">{{ item.title }}</div> <div class="tag-name">{{ item.title }}</div>
<div class="tag-meta"> <div class="tag-meta">
<span>{{t('series-count', {num: item.seriesCount | compactNumber})}}</span> <span>{{t('series-count', {num: item.seriesCount | compactNumber})}}</span>

View file

@ -1,6 +1,6 @@
import {ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, inject, OnInit} from '@angular/core'; import {ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, inject, OnInit} from '@angular/core';
import {CardDetailLayoutComponent} from "../../cards/card-detail-layout/card-detail-layout.component"; import {CardDetailLayoutComponent} from "../../cards/card-detail-layout/card-detail-layout.component";
import {DecimalPipe} from "@angular/common"; import {DecimalPipe, NgClass} from "@angular/common";
import { import {
SideNavCompanionBarComponent SideNavCompanionBarComponent
} from "../../sidenav/_components/side-nav-companion-bar/side-nav-companion-bar.component"; } from "../../sidenav/_components/side-nav-companion-bar/side-nav-companion-bar.component";
@ -25,7 +25,8 @@ import {Title} from "@angular/platform-browser";
DecimalPipe, DecimalPipe,
SideNavCompanionBarComponent, SideNavCompanionBarComponent,
TranslocoDirective, TranslocoDirective,
CompactNumberPipe CompactNumberPipe,
NgClass
], ],
templateUrl: './browse-tags.component.html', templateUrl: './browse-tags.component.html',
styleUrl: './browse-tags.component.scss', styleUrl: './browse-tags.component.scss',
@ -61,7 +62,8 @@ export class BrowseTagsComponent implements OnInit {
}); });
} }
openFilter(field: FilterField, value: string | number) { openFilter(field: FilterField, tag: BrowseTag) {
this.filterUtilityService.applyFilter(['all-series'], field, FilterComparison.Equal, `${value}`).subscribe(); if (tag.seriesCount === 0) return; // We don't yet have an issue page
this.filterUtilityService.applyFilter(['all-series'], field, FilterComparison.Equal, `${tag.id}`).subscribe();
} }
} }