Feat/conversion CBX to EPUB compression configuration (#1844)

* feat(conversion): add image compression percentage setting for CBX to EPUB conversion

* feat(conversion): add conversion image compression setting to kobo sync settings frontend
This commit is contained in:
Harsh Vardhan
2025-12-14 09:53:19 +05:30
committed by GitHub
parent 708e851e0b
commit 9da13ae818
9 changed files with 45 additions and 20 deletions

View File

@@ -263,7 +263,26 @@
</p>
</div>
</div>
<div class="setting-item">
<div class="setting-info">
<div class="setting-label-row">
<label class="setting-label">Conversion image compression: {{ koboSettings.conversionImageCompressionPercentage }}%</label>
<div class="slider-container">
<p-slider
id="conversionLimit"
[(ngModel)]="koboSettings.conversionImageCompressionPercentage"
[min]="1"
[max]="100"
[step]="1"
(ngModelChange)="onSliderChange()">
</p-slider>
</div>
</div>
<p class="setting-description">
Comic book conversions can sometimes result in very large files. This setting allows you to compress the images during conversion to prevent size from shooting up.
</p>
</div>
</div>
<div class="setting-item">
<div class="setting-info">
<div class="setting-label-row">

View File

@@ -48,6 +48,7 @@ export class KoboSyncSettingsComponent implements OnInit, OnDestroy {
convertToKepub: false,
conversionLimitInMb: 100,
convertCbxToEpub: false,
conversionImageCompressionPercentage: 85,
conversionLimitInMbForCbx: 100,
forceEnableHyphenation: false
};
@@ -138,6 +139,7 @@ export class KoboSyncSettingsComponent implements OnInit, OnDestroy {
this.koboSettings.convertCbxToEpub = settings?.koboSettings?.convertCbxToEpub ?? false;
this.koboSettings.conversionLimitInMbForCbx = settings?.koboSettings?.conversionLimitInMbForCbx ?? 100;
this.koboSettings.forceEnableHyphenation = settings?.koboSettings?.forceEnableHyphenation ?? false;
this.koboSettings.conversionImageCompressionPercentage = settings?.koboSettings?.conversionImageCompressionPercentage ?? 85;
});
}

View File

@@ -102,6 +102,7 @@ export interface PublicReviewSettings {
export interface KoboSettings {
convertToKepub: boolean;
conversionLimitInMb: number;
conversionImageCompressionPercentage: number;
convertCbxToEpub: boolean;
conversionLimitInMbForCbx: number;
forceEnableHyphenation: boolean;