Skip to content

Commit 0f0ee68

Browse files
qwerty541harryzcy
authored andcommitted
fix(wakatime card): add percent display format for compact layout (resolves anuraghazra#3503) (anuraghazra#3504)
1 parent d300515 commit 0f0ee68

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
@@ -53,16 +53,21 @@ const noCodingActivityNode = ({ color, text }) => {
5353
* @param {WakaTimeLang} args.lang The languages array.
5454
* @param {number} args.x The x position of the language node.
5555
* @param {number} args.y The y position of the language node.
56+
* @param {"time" | "percent"} args.display_format The display format of the language node.
5657
* @returns {string} The compact layout language SVG node.
5758
*/
58-
const createCompactLangNode = ({ lang, x, y }) => {
59+
const createCompactLangNode = ({ lang, x, y, display_format }) => {
5960
const color = languageColors[lang.name] || "#858585";
61+
const value =
62+
display_format === "percent"
63+
? `${lang.percent.toFixed(2).toString()} %`
64+
: lang.text;
6065

6166
return `
6267
<g transform="translate(${x}, ${y})">
6368
<circle cx="5" cy="6" r="5" fill="${color}" />
6469
<text data-testid="lang-name" x="15" y="10" class='lang-name'>
65-
${lang.name} - ${lang.text}
70+
${lang.name} - ${value}
6671
</text>
6772
</g>
6873
`;
@@ -74,21 +79,24 @@ const createCompactLangNode = ({ lang, x, y }) => {
7479
* @param {Object} args The function arguments.
7580
* @param {WakaTimeLang[]} args.langs The language objects.
7681
* @param {number} args.y The y position of the language node.
82+
* @param {"time" | "percent"} args.display_format The display format of the language node.
7783
* @returns {string[]} The language text node items.
7884
*/
79-
const createLanguageTextNode = ({ langs, y }) => {
85+
const createLanguageTextNode = ({ langs, y, display_format }) => {
8086
return langs.map((lang, index) => {
8187
if (index % 2 === 0) {
8288
return createCompactLangNode({
8389
lang,
8490
x: 25,
8591
y: 12.5 * index + y,
92+
display_format,
8693
});
8794
}
8895
return createCompactLangNode({
8996
lang,
9097
x: 230,
9198
y: 12.5 + 12.5 * index,
99+
display_format,
92100
});
93101
});
94102
};
@@ -320,6 +328,7 @@ const renderWakatimeCard = (stats = {}, options = { hide: [] }) => {
320328
? createLanguageTextNode({
321329
y: 25,
322330
langs: filteredLanguages,
331+
display_format,
323332
}).join("")
324333
: noCodingActivityNode({
325334
// @ts-ignore

0 commit comments

Comments
 (0)