mirror of
https://github.com/peritus/obsidian-interactive-ratings.git
synced 2026-07-22 05:43:17 +00:00
Correct percentage calculation for rating text
Fixed formatRatingText to use actual pattern length instead of parsed denominator for percentage calculations. This fixes ◼◼◼▭ showing 3% instead of 75%. The issue was that percentage parsing sets denominator=100, but calculations need actual symbol count (4), so (3/4)*100=75%.
This commit is contained in:
parent
f0b00e11e3
commit
f163bf7e60
1 changed files with 5 additions and 4 deletions
|
|
@ -206,11 +206,12 @@ export class RatingWidget extends WidgetType {
|
|||
if (this.ratingText && !isCommentFormat) {
|
||||
const textContainer = container.querySelector('.interactive-rating-text');
|
||||
if (textContainer) {
|
||||
const unicodeLength = getUnicodeCharLength(this.pattern);
|
||||
const previewText = formatRatingText(
|
||||
this.ratingText.format,
|
||||
newRating,
|
||||
this.ratingText.denominator, // Use original denominator
|
||||
this.ratingText.denominator,
|
||||
unicodeLength, // Always use actual pattern length for percentage calculations
|
||||
this.ratingText.denominator, // Use original denominator for fraction displays
|
||||
!!this.symbolSet.half && !isFullOnly,
|
||||
isFullOnly
|
||||
);
|
||||
|
|
@ -328,8 +329,8 @@ export class RatingWidget extends WidgetType {
|
|||
const newRatingText = formatRatingText(
|
||||
newRatingFormat,
|
||||
newRating,
|
||||
denominator,
|
||||
denominator,
|
||||
unicodeLength, // Always use actual pattern length for percentage calculations
|
||||
denominator, // Use original denominator for fraction displays
|
||||
!!this.symbolSet.half && !isFullOnly,
|
||||
isFullOnly
|
||||
);
|
||||
|
|
|
|||
Loading…
Reference in a new issue