diff --git a/mayan/apps/appearance/classes.py b/mayan/apps/appearance/classes.py
index 53ee859a7f..04aec84c33 100644
--- a/mayan/apps/appearance/classes.py
+++ b/mayan/apps/appearance/classes.py
@@ -28,6 +28,34 @@ class FontAwesomeDriver(IconDriver):
)
+class FontAwesomeDualDriver(IconDriver):
+ name = 'fontawesome-dual'
+ template_name = 'appearance/icons/font_awesome_layers.html'
+
+ def __init__(self, primary_symbol, secondary_symbol):
+ self.primary_symbol = primary_symbol
+ self.secondary_symbol = secondary_symbol
+
+ def render(self):
+ return get_template(self.template_name).render(
+ context={
+ 'data': (
+ {
+ 'class': 'fas fa-circle',
+ 'transform': 'down-3 right-10',
+ 'mask': 'fas fa-{}'.format(self.primary_symbol)
+ },
+ {'class': 'far fa-circle', 'transform': 'down-3 right-10'},
+ {
+ 'class': 'fas fa-{}'.format(self.secondary_symbol),
+ 'transform': 'shrink-4 down-3 right-10'
+ },
+ )
+ }
+ )
+
+
+
class FontAwesomeCSSDriver(IconDriver):
name = 'fontawesomecss'
template_name = 'appearance/icons/font_awesome_css.html'
@@ -41,6 +69,32 @@ class FontAwesomeCSSDriver(IconDriver):
)
+class FontAwesomeMasksDriver(IconDriver):
+ name = 'fontawesome-masks'
+ template_name = 'appearance/icons/font_awesome_masks.html'
+
+ def __init__(self, data):
+ self.data = data
+
+ def render(self):
+ return get_template(self.template_name).render(
+ context={'data': self.data}
+ )
+
+
+class FontAwesomeLayersDriver(IconDriver):
+ name = 'fontawesome-layers'
+ template_name = 'appearance/icons/font_awesome_layers.html'
+
+ def __init__(self, data):
+ self.data = data
+
+ def render(self):
+ return get_template(self.template_name).render(
+ context={'data': self.data}
+ )
+
+
class Icon(object):
def __init__(self, driver_name, **kwargs):
self.driver = IconDriver.get(name=driver_name)(**kwargs)
@@ -49,5 +103,8 @@ class Icon(object):
return self.driver.render(**kwargs)
-IconDriver.register(driver_class=FontAwesomeDriver)
IconDriver.register(driver_class=FontAwesomeCSSDriver)
+IconDriver.register(driver_class=FontAwesomeDriver)
+IconDriver.register(driver_class=FontAwesomeDualDriver)
+IconDriver.register(driver_class=FontAwesomeLayersDriver)
+IconDriver.register(driver_class=FontAwesomeMasksDriver)
diff --git a/mayan/apps/appearance/templates/appearance/icons/font_awesome_layers.html b/mayan/apps/appearance/templates/appearance/icons/font_awesome_layers.html
new file mode 100644
index 0000000000..4356ad89e1
--- /dev/null
+++ b/mayan/apps/appearance/templates/appearance/icons/font_awesome_layers.html
@@ -0,0 +1,5 @@
+
+ {% for entry in data %}
+
+ {% endfor %}
+
diff --git a/mayan/apps/appearance/templates/appearance/icons/font_awesome_masks.html b/mayan/apps/appearance/templates/appearance/icons/font_awesome_masks.html
new file mode 100644
index 0000000000..ef345c4d21
--- /dev/null
+++ b/mayan/apps/appearance/templates/appearance/icons/font_awesome_masks.html
@@ -0,0 +1 @@
+