diff --git a/owrx/form/gfx.py b/owrx/form/gfx.py
index 7b31ecd..8970f2e 100644
--- a/owrx/form/gfx.py
+++ b/owrx/form/gfx.py
@@ -1,33 +1,45 @@
+from abc import ABCMeta, abstractmethod
from owrx.form import Input
-# TODO: generalize
# TODO: cachebuster
-class AvatarInput(Input):
+class ImageInput(Input, metaclass=ABCMeta):
def render_input(self, value):
return """
-
![Receiver avatar](static/gfx/openwebrx-avatar.png)
+
""".format(
- id=self.id
+ id=self.id,
+ label=self.label,
+ url=self.getUrl(),
+ classes=" ".join(self.getImgClasses())
)
+ @abstractmethod
+ def getUrl(self) -> str:
+ pass
-class TopPhotoInput(Input):
- def render_input(self, value):
- return """
-
-
-
-
![Receiver Panorama](static/gfx/openwebrx-top-photo.jpg)
-
-
-
- """.format(
- id=self.id
- )
+ @abstractmethod
+ def getImgClasses(self) -> list:
+ pass
+
+
+class AvatarInput(ImageInput):
+ def getUrl(self) -> str:
+ return "static/gfx/openwebrx-avatar.png"
+
+ def getImgClasses(self) -> list:
+ return ["webrx-rx-avatar"]
+
+
+class TopPhotoInput(ImageInput):
+ def getUrl(self) -> str:
+ return "static/gfx/openwebrx-top-photo.jpg"
+
+ def getImgClasses(self) -> list:
+ return ["webrx-top-photo"]