Add color-adjustable SVG string support

This commit is contained in:
awsr
2025-12-16 20:48:12 -08:00
parent 0706f46a91
commit 13a04c2312
+21
View File
@@ -40,3 +40,24 @@ sort_time_asc = '\uf0de'
sort_time_dsc = '\uf0dd'
style_apply = ''
style_save = ''
class SVGSymbol:
def __init__(self, svg: str):
self.svg = svg
self.before = ""
self.after = ""
self.supports_color = False
if "currentColor" in self.svg:
self.supports_color = True
self.before, self.after = self.svg.split("currentColor", maxsplit=1)
def color(self, color: str):
if self.supports_color:
return self.before + color + self.after
else:
return self.svg
def __str__(self):
return self.svg
svg_bullet = SVGSymbol("<svg style='stroke:currentColor;fill:none;stroke-width:2;' viewBox='0 0 16 16'><circle cx='8' cy='8' r='7'/></svg>")