forked from DebaucheryLibrarian/traxxx
				
			Added colors to ratings. TUI renderer accounts for style encodings in formatted values.
This commit is contained in:
		
							parent
							
								
									726fcd0a29
								
							
						
					
					
						commit
						ddbed3c142
					
				|  | @ -8,14 +8,14 @@ const formatters = { | |||
|     actors: actors => actors.join(', '), | ||||
|     rating: (rating) => { | ||||
|         if (rating.stars === null) { | ||||
|             return 'Unrated'; | ||||
|             return '\x1b[90mUnrated\x1b[0m'; | ||||
|         } | ||||
| 
 | ||||
|         if (rating.likes === null || rating.dislikes === null) { | ||||
|             return `★ ${rating.stars.toFixed(2)}`; | ||||
|             return `\x1b[93m★ ${rating.stars.toFixed(2)}\x1b[0m`; | ||||
|         } | ||||
| 
 | ||||
|         return `★ ${rating.stars.toFixed(2)} ▲ ${String(rating.likes).padEnd(3)} ▼ ${String(rating.dislikes).padEnd(3)}`; | ||||
|         return `\x1b[93m★\x1b[0m ${rating.stars.toFixed(2)} \x1b[92m▲\x1b[0m ${String(rating.likes).padEnd(3)} \x1b[31m▼\x1b[0m ${String(rating.dislikes).padEnd(3)}`; | ||||
|     }, | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -21,8 +21,11 @@ function render(scenes, screen) { | |||
|                 : scene[column.value]) | ||||
|                 .toString(); | ||||
| 
 | ||||
|             const truncatedValue = value.length > column.width - 2 ? `${value.slice(0, column.width - 2 - 3)}...` : value; | ||||
|             const paddedValue = truncatedValue.padEnd(column.width - 1).padStart(column.width); | ||||
|             const realLength = value.replace(/\x1b\[\d+m/g, '').length; | ||||
|             const entityLength = value.length - realLength; | ||||
| 
 | ||||
|             const truncatedValue = realLength > column.width - 2 ? `${value.slice(0, column.width - 2 - 3)}...` : value; | ||||
|             const paddedValue = truncatedValue.padEnd(column.width + entityLength - 1).padStart(column.width + entityLength); | ||||
|             const coloredValue = isFuture ? `\x1b[92m${paddedValue}\x1b[0m` : `\x1b[97m${paddedValue}\x1b[0m`; | ||||
| 
 | ||||
|             return `${acc}${coloredValue}\x1b[90m│\x1b[0m`; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue