Skip to content

Commit

Permalink
refactor(wakatime card): move duplicate value format logic into separ…
Browse files Browse the repository at this point in the history
…ate function (#3512)
  • Loading branch information
qwerty541 committed Dec 26, 2023
1 parent c1e8037 commit 59367dc
Showing 1 changed file with 16 additions and 8 deletions.
24 changes: 16 additions & 8 deletions src/cards/wakatime-card.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,20 @@ const noCodingActivityNode = ({ color, text }) => {
* @typedef {import('../fetchers/types').WakaTimeLang} WakaTimeLang
*/

/**
* Format language value.
*
* @param {Object} args The function arguments.
* @param {WakaTimeLang} args.lang The language object.
* @param {"time" | "percent"} args.display_format The display format of the language node.
* @returns {string} The formatted language value.
*/
const formatLanguageValue = ({ display_format, lang }) => {
return display_format === "percent"
? `${lang.percent.toFixed(2).toString()} %`
: lang.text;
};

/**
* Create compact WakaTime layout.
*
Expand All @@ -51,10 +65,7 @@ const noCodingActivityNode = ({ color, text }) => {
*/
const createCompactLangNode = ({ lang, x, y, display_format }) => {
const color = languageColors[lang.name] || "#858585";
const value =
display_format === "percent"
? `${lang.percent.toFixed(2).toString()} %`
: lang.text;
const value = formatLanguageValue({ display_format, lang });

return `
<g transform="translate(${x}, ${y})">
Expand Down Expand Up @@ -341,10 +352,7 @@ const renderWakatimeCard = (stats = {}, options = { hide: [] }) => {
return createTextNode({
id: language.name,
label: language.name,
value:
display_format === "percent"
? `${language.percent.toFixed(2).toString()} %`
: language.text,
value: formatLanguageValue({ display_format, lang: language }),
index,
percent: language.percent,
// @ts-ignore
Expand Down

0 comments on commit 59367dc

Please sign in to comment.