From ba741f87f24d55f414a3db6e9cf0899447cf6653 Mon Sep 17 00:00:00 2001 From: bwees Date: Wed, 11 Feb 2026 12:08:14 -0600 Subject: [PATCH] fix: code review changes and ci errors --- i18n/en.json | 2 + mobile/lib/constants/filters.dart | 2 - server/src/repositories/media.repository.ts | 4 +- server/src/utils/color_filter.ts | 2 +- .../asset-viewer/editor/editor-panel.svelte | 4 +- .../managers/edit/filter-manager.svelte.ts | 1 + web/src/lib/utils/filters.ts | 117 +++++++++--------- 7 files changed, 68 insertions(+), 64 deletions(-) diff --git a/i18n/en.json b/i18n/en.json index 209065eed7..745f73ae57 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -1008,6 +1008,8 @@ "editor_flip_horizontal": "Flip horizontal", "editor_flip_vertical": "Flip vertical", "editor_orientation": "Orientation", + "editor_panel_filter": "Filter", + "editor_panel_transform": "Transform", "editor_reset_all_changes": "Reset changes", "editor_rotate_left": "Rotate 90° counterclockwise", "editor_rotate_right": "Rotate 90° clockwise", diff --git a/mobile/lib/constants/filters.dart b/mobile/lib/constants/filters.dart index c14489fde4..a02ed626e6 100644 --- a/mobile/lib/constants/filters.dart +++ b/mobile/lib/constants/filters.dart @@ -68,8 +68,6 @@ class EditFilter { } factory EditFilter.fromDtoParams(Map params, String name) { - print(params); - return EditFilter( name: name, rrBias: (params['rrBias'] as num).toDouble(), diff --git a/server/src/repositories/media.repository.ts b/server/src/repositories/media.repository.ts index 2a1a69b6c7..aab1c71a3e 100644 --- a/server/src/repositories/media.repository.ts +++ b/server/src/repositories/media.repository.ts @@ -19,7 +19,7 @@ import { TranscodeCommand, VideoInfo, } from 'src/types'; -import { convertColorFilterToMatricies } from 'src/utils/color_filter'; +import { convertColorFilterToMatrices } from 'src/utils/color_filter'; import { handlePromiseError } from 'src/utils/misc'; import { createAffineMatrix } from 'src/utils/transform'; @@ -170,7 +170,7 @@ export class MediaRepository { const filter = edits.find((edit) => edit.action === 'filter'); if (filter) { - const { biasMatrix, offsetMatrix } = convertColorFilterToMatricies(filter.parameters); + const { biasMatrix, offsetMatrix } = convertColorFilterToMatrices(filter.parameters); pipeline = pipeline.recomb(biasMatrix).linear([1, 1, 1], offsetMatrix); } diff --git a/server/src/utils/color_filter.ts b/server/src/utils/color_filter.ts index 9ed7a1bdd4..ccbeca47e8 100644 --- a/server/src/utils/color_filter.ts +++ b/server/src/utils/color_filter.ts @@ -1,7 +1,7 @@ import { Matrix3x3 } from 'sharp'; import { FilterParameters } from 'src/dtos/editing.dto'; -export function convertColorFilterToMatricies(filter: FilterParameters) { +export function convertColorFilterToMatrices(filter: FilterParameters) { const biasMatrix: Matrix3x3 = [ [filter.rrBias, filter.rgBias, filter.rbBias], [filter.grBias, filter.ggBias, filter.gbBias], diff --git a/web/src/lib/components/asset-viewer/editor/editor-panel.svelte b/web/src/lib/components/asset-viewer/editor/editor-panel.svelte index b1a59016f9..373b39c58e 100644 --- a/web/src/lib/components/asset-viewer/editor/editor-panel.svelte +++ b/web/src/lib/components/asset-viewer/editor/editor-panel.svelte @@ -76,7 +76,7 @@ size="small" fullWidth > - Transform + {$t('editor_panel_transform')} diff --git a/web/src/lib/managers/edit/filter-manager.svelte.ts b/web/src/lib/managers/edit/filter-manager.svelte.ts index ee42bd9826..5d87f69fd8 100644 --- a/web/src/lib/managers/edit/filter-manager.svelte.ts +++ b/web/src/lib/managers/edit/filter-manager.svelte.ts @@ -4,6 +4,7 @@ import { AssetEditAction, type AssetEditActionFilter, type AssetResponseDto, typ class FilterManager implements EditToolManager { selectedFilter: EditFilter = $state(filters[0]); + canReset: boolean = $derived(!this.selectedFilter.isIdentity); hasChanges = $derived(!this.selectedFilter.isIdentity); edits = $derived( diff --git a/web/src/lib/utils/filters.ts b/web/src/lib/utils/filters.ts index 6609cdfa66..f95dc98cee 100644 --- a/web/src/lib/utils/filters.ts +++ b/web/src/lib/utils/filters.ts @@ -17,36 +17,50 @@ export class EditFilter { gOffset: number; bOffset: number; - static identity = new EditFilter('Normal', 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0); + static identity = new EditFilter({ + name: 'Normal', + rrBias: 1, + rgBias: 0, + rbBias: 0, + grBias: 0, + ggBias: 1, + gbBias: 0, + brBias: 0, + bgBias: 0, + bbBias: 1, + rOffset: 0, + gOffset: 0, + bOffset: 0, + }); - constructor( - name: string, - rrBias: number, - rgBias: number, - rbBias: number, - grBias: number, - ggBias: number, - gbBias: number, - brBias: number, - bgBias: number, - bbBias: number, - rOffset: number, - gOffset: number, - bOffset: number, - ) { - this.name = name; - this.rrBias = rrBias; - this.rgBias = rgBias; - this.rbBias = rbBias; - this.grBias = grBias; - this.ggBias = ggBias; - this.gbBias = gbBias; - this.brBias = brBias; - this.bgBias = bgBias; - this.bbBias = bbBias; - this.rOffset = rOffset; - this.gOffset = gOffset; - this.bOffset = bOffset; + constructor(filter: { + name: string; + rrBias: number; + rgBias: number; + rbBias: number; + grBias: number; + ggBias: number; + gbBias: number; + brBias: number; + bgBias: number; + bbBias: number; + rOffset: number; + gOffset: number; + bOffset: number; + }) { + this.name = filter.name; + this.rrBias = filter.rrBias; + this.rgBias = filter.rgBias; + this.rbBias = filter.rbBias; + this.grBias = filter.grBias; + this.ggBias = filter.ggBias; + this.gbBias = filter.gbBias; + this.brBias = filter.brBias; + this.bgBias = filter.bgBias; + this.bbBias = filter.bbBias; + this.rOffset = filter.rOffset; + this.gOffset = filter.gOffset; + this.bOffset = filter.bOffset; } get dtoParameters(): FilterParameters { @@ -76,39 +90,28 @@ export class EditFilter { } static fromDto(params: FilterParameters, name: string): EditFilter { - return new EditFilter( + return new EditFilter({ name, - params.rrBias, - params.rgBias, - params.rbBias, - params.grBias, - params.ggBias, - params.gbBias, - params.brBias, - params.bgBias, - params.bbBias, - params.rOffset, - params.gOffset, - params.bOffset, - ); + ...params, + }); } static fromMatrix(matrix: number[], name: string): EditFilter { - return new EditFilter( + return new EditFilter({ name, - matrix[0], - matrix[1], - matrix[2], - matrix[5], - matrix[6], - matrix[7], - matrix[10], - matrix[11], - matrix[12], - matrix[15], - matrix[16], - matrix[17], - ); + rrBias: matrix[0], + rgBias: matrix[1], + rbBias: matrix[2], + grBias: matrix[5], + ggBias: matrix[6], + gbBias: matrix[7], + brBias: matrix[10], + bgBias: matrix[11], + bbBias: matrix[12], + rOffset: matrix[15], + gOffset: matrix[16], + bOffset: matrix[17], + }); } get isIdentity(): boolean {