@@ -61,14 +61,14 @@ const createTextNode = ({
61
61
const cardProgress = hideProgress
62
62
? null
63
63
: createProgressNode ( {
64
- x : 110 ,
65
- y : 4 ,
66
- progress : percent ,
67
- color : progressBarColor ,
68
- width : 220 ,
69
- name : label ,
70
- progressBarBackgroundColor,
71
- } ) ;
64
+ x : 110 ,
65
+ y : 4 ,
66
+ progress : percent ,
67
+ color : progressBarColor ,
68
+ width : 220 ,
69
+ name : label ,
70
+ progressBarBackgroundColor,
71
+ } ) ;
72
72
73
73
return `
74
74
<g class="stagger" style="animation-delay: ${ staggerDelay } ms" transform="translate(25, 0)">
@@ -129,26 +129,15 @@ const renderWakatimeCard = (stats = {}, options = { hide: [] }) => {
129
129
theme,
130
130
} ) ;
131
131
132
- const statItems = languages
132
+ const filteredLanguages = languages
133
133
? languages
134
- . filter ( ( language ) => language . hours || language . minutes )
135
- . slice ( 0 , langsCount )
136
- . map ( ( language ) => {
137
- return createTextNode ( {
138
- id : language . name ,
139
- label : language . name ,
140
- value : language . text ,
141
- percent : language . percent ,
142
- progressBarColor : titleColor ,
143
- progressBarBackgroundColor : textColor ,
144
- hideProgress : hide_progress ,
145
- } ) ;
146
- } )
134
+ . filter ( ( language ) => language . hours || language . minutes )
135
+ . slice ( 0 , langsCount )
147
136
: [ ] ;
148
137
149
138
// Calculate the card height depending on how many items there are
150
139
// but if rank circle is visible clamp the minimum height to `150`
151
- let height = Math . max ( 45 + ( statItems . length + 1 ) * lheight , 150 ) ;
140
+ let height = Math . max ( 45 + ( filteredLanguages . length + 1 ) * lheight , 150 ) ;
152
141
153
142
const cssStyles = getStyles ( {
154
143
titleColor,
@@ -163,17 +152,17 @@ const renderWakatimeCard = (stats = {}, options = { hide: [] }) => {
163
152
// RENDER COMPACT LAYOUT
164
153
if ( layout === "compact" ) {
165
154
width = width + 50 ;
166
- height = 90 + Math . round ( languages . length / 2 ) * 25 ;
155
+ height = 90 + Math . round ( filteredLanguages . length / 2 ) * 25 ;
167
156
168
157
// progressOffset holds the previous language's width and used to offset the next language
169
158
// so that we can stack them one after another, like this: [--][----][---]
170
159
let progressOffset = 0 ;
171
- const compactProgressBar = languages
172
- . map ( ( lang ) => {
160
+ const compactProgressBar = filteredLanguages
161
+ . map ( ( language ) => {
173
162
// const progress = (width * lang.percent) / 100;
174
- const progress = ( ( width - 25 ) * lang . percent ) / 100 ;
163
+ const progress = ( ( width - 25 ) * language . percent ) / 100 ;
175
164
176
- const languageColor = languageColors [ lang . name ] || "#858585" ;
165
+ const languageColor = languageColors [ language . name ] || "#858585" ;
177
166
178
167
const output = `
179
168
<rect
@@ -197,22 +186,33 @@ const renderWakatimeCard = (stats = {}, options = { hide: [] }) => {
197
186
</mask>
198
187
${ compactProgressBar }
199
188
${ createLanguageTextNode ( {
200
- x : 0 ,
201
- y : 25 ,
202
- langs : languages ,
203
- totalSize : 100 ,
204
- } ) . join ( "" ) }
189
+ x : 0 ,
190
+ y : 25 ,
191
+ langs : filteredLanguages ,
192
+ totalSize : 100 ,
193
+ } ) . join ( "" ) }
205
194
` ;
206
195
} else {
207
196
finalLayout = flexLayout ( {
208
- items : statItems . length
209
- ? statItems
197
+ items : filteredLanguages . length
198
+ ? filteredLanguages
199
+ . map ( ( language ) => {
200
+ return createTextNode ( {
201
+ id : language . name ,
202
+ label : language . name ,
203
+ value : language . text ,
204
+ percent : language . percent ,
205
+ progressBarColor : titleColor ,
206
+ progressBarBackgroundColor : textColor ,
207
+ hideProgress : hide_progress ,
208
+ } ) ;
209
+ } )
210
210
: [
211
- noCodingActivityNode ( {
212
- color : textColor ,
213
- text : i18n . t ( "wakatimecard.nocodingactivity" ) ,
214
- } ) ,
215
- ] ,
211
+ noCodingActivityNode ( {
212
+ color : textColor ,
213
+ text : i18n . t ( "wakatimecard.nocodingactivity" ) ,
214
+ } ) ,
215
+ ] ,
216
216
gap : lheight ,
217
217
direction : "column" ,
218
218
} ) . join ( "" ) ;
0 commit comments