diff --git a/pom.xml b/pom.xml
index c4167ee..ddd66fe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
de.assecutor
tasklist-editor
- 0.2.0
+ 0.9.0
TaskList Editor
n8n-inspired editor for task list workflows
diff --git a/src/main/java/de/assecutor/tasklisteditor/view/MainView.java b/src/main/java/de/assecutor/tasklisteditor/view/MainView.java
index 7ef2f61..df87c89 100644
--- a/src/main/java/de/assecutor/tasklisteditor/view/MainView.java
+++ b/src/main/java/de/assecutor/tasklisteditor/view/MainView.java
@@ -46,6 +46,7 @@ import elemental.json.JsonArray;
import elemental.json.JsonObject;
import com.fasterxml.jackson.databind.JsonNode;
+import org.springframework.beans.factory.annotation.Value;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
@@ -79,6 +80,7 @@ public class MainView extends VerticalLayout implements BeforeEnterObserver {
private final Map instances = new HashMap<>();
private Div palettePanel;
private String currentListName;
+ private final String appVersion;
public MainView(BlockTypeRegistry registry,
TaskListService taskListService,
@@ -87,7 +89,9 @@ public class MainView extends VerticalLayout implements BeforeEnterObserver {
CanvasService canvasService,
CustomTypeService customTypeService,
ElementSettingsService elementSettingsService,
- ObjectMapper objectMapper) {
+ ObjectMapper objectMapper,
+ @Value("${tasklist.app-version:}") String appVersion) {
+ this.appVersion = appVersion;
this.registry = registry;
this.taskListService = taskListService;
this.taskListImporter = taskListImporter;
@@ -146,6 +150,15 @@ public class MainView extends VerticalLayout implements BeforeEnterObserver {
title.addClassName("tasklist-title");
title.getStyle().set("white-space", "nowrap");
+ if (appVersion != null && !appVersion.isBlank() && !appVersion.startsWith("@")) {
+ Span version = new Span(" (v" + appVersion + ")");
+ version.getStyle()
+ .set("font-size", "0.7em")
+ .set("color", "var(--lumo-secondary-text-color)")
+ .set("white-space", "nowrap");
+ title.add(version);
+ }
+
Button clear = new Button("Workflow löschen", new Icon(VaadinIcon.TRASH));
clear.addThemeVariants(ButtonVariant.LUMO_TERTIARY);
clear.addClickListener(e -> {
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index d1bc2f6..1dacc45 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -1,5 +1,9 @@
server.port=8080
+# Anwendungsversion: wird beim Build per Maven-Resource-Filtering
+# (spring-boot-starter-parent, @...@-Delimiter) aus der pom.xml gefüllt.
+tasklist.app-version=@project.version@
+
vaadin.launch-browser=true
vaadin.allowed-packages=de.assecutor.tasklisteditor