Skip to content

Commit 62026ed

Browse files
authored
fix(wakatime card): add percent display format for compact layout (resolves anuraghazra#3503) (anuraghazra#3504)
1 parent 75546b0 commit 62026ed

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

src/cards/wakatime-card.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,16 +46,21 @@ const noCodingActivityNode = ({ color, text }) => {
4646
* @param {WakaTimeLang} args.lang The languages array.
4747
* @param {number} args.x The x position of the language node.
4848
* @param {number} args.y The y position of the language node.
49+
* @param {"time" | "percent"} args.display_format The display format of the language node.
4950
* @returns {string} The compact layout language SVG node.
5051
*/
51-
const createCompactLangNode = ({ lang, x, y }) => {
52+
const createCompactLangNode = ({ lang, x, y, display_format }) => {
5253
const color = languageColors[lang.name] || "#858585";
54+
const value =
55+
display_format === "percent"
56+
? `${lang.percent.toFixed(2).toString()} %`
57+
: lang.text;
5358

5459
return `
5560
<g transform="translate(${x}, ${y})">
5661
<circle cx="5" cy="6" r="5" fill="${color}" />
5762
<text data-testid="lang-name" x="15" y="10" class='lang-name'>
58-
${lang.name} - ${lang.text}
63+
${lang.name} - ${value}
5964
</text>
6065
</g>
6166
`;
@@ -67,21 +72,24 @@ const createCompactLangNode = ({ lang, x, y }) => {
6772
* @param {Object} args The function arguments.
6873
* @param {WakaTimeLang[]} args.langs The language objects.
6974
* @param {number} args.y The y position of the language node.
75+
* @param {"time" | "percent"} args.display_format The display format of the language node.
7076
* @returns {string[]} The language text node items.
7177
*/
72-
const createLanguageTextNode = ({ langs, y }) => {
78+
const createLanguageTextNode = ({ langs, y, display_format }) => {
7379
return langs.map((lang, index) => {
7480
if (index % 2 === 0) {
7581
return createCompactLangNode({
7682
lang,
7783
x: 25,
7884
y: 12.5 * index + y,
85+
display_format,
7986
});
8087
}
8188
return createCompactLangNode({
8289
lang,
8390
x: 230,
8491
y: 12.5 + 12.5 * index,
92+
display_format,
8593
});
8694
});
8795
};
@@ -313,6 +321,7 @@ const renderWakatimeCard = (stats = {}, options = { hide: [] }) => {
313321
? createLanguageTextNode({
314322
y: 25,
315323
langs: filteredLanguages,
324+
display_format,
316325
}).join("")
317326
: noCodingActivityNode({
318327
// @ts-ignore

0 commit comments

Comments
 (0)