feat: App-Version aus pom.xml im Header anzeigen

- Versionsnummer neben "Workflow Editor" in Klammern und kleinerer Schrift
- tasklist.app-version per Maven-Resource-Filtering (@project.version@) gefüllt
- @Value-Injection in MainView; Anzeige nur bei real gefülltem Wert

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-30 09:49:18 +02:00
parent cdfc779bc8
commit 5f85074653
3 changed files with 19 additions and 2 deletions

View File

@@ -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<Integer, BlockInstance> 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 -> {

View File

@@ -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