54 lines
1.6 KiB
Plaintext
54 lines
1.6 KiB
Plaintext
import Component from "@glimmer/component";
|
|
import { htmlSafe } from "@ember/template";
|
|
import { i18n } from "discourse-i18n";
|
|
|
|
export default class ReadingTime extends Component {
|
|
get readTimeString() {
|
|
let totalMinutes = Math.floor(this.args.report.data.reading_time / 60);
|
|
let leftOverMinutes = totalMinutes % 60;
|
|
let totalHours = (totalMinutes - leftOverMinutes) / 60;
|
|
|
|
if (leftOverMinutes >= 35) {
|
|
totalHours += 1;
|
|
leftOverMinutes = 0;
|
|
return `${totalHours}h`;
|
|
} else {
|
|
return `${totalHours}h ${leftOverMinutes}m`;
|
|
}
|
|
}
|
|
|
|
<template>
|
|
{{#if @report.data}}
|
|
<div class="rewind-report-page -reading-time">
|
|
<h2 class="rewind-report-title">{{i18n
|
|
"discourse_rewind.reports.reading_time.title"
|
|
}}</h2>
|
|
<div class="rewind-card">
|
|
<p class="reading-time__text">
|
|
{{htmlSafe
|
|
(i18n
|
|
"discourse_rewind.reports.reading_time.book_comparison"
|
|
readingTitme=this.readTimeString
|
|
[email protected]
|
|
)
|
|
}}
|
|
</p>
|
|
<div class="reading-time__book">
|
|
<div class="book">
|
|
<img
|
|
alt=""
|
|
src="/plugins/discourse-rewind/images/books/{{@report.data.isbn}}.jpg"
|
|
/>
|
|
</div>
|
|
{{#if @report.data.series}}
|
|
<div class="book-series one"></div>
|
|
<div class="book-series two"></div>
|
|
<div class="book-series three"></div>
|
|
{{/if}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{/if}}
|
|
</template>
|
|
}
|