Compare commits
66 Commits
e9a855e0b2
...
prod
| Author | SHA1 | Date | |
|---|---|---|---|
| fce3320fec | |||
| c1f7ef6007 | |||
|
acf37126c2
|
|||
| 6fbbff4787 | |||
| dbd8e20bfe | |||
| fa74a93b6a | |||
| 889e4c9da3 | |||
| 0de1c1e674 | |||
| 3a3925c245 | |||
| e8d89f7723 | |||
| fe78c4869e | |||
| 7f6e59de02 | |||
| 4f0643a139 | |||
| 39ebf8efba | |||
| 24f6264ad8 | |||
| daca0833ed | |||
| b083da60f8 | |||
| b743b527a6 | |||
| dab551486e | |||
| 86b2595c1d | |||
| 23e310f1e5 | |||
| e0c855bb31 | |||
| 72d8364a32 | |||
| 2d1bc93ce8 | |||
| ce93459c69 | |||
| e1a67087d5 | |||
| 4a4aa54192 | |||
| cc97af7ff7 | |||
| dc92e275f9 | |||
| 8ef0ed8f1d | |||
| a18f63ba21 | |||
| face7c48c5 | |||
| 245dc9c625 | |||
| 710daba4e1 | |||
| c56d8445fb | |||
| 4753392824 | |||
| e8f4830282 | |||
| d5373e2a13 | |||
| f77e20ed9f | |||
| 0aa045d49d | |||
| 0c97b5e1f9 | |||
| 48cccefb31 | |||
| 5c5d909d33 | |||
| 4e8f8cbe9f | |||
| efc6b7b512 | |||
| 9088b28bf2 | |||
| 396936839a | |||
|
c25022ad29
|
|||
|
d70f24ba12
|
|||
|
87d14baccb
|
|||
|
6e208ea635
|
|||
|
d9ea7c060c
|
|||
| 75773e26c0 | |||
| 473568c98b | |||
|
8ebe53244a
|
|||
|
fb414c39f4
|
|||
|
65d373b59d
|
|||
|
cf7644b330
|
|||
|
cfd73d17b7
|
|||
|
e6f0e61908
|
|||
|
9b8f3ee904
|
|||
|
69928655e0
|
|||
|
d2570339a3
|
|||
|
fd5b5e05e6
|
|||
|
8f39655da2
|
|||
|
5a7beabc9d
|
15
.gitea/workflows/build.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
name: Build Docker Image
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- '**' # matches every branch
|
||||||
|
- '!prod'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
Build-Docker-Image:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
||||||
|
- run: docker build . -t dashboard-test
|
||||||
|
- run: docker rmi dashboard-test
|
||||||
18
.gitea/workflows/buildAndPush.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
name: Build and Push Docker Image
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- prod
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
Build-And-Push-Docker-Image:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
|
||||||
|
- run: docker login git.wundenbergs.de -u tim -p ${{ secrets.DOCKER_GITEA_TOKEN }}
|
||||||
|
- run: docker build . -t git.wundenbergs.de/x/dashboard:latest -t git.wundenbergs.de/x/dashboard:$GITHUB_SHA
|
||||||
|
- run: docker push git.wundenbergs.de/x/dashboard:latest
|
||||||
|
- run: docker push git.wundenbergs.de/x/dashboard:$GITHUB_SHA
|
||||||
|
- run: docker rmi git.wundenbergs.de/x/dashboard:latest git.wundenbergs.de/x/dashboard:$GITHUB_SHA
|
||||||
|
|
||||||
3
.gitignore
vendored
@@ -35,3 +35,6 @@ out/
|
|||||||
|
|
||||||
### VS Code ###
|
### VS Code ###
|
||||||
.vscode/
|
.vscode/
|
||||||
|
|
||||||
|
node_modules/
|
||||||
|
src/main/resources/static/styles.css
|
||||||
|
|||||||
9
.prettierrc
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"plugins": ["prettier-plugin-tailwindcss"],
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files": "*.svg",
|
||||||
|
"options": { "parser": "html" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
18
Dockerfile
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
FROM node:24.11.1@sha256:aa648b387728c25f81ff811799bbf8de39df66d7e2d9b3ab55cc6300cb9175d9 AS builder_node
|
||||||
|
WORKDIR /dashboard
|
||||||
|
COPY package.json package-lock.json ./
|
||||||
|
RUN npm clean-install
|
||||||
|
COPY . ./
|
||||||
|
RUN npm run build
|
||||||
|
|
||||||
|
FROM eclipse-temurin:25.0.1_8-jdk-ubi10-minimal@sha256:53a08146a9ac0b9b1fc894a370eb77298efc899355d0a2d077d06cb08c8a8a1d AS builder_java
|
||||||
|
WORKDIR /dashboard/
|
||||||
|
COPY . .
|
||||||
|
COPY --from=builder_node /dashboard/src/main/resources/static/styles.css ./src/main/resources/static/styles.css
|
||||||
|
RUN ./gradlew build bootJar
|
||||||
|
|
||||||
|
FROM eclipse-temurin:25.0.1_8-jre-ubi10-minimal@sha256:0df5caab80e3a3141685e3254301a951f1ae845ab788bb489bc063e6b085c301
|
||||||
|
WORKDIR /opt/app/
|
||||||
|
ENV TZ=Europe/Berlin
|
||||||
|
COPY --from=builder_java /dashboard/build/libs/dashboard-0.0.1-SNAPSHOT.jar ./
|
||||||
|
ENTRYPOINT ["java", "-jar", "dashboard-0.0.1-SNAPSHOT.jar"]
|
||||||
10
build.gradle
@@ -1,12 +1,12 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id 'java'
|
id 'java'
|
||||||
id 'org.springframework.boot' version '3.5.7'
|
id 'org.springframework.boot' version '4.0.0'
|
||||||
id 'io.spring.dependency-management' version '1.1.7'
|
id 'io.spring.dependency-management' version '1.1.7'
|
||||||
}
|
}
|
||||||
|
|
||||||
group = 'de.wundenbergs'
|
group = 'de.wundenbergs'
|
||||||
version = '0.0.1-SNAPSHOT'
|
version = '0.0.1-SNAPSHOT'
|
||||||
description = 'Simple Projektverwaltung'
|
description = 'Simple Dashboard'
|
||||||
|
|
||||||
java {
|
java {
|
||||||
toolchain {
|
toolchain {
|
||||||
@@ -25,17 +25,13 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'org.springframework.boot:spring-boot-starter-actuator'
|
|
||||||
// implementation 'org.springframework.boot:spring-boot-starter-security'
|
|
||||||
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
|
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
|
||||||
implementation 'org.springframework.boot:spring-boot-starter-web'
|
implementation 'org.springframework.boot:spring-boot-starter-web'
|
||||||
implementation 'io.github.wimdeblauwe:htmx-spring-boot-thymeleaf:4.0.1'
|
|
||||||
// implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6'
|
|
||||||
compileOnly 'org.projectlombok:lombok'
|
compileOnly 'org.projectlombok:lombok'
|
||||||
annotationProcessor 'org.projectlombok:lombok'
|
annotationProcessor 'org.projectlombok:lombok'
|
||||||
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
testImplementation 'org.springframework.boot:spring-boot-starter-test'
|
||||||
// testImplementation 'org.springframework.security:spring-security-test'
|
|
||||||
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
|
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
|
||||||
|
developmentOnly("org.springframework.boot:spring-boot-devtools")
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.named('test') {
|
tasks.named('test') {
|
||||||
|
|||||||
23
dev.sh
Executable file
@@ -0,0 +1,23 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
trap ctrl_c INT
|
||||||
|
|
||||||
|
function ctrl_c() {
|
||||||
|
stop
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
function stop() {
|
||||||
|
kill %2
|
||||||
|
kill %1
|
||||||
|
./gradlew --stop
|
||||||
|
|
||||||
|
wait
|
||||||
|
}
|
||||||
|
|
||||||
|
./gradlew classes --continuous &
|
||||||
|
./gradlew bootRun &
|
||||||
|
|
||||||
|
npm run watch
|
||||||
|
|
||||||
|
stop
|
||||||
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,6 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip
|
||||||
networkTimeout=10000
|
networkTimeout=10000
|
||||||
validateDistributionUrl=true
|
validateDistributionUrl=true
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
|||||||
1289
package-lock.json
generated
Normal file
18
package.json
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"name": "dashboard",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"author": "",
|
||||||
|
"type": "commonjs",
|
||||||
|
"scripts": {
|
||||||
|
"watch": "npx @tailwindcss/cli -i ./input.css -o ./src/main/resources/static/styles.css --watch",
|
||||||
|
"build": "npx @tailwindcss/cli -i ./input.css -o ./src/main/resources/static/styles.css --minify"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@tailwindcss/cli": "4.1.17",
|
||||||
|
"prettier": "3.7.4",
|
||||||
|
"prettier-plugin-tailwindcss": "0.7.2",
|
||||||
|
"tailwindcss": "4.1.17"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,4 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
"extends": [
|
"extends": ["local>x/renovate-config"]
|
||||||
"local>x/renovate-config"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
rootProject.name = 'projektverwaltung'
|
rootProject.name = 'dashboard'
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
package de.wundenbergs.projektverwaltung;
|
package de.wundenbergs.dashboard;
|
||||||
|
|
||||||
import org.springframework.boot.SpringApplication;
|
import org.springframework.boot.SpringApplication;
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
public class ProjektverwaltungApplication {
|
public class Application {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
SpringApplication.run(ProjektverwaltungApplication.class, args);
|
SpringApplication.run(Application.class, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
30
src/main/java/de/wundenbergs/dashboard/IndexController.java
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
package de.wundenbergs.dashboard;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.Model;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
public class IndexController {
|
||||||
|
private record Item(String url, String name, String logoFilename) {
|
||||||
|
};
|
||||||
|
|
||||||
|
private static final List<Item> items = List.of(
|
||||||
|
new Item("https://home.wundenbergs.de", "Homeassistant", "assets/homeassistant.svg"),
|
||||||
|
new Item("https://git.wundenbergs.de", "Gitea", "assets/gitea.svg"),
|
||||||
|
new Item("https://next.wundenbergs.de", "Nextcloud", "assets/nextcloud.svg"),
|
||||||
|
new Item("https://pihole.wundenbergs.de/admin", "Pihole", "assets/pihole.png"),
|
||||||
|
new Item("https://spend-sparrow.de", "Spend-Sparrow", "assets/spend-sparrow.svg"),
|
||||||
|
new Item("https://jellyfin.wundenbergs.de", "Jellyfin", "assets/jellyfin.svg"),
|
||||||
|
new Item("https://traefik.wundenbergs.de", "Traefik", "assets/traefik.svg"),
|
||||||
|
new Item("https://192.168.188.102:8006/", "Proxmox", "assets/proxmox.svg"));
|
||||||
|
|
||||||
|
@GetMapping("/")
|
||||||
|
|
||||||
|
public String home(Model model) {
|
||||||
|
model.addAttribute("items", items);
|
||||||
|
return "index";
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
spring:
|
spring:
|
||||||
application:
|
application:
|
||||||
name: projektverwaltung
|
name: dashboard
|
||||||
|
|||||||
45
src/main/resources/static/assets/gitea.svg
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
viewBox="5.67 143.05 628.65 387.55"
|
||||||
|
>
|
||||||
|
<g>
|
||||||
|
<path
|
||||||
|
id="teabag"
|
||||||
|
style="fill: #ffffff"
|
||||||
|
d="M395.9,484.2l-126.9-61c-12.5-6-17.9-21.2-11.8-33.8l61-126.9c6-12.5,21.2-17.9,33.8-11.8
|
||||||
|
c17.2,8.3,27.1,13,27.1,13l-0.1-109.2l16.7-0.1l0.1,117.1c0,0,57.4,24.2,83.1,40.1c3.7,2.3,10.2,6.8,12.9,14.4
|
||||||
|
c2.1,6.1,2,13.1-1,19.3l-61,126.9C423.6,484.9,408.4,490.3,395.9,484.2z"
|
||||||
|
></path>
|
||||||
|
<g>
|
||||||
|
<g>
|
||||||
|
<path
|
||||||
|
style="fill: #609926"
|
||||||
|
d="M622.7,149.8c-4.1-4.1-9.6-4-9.6-4s-117.2,6.6-177.9,8c-13.3,0.3-26.5,0.6-39.6,0.7c0,39.1,0,78.2,0,117.2
|
||||||
|
c-5.5-2.6-11.1-5.3-16.6-7.9c0-36.4-0.1-109.2-0.1-109.2c-29,0.4-89.2-2.2-89.2-2.2s-141.4-7.1-156.8-8.5
|
||||||
|
c-9.8-0.6-22.5-2.1-39,1.5c-8.7,1.8-33.5,7.4-53.8,26.9C-4.9,212.4,6.6,276.2,8,285.8c1.7,11.7,6.9,44.2,31.7,72.5
|
||||||
|
c45.8,56.1,144.4,54.8,144.4,54.8s12.1,28.9,30.6,55.5c25,33.1,50.7,58.9,75.7,62c63,0,188.9-0.1,188.9-0.1s12,0.1,28.3-10.3
|
||||||
|
c14-8.5,26.5-23.4,26.5-23.4s12.9-13.8,30.9-45.3c5.5-9.7,10.1-19.1,14.1-28c0,0,55.2-117.1,55.2-231.1
|
||||||
|
C633.2,157.9,624.7,151.8,622.7,149.8z
|
||||||
|
M125.6,353.9c-25.9-8.5-36.9-18.7-36.9-18.7S69.6,321.8,60,295.4
|
||||||
|
c-16.5-44.2-1.4-71.2-1.4-71.2s8.4-22.5,38.5-30c13.8-3.7,31-3.1,31-3.1s7.1,59.4,15.7,94.2c7.2,29.2,24.8,77.7,24.8,77.7
|
||||||
|
S142.5,359.9,125.6,353.9z
|
||||||
|
M425.9,461.5c0,0-6.1,14.5-19.6,15.4c-5.8,0.4-10.3-1.2-10.3-1.2s-0.3-0.1-5.3-2.1l-112.9-55
|
||||||
|
c0,0-10.9-5.7-12.8-15.6c-2.2-8.1,2.7-18.1,2.7-18.1L322,273c0,0,4.8-9.7,12.2-13c0.6-0.3,2.3-1,4.5-1.5c8.1-2.1,18,2.8,18,2.8
|
||||||
|
l110.7,53.7c0,0,12.6,5.7,15.3,16.2c1.9,7.4-0.5,14-1.8,17.2C474.6,363.8,425.9,461.5,425.9,461.5z"
|
||||||
|
></path>
|
||||||
|
<path
|
||||||
|
style="fill: #609926"
|
||||||
|
d="M326.8,380.1c-8.2,0.1-15.4,5.8-17.3,13.8c-1.9,8,2,16.3,9.1,20c7.7,4,17.5,1.8,22.7-5.4
|
||||||
|
c5.1-7.1,4.3-16.9-1.8-23.1l24-49.1c1.5,0.1,3.7,0.2,6.2-0.5c4.1-0.9,7.1-3.6,7.1-3.6c4.2,1.8,8.6,3.8,13.2,6.1
|
||||||
|
c4.8,2.4,9.3,4.9,13.4,7.3c0.9,0.5,1.8,1.1,2.8,1.9c1.6,1.3,3.4,3.1,4.7,5.5c1.9,5.5-1.9,14.9-1.9,14.9
|
||||||
|
c-2.3,7.6-18.4,40.6-18.4,40.6c-8.1-0.2-15.3,5-17.7,12.5c-2.6,8.1,1.1,17.3,8.9,21.3c7.8,4,17.4,1.7,22.5-5.3
|
||||||
|
c5-6.8,4.6-16.3-1.1-22.6c1.9-3.7,3.7-7.4,5.6-11.3c5-10.4,13.5-30.4,13.5-30.4c0.9-1.7,5.7-10.3,2.7-21.3
|
||||||
|
c-2.5-11.4-12.6-16.7-12.6-16.7c-12.2-7.9-29.2-15.2-29.2-15.2s0-4.1-1.1-7.1c-1.1-3.1-2.8-5.1-3.9-6.3c4.7-9.7,9.4-19.3,14.1-29
|
||||||
|
c-4.1-2-8.1-4-12.2-6.1c-4.8,9.8-9.7,19.7-14.5,29.5c-6.7-0.1-12.9,3.5-16.1,9.4c-3.4,6.3-2.7,14.1,1.9,19.8
|
||||||
|
C343.2,346.5,335,363.3,326.8,380.1z"
|
||||||
|
></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
10
src/main/resources/static/assets/homeassistant.svg
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path
|
||||||
|
d="M5.114,27.944V18.427H2.66a.668.668,0,0,1-.47-1.134L15.41,3.748h0a.819.819,0,0,1,1.166-.008l.007.007,6.9,7.037v-1.3h0a.553.553,0,0,1,.55-.556h2.292a.553.553,0,0,1,.549.556v4.78L29.812,17.3h0a.671.671,0,0,1-.01.942.657.657,0,0,1-.462.19H26.876v9.517a.553.553,0,0,1-.549.556H5.664A.553.553,0,0,1,5.114,27.944Z"
|
||||||
|
style="fill: #3dbcf3; fill-rule: evenodd"
|
||||||
|
/>
|
||||||
|
<path
|
||||||
|
d="M21.718,15.07a2.841,2.841,0,0,0-2.826,2.857,2.876,2.876,0,0,0,.224,1.116l-2.061,2.083V14.791a2.826,2.826,0,1,0-2.12,0v6.335l-2.061-2.083a2.876,2.876,0,0,0,.224-1.116,2.826,2.826,0,1,0-2.826,2.858,2.791,2.791,0,0,0,1.1-.227l3.559,3.6V28.5h2.12V24.157l3.56-3.6a2.782,2.782,0,0,0,1.1.227,2.858,2.858,0,0,0,0-5.715Zm-11.446,4a1.143,1.143,0,1,1,1.13-1.143A1.136,1.136,0,0,1,10.272,19.07ZM16,13.284a1.143,1.143,0,1,1,1.131-1.143A1.136,1.136,0,0,1,16,13.284Zm5.723,5.786a1.143,1.143,0,1,1,1.131-1.143A1.136,1.136,0,0,1,21.718,19.07Z"
|
||||||
|
style="fill: #fff"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1012 B |
8
src/main/resources/static/assets/jellyfin.svg
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
aria-label="Jellyfin" role="img"
|
||||||
|
viewBox="0 0 512 512"><rect
|
||||||
|
width="512" height="512"
|
||||||
|
rx="15%"
|
||||||
|
fill="#ffffff"/><defs><path d="M190.56 329.07c8.63 17.3 122.4 17.12 130.93 0 8.52-17.1-47.9-119.78-65.46-119.8-17.57 0-74.1 102.5-65.47 119.8z" id="A"/><linearGradient id="B" gradientUnits="userSpaceOnUse" x1="126.15" y1="219.32" x2="457.68" y2="410.73"><stop offset="0%" stop-color="#aa5cc3"/><stop offset="100%" stop-color="#00a4dc"/></linearGradient><path d="M58.75 417.03c25.97 52.15 368.86 51.55 394.55 0S308.93 56.08 256.03 56.08c-52.92 0-223.25 308.8-197.28 360.95zm68.04-45.25c-17.02-34.17 94.6-236.5 129.26-236.5 34.67 0 146.1 202.7 129.26 236.5-16.83 33.8-241.5 34.17-258.52 0z" id="C"/></defs><use xlink:href="#A" fill="url(#B)"/><use xlink:href="#A" fill-opacity="0" stroke="#000000" stroke-opacity="0"/><use xlink:href="#C" fill="url(#B)"/><use xlink:href="#C" fill-opacity="0" stroke="#000000" stroke-opacity="0"/></svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
41
src/main/resources/static/assets/nextcloud.svg
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
<svg
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
version="1.1"
|
||||||
|
id="Layer_1"
|
||||||
|
inkscape:export-xdpi="299.75104"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
viewBox="0 0 127.6 62.9"
|
||||||
|
style="enable-background: new 0 0 127.6 62.9"
|
||||||
|
xml:space="preserve"
|
||||||
|
>
|
||||||
|
<style type="text/css">
|
||||||
|
.st0 {
|
||||||
|
fill: #0082c9;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<path
|
||||||
|
id="path1052"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
inkscape:export-filename="Nextcloud Hub logo variants.png"
|
||||||
|
inkscape:export-xdpi="300"
|
||||||
|
inkscape:export-ydpi="300"
|
||||||
|
class="st0"
|
||||||
|
d="
|
||||||
|
M63.8,3.8c-12.6,0-23.3,8.5-26.6,20.1c-2.8-6.1-9-10.4-16.2-10.4c-9.9,0-18,8.1-18,18s8.1,18,18,18c7.2,0,13.4-4.3,16.3-10.4
|
||||||
|
c3.3,11.6,14,20.1,26.6,20.1c12.5,0,23.1-8.4,26.5-19.8c2.9,6,9.1,10.2,16.2,10.2c9.9,0,18-8.1,18-18s-8.1-18-18-18
|
||||||
|
c-7.1,0-13.2,4.2-16.2,10.2C87,12.2,76.3,3.8,63.8,3.8z
|
||||||
|
M63.8,14.4c9.5,0,17.1,7.6,17.1,17.1s-7.6,17.1-17.1,17.1S46.7,41,46.7,31.5
|
||||||
|
C46.7,21.9,54.3,14.4,63.8,14.4z
|
||||||
|
M21,24c4.2,0,7.4,3.3,7.4,7.4c0,4.2-3.3,7.4-7.4,7.4c-4.2,0-7.4-3.3-7.4-7.4
|
||||||
|
C13.6,27.3,16.8,24,21,24z
|
||||||
|
M106.5,24c4.2,0,7.4,3.3,7.4,7.4c0,4.2-3.3,7.4-7.4,7.4c-4.2,0-7.4-3.3-7.4-7.4S102.3,24,106.5,24z"
|
||||||
|
></path>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.5 KiB |
BIN
src/main/resources/static/assets/pihole.png
Normal file
|
After Width: | Height: | Size: 27 KiB |
107
src/main/resources/static/assets/proxmox.svg
Executable file
@@ -0,0 +1,107 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="379.41956"
|
||||||
|
height="328.82227"
|
||||||
|
viewBox="0 0 100.38809 87.000888"
|
||||||
|
version="1.1"
|
||||||
|
id="svg924"
|
||||||
|
inkscape:export-filename="proxmox.svg"
|
||||||
|
inkscape:export-xdpi="96"
|
||||||
|
inkscape:export-ydpi="96"
|
||||||
|
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
|
||||||
|
sodipodi:docname="proxmox.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<defs
|
||||||
|
id="defs918" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="0.56863113"
|
||||||
|
inkscape:cx="195.84872"
|
||||||
|
inkscape:cy="189.70435"
|
||||||
|
inkscape:document-units="mm"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:pagecheckerboard="true"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:window-width="1720"
|
||||||
|
inkscape:window-height="1343"
|
||||||
|
inkscape:window-x="1720"
|
||||||
|
inkscape:window-y="27"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
units="px"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:deskcolor="#d1d1d1">
|
||||||
|
<inkscape:page
|
||||||
|
x="-4.5850859e-14"
|
||||||
|
y="0"
|
||||||
|
width="100.38809"
|
||||||
|
height="87.000885"
|
||||||
|
id="page2"
|
||||||
|
margin="0"
|
||||||
|
bleed="0" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<metadata
|
||||||
|
id="metadata921">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-66.921863,-73.385094)">
|
||||||
|
<g
|
||||||
|
id="g1898"
|
||||||
|
transform="matrix(1.3463334,0,0,1.3463334,375.33156,-1215.5059)">
|
||||||
|
<g
|
||||||
|
id="g1882">
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path1290"
|
||||||
|
style="fill:#e57000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.542875"
|
||||||
|
d="m -173.38497,989.64514 18.87524,20.74226 c -2.0743,2.1432 -4.97814,3.4575 -8.1594,3.4575 -3.38754,0 -6.36035,-1.4522 -8.4347,-3.7339 l -10.44002,-11.47689 -8.1589,-8.98897 8.1589,-8.91944 10.44002,-11.47749 c 2.07435,-2.28114 5.04716,-3.7339 8.4347,-3.7339 3.18126,0 6.0851,1.31376 8.1594,3.38811 z"
|
||||||
|
sodipodi:nodetypes="ccscccccscc" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path1292"
|
||||||
|
style="fill:#e57000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.542875"
|
||||||
|
d="m -210.19854,989.64491 -18.87525,20.74229 c 2.0743,2.1432 4.97814,3.4575 8.15941,3.4575 3.38753,0 6.36034,-1.4522 8.43469,-3.7339 l 10.44002,-11.47692 8.15888,-8.98897 -8.15888,-8.91944 -10.44002,-11.47749 c -2.07435,-2.28117 -5.04716,-3.7339 -8.43469,-3.7339 -3.18127,0 -6.08511,1.31376 -8.15941,3.38811 z"
|
||||||
|
sodipodi:nodetypes="ccscccccscc" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path1294"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.495509"
|
||||||
|
d="m -184.35429,999.92973 -7.44678,-8.20441 -7.44712,8.20441 -17.22853,18.93277 c 1.89315,1.8933 4.54432,3.0923 7.44626,3.0923 3.09254,0 5.68045,-1.2625 7.63638,-3.4079 l 9.59301,-10.4759 9.52871,10.4759 c 1.89351,2.0819 4.60672,3.4079 7.69878,3.4079 2.90352,0 5.55411,-1.199 7.44728,-3.0923 z"
|
||||||
|
sodipodi:nodetypes="ccccscccscc" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path1296"
|
||||||
|
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.495509"
|
||||||
|
d="m -184.35475,979.35922 -7.44678,8.20441 -7.44712,-8.20441 -17.22852,-18.93276 c 1.89317,-1.89324 4.54431,-3.09227 7.44627,-3.09227 3.09255,0 5.68044,1.26249 7.63636,3.40788 l 9.59301,10.47593 9.52871,-10.47593 c 1.89354,-2.08195 4.60674,-3.40788 7.69878,-3.40788 2.90352,0 5.55414,1.19903 7.44729,3.09227 z"
|
||||||
|
sodipodi:nodetypes="ccccscccscc" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 4.4 KiB |
53
src/main/resources/static/assets/spend-sparrow.svg
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="28.384802mm"
|
||||||
|
height="31.749905mm"
|
||||||
|
viewBox="0 0 28.384802 31.749905"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-37.253301,-88.598061)">
|
||||||
|
<path
|
||||||
|
d="m 59.240389,97.978247 c 1.775354,-0.394229 4.087813,-2.156354 4.439709,-3.024187 0.206375,-0.508 -0.822855,-1.30175 -1.098021,-1.621896 -0.629709,-0.73025 -0.375709,-1.090083 -0.132292,-1.960562 0.277813,-0.989542 -0.381,-2.082271 -1.314979,-2.510896 -0.933979,-0.428625 -2.050521,-0.293688 -2.989792,0.124354 -0.939271,0.418042 -1.740958,1.090083 -2.526771,1.751542 -0.574145,-0.36248 -1.489604,-1.963209 -2.97127,-0.923396 -1.023938,0.717021 -1.116542,2.278062 -0.98425,3.52425 0.309562,2.876021 1.018645,4.368271 2.354791,4.770437 1.688042,0.508 3.556,0.240771 5.222875,-0.129646"
|
||||||
|
style="fill:#ffca28;stroke-width:0.264583"
|
||||||
|
id="path1-3" />
|
||||||
|
<path
|
||||||
|
d="m 62.124348,89.704727 c -0.224896,3.876145 -4.005792,6.447895 -5.799667,7.580312 l 1.164167,1.000125 c 0,0 0.738187,0.01588 1.748895,-0.306917 1.733021,-0.550333 4.265084,-2.106083 4.439709,-3.024187 0.256646,-1.336146 -1.113896,-1.045104 -1.423459,-2.100792 -0.161395,-0.558271 0.785813,-1.613958 -0.129645,-3.148541 m -6.503459,1.03452 c 0,0 -0.674687,-0.690562 -1.17475,-1.005416 -0.248708,0.468312 -0.425979,0.976312 -0.513291,1.500187 -0.156105,0.92075 0,2.227792 0.36777,3.201459 0.05821,0.150812 0.275167,0.127 0.29898,-0.03175 0.3175,-2.092855 1.021291,-3.66448 1.021291,-3.66448"
|
||||||
|
style="fill:#e2a610;stroke-width:0.264583"
|
||||||
|
id="path2-6" />
|
||||||
|
<path
|
||||||
|
d="m 50.906014,97.636935 c 0,0 -8.252354,0.891646 -11.975042,8.056565 -3.722687,7.16492 -0.558271,11.50937 2.791354,13.09158 3.349626,1.58221 11.789834,2.14048 17.279938,0.83873 5.490104,-1.30175 6.863292,-4.0005 6.606646,-6.60664 -0.373062,-3.80471 -3.907896,-6.14363 -3.907896,-6.14363 0,0 0.140229,-4.699 -3.505729,-7.749647 -3.235854,-2.709333 -7.289271,-1.486958 -7.289271,-1.486958"
|
||||||
|
style="fill:#ffca28;stroke-width:0.264583"
|
||||||
|
id="path3-0" />
|
||||||
|
<path
|
||||||
|
d="m 56.120952,95.996518 c 2.233083,0.727604 2.727854,2.746375 2.566458,3.296709 -0.193146,0.645583 -2.667,-1.867959 -6.344708,-1.717146 -1.285875,0.05292 -0.912813,-0.735542 -0.3175,-1.190625 0.785812,-0.600604 2.106083,-1.034521 4.09575,-0.388938"
|
||||||
|
style="fill:#6d4c41;stroke-width:0.264583"
|
||||||
|
id="path6-6" />
|
||||||
|
<path
|
||||||
|
d="m 56.120952,95.996518 c 2.233083,0.727604 2.727854,2.746375 2.566458,3.296709 -0.193146,0.645583 -2.667,-1.867959 -6.344708,-1.717146 -1.285875,0.05292 -0.912813,-0.735542 -0.3175,-1.190625 0.785812,-0.600604 2.106083,-1.034521 4.09575,-0.388938"
|
||||||
|
style="fill:#6b4b46;stroke-width:0.264583"
|
||||||
|
id="path7-2" />
|
||||||
|
<path
|
||||||
|
d="m 60.042077,103.11381 c 0.280458,-0.19314 1.222375,0.14023 1.486958,1.98438 0.129646,0.90223 0.169333,1.77535 0.169333,1.77535 0,0 -1.11125,-0.99748 -1.47902,-1.69862 -0.463021,-0.88636 -0.642938,-1.74361 -0.177271,-2.06111"
|
||||||
|
style="fill:#e2a610;stroke-width:0.264583"
|
||||||
|
id="path8-6" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:19.7556px;font-family:'Pirata One';-inkscape-font-specification:'Pirata One, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:start;letter-spacing:-0.529167px;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:#000000;stroke-width:0.264583"
|
||||||
|
x="82.355011"
|
||||||
|
y="90.66716"
|
||||||
|
id="text4-9"
|
||||||
|
transform="rotate(20.578693)"><tspan
|
||||||
|
id="tspan4-2"
|
||||||
|
style="font-size:19.7556px;fill:#4d4d4d;stroke-width:0.264583"
|
||||||
|
x="82.355011"
|
||||||
|
y="90.66716">$</tspan></text>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.9 KiB |
316
src/main/resources/static/assets/traefik.svg
Normal file
@@ -0,0 +1,316 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
version="1.1"
|
||||||
|
id="Calque_1"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
width="340"
|
||||||
|
height="456.33044"
|
||||||
|
viewBox="0 0 339.99998 456.33045"
|
||||||
|
enable-background="new 0 0 595.28 841.89"
|
||||||
|
xml:space="preserve"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
sodipodi:docname="traefik.svg"
|
||||||
|
inkscape:export-filename="/home/emile/dev/traefik.website/static/traefik.logo.png"
|
||||||
|
inkscape:export-xdpi="90"
|
||||||
|
inkscape:export-ydpi="90"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
|
||||||
|
id="metadata3280"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs3278" /><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="2252"
|
||||||
|
inkscape:window-height="1447"
|
||||||
|
id="namedview3276"
|
||||||
|
showgrid="false"
|
||||||
|
fit-margin-top="20"
|
||||||
|
fit-margin-left="20"
|
||||||
|
fit-margin-right="20"
|
||||||
|
fit-margin-bottom="20"
|
||||||
|
inkscape:zoom="0.39643468"
|
||||||
|
inkscape:cx="-7.567451"
|
||||||
|
inkscape:cy="-158.91647"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="Calque_1"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1" /><path
|
||||||
|
d="m 65.412121,155.07154 c 0,0 24.66784,-21.47409 97.677319,-21.47409 66.97804,0 85.80047,15.19398 104.91761,21.47409 L 168.27066,203.80696 65.412121,155.07154 z"
|
||||||
|
id="path3156"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#c9781f" /><g
|
||||||
|
id="g3158"
|
||||||
|
transform="matrix(0.63926204,0,0,0.63926204,-21.039129,-84.874827)"><path
|
||||||
|
d="m 118.946,476.458 c 0.707,14.572 15.264,7.83 21.858,3.274 6.259,-4.325 8.089,-0.73 8.638,-9.266 0.36,-5.61 1.007,-11.22 0.688,-16.853 -9.464,-0.858 -19.759,1.396 -27.518,7.033 -3.996,2.905 -11.49,12.174 -3.666,15.812"
|
||||||
|
id="path3160"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#f6d2a2" /><path
|
||||||
|
d="m 118.946,476.458 c 2.119,-0.788 4.364,-1.348 5.802,-3.264"
|
||||||
|
id="path3162"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#c6b198" /><path
|
||||||
|
d="M 152.588,302.861 C 96.804,287.174 138.284,216.207 183.08,245.397 l -30.492,57.464 z"
|
||||||
|
id="path3164"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#37abc8" /><path
|
||||||
|
d="m 400.436,240.071 c 44.155,-31.014 84.056,38.959 32.74,56.565 l -32.74,-56.565 z"
|
||||||
|
id="path3166"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#37abc8" /><path
|
||||||
|
d="m 409.934,655.8 c 11.216,6.94 31.716,27.923 14.891,38.098 -16.166,14.802 -25.214,-16.247 -39.403,-20.549 6.111,-8.298 13.856,-15.865 24.512,-17.549 z"
|
||||||
|
id="path3168"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#f6d2a2" /><path
|
||||||
|
d="m 424.825,693.897 c -2.494,-4.96 -3.332,-10.748 -7.496,-14.746"
|
||||||
|
id="path3170"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:none" /><path
|
||||||
|
d="m 209.561,679.514 c -13.164,2.037 -20.574,13.914 -31.548,19.945 -10.341,6.166 -14.297,-1.974 -15.229,-3.627 -1.621,-0.739 -1.485,0.688 -3.987,-1.831 -9.587,-15.13 9.989,-26.189 20.182,-33.705 14.198,-2.871 23.096,9.438 30.582,19.218 z"
|
||||||
|
id="path3172"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#f6d2a2" /><path
|
||||||
|
d="m 162.785,695.831 c 0.501,-5.766 5.074,-9.628 7.251,-14.504"
|
||||||
|
id="path3174"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:none" /><path
|
||||||
|
d="m 154.916,283.26 c -7.36,-3.893 -12.759,-9.18 -8.257,-17.693 4.168,-7.88 11.911,-7.025 19.271,-3.132 l -11.014,20.825 z"
|
||||||
|
id="path3176"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#077e91" /><path
|
||||||
|
d="m 421.549,275.859 c 7.36,-3.893 12.759,-9.18 8.257,-17.693 -4.168,-7.881 -11.91,-7.025 -19.271,-3.132 l 11.014,20.825 z"
|
||||||
|
id="path3178"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#077e91" /><path
|
||||||
|
d="m 472.21,474.607 c -0.707,14.572 -15.264,7.83 -21.858,3.274 -6.259,-4.325 -8.089,-0.73 -8.638,-9.265 -0.36,-5.61 -1.007,-11.22 -0.688,-16.853 9.464,-0.858 19.759,1.396 27.518,7.033 3.996,2.904 11.49,12.174 3.666,15.811"
|
||||||
|
id="path3180"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#f6d2a2" /><path
|
||||||
|
d="m 472.21,474.607 c -2.119,-0.788 -4.364,-1.348 -5.802,-3.264"
|
||||||
|
id="path3182"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#c6b198" /><g
|
||||||
|
id="g3184"><path
|
||||||
|
d="m 289.988,210.595 c 55.847,0 108.2,7.987 135.492,61.642 24.496,60.141 15.785,124.993 19.521,188.553 3.208,54.577 10.322,117.629 -14.997,168.205 -26.635,53.21 -93.191,66.595 -148.026,64.634 -43.071,-1.541 -95.101,-15.593 -119.409,-54.944 -28.519,-46.165 -15.017,-114.81 -12.946,-166.179 2.454,-60.849 -16.482,-121.882 3.508,-181.425 20.737,-61.765 76.665,-75.724 136.857,-80.486"
|
||||||
|
id="path3186"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#37abc8" /></g><path
|
||||||
|
d="m 299.847,285.567 c 10.027,58.288 105.304,42.877 91.619,-15.91 -12.271,-52.716 -94.951,-38.124 -91.619,15.91"
|
||||||
|
id="path3188"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#ffffff" /><path
|
||||||
|
d="m 185.992,294.994 c 12.996,50.745 94.24,37.753 91.178,-13.149 -3.669,-60.964 -103.603,-49.2 -91.178,13.149"
|
||||||
|
id="path3190"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#ffffff" /><path
|
||||||
|
d="m 318.343,353.511 c 0.044,7.79 1.843,15.403 0.289,24.148 -1.935,3.656 -5.729,4.043 -9.001,5.52 -4.524,-0.71 -8.328,-3.68 -10.143,-7.912 -1.161,-9.202 0.433,-18.111 0.726,-27.316 l 18.129,5.56 z"
|
||||||
|
id="path3192"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#ffffff" /><g
|
||||||
|
id="g3194"><ellipse
|
||||||
|
cx="208.39999"
|
||||||
|
cy="286.71799"
|
||||||
|
rx="13.719"
|
||||||
|
ry="14.86"
|
||||||
|
id="ellipse3196"
|
||||||
|
sodipodi:cx="208.39999"
|
||||||
|
sodipodi:cy="286.71799"
|
||||||
|
sodipodi:rx="13.719"
|
||||||
|
sodipodi:ry="14.86"
|
||||||
|
d="m 222.11899,286.71799 c 0,8.20695 -6.1422,14.86 -13.719,14.86 -7.57679,0 -13.719,-6.65305 -13.719,-14.86 0,-8.20695 6.14221,-14.86 13.719,-14.86 7.5768,0 13.719,6.65305 13.719,14.86 z" /><ellipse
|
||||||
|
cx="214.64"
|
||||||
|
cy="290.07101"
|
||||||
|
rx="3.234"
|
||||||
|
ry="3.777"
|
||||||
|
id="ellipse3198"
|
||||||
|
sodipodi:cx="214.64"
|
||||||
|
sodipodi:cy="290.07101"
|
||||||
|
sodipodi:rx="3.234"
|
||||||
|
sodipodi:ry="3.777"
|
||||||
|
style="fill:#ffffff"
|
||||||
|
d="m 217.874,290.07101 c 0,2.08598 -1.44791,3.777 -3.234,3.777 -1.78609,0 -3.234,-1.69102 -3.234,-3.777 0,-2.08598 1.44791,-3.777 3.234,-3.777 1.78609,0 3.234,1.69102 3.234,3.777 z" /></g><g
|
||||||
|
id="g3200"><ellipse
|
||||||
|
cx="323.34799"
|
||||||
|
cy="283.017"
|
||||||
|
rx="13.491"
|
||||||
|
ry="14.86"
|
||||||
|
id="ellipse3202"
|
||||||
|
sodipodi:cx="323.34799"
|
||||||
|
sodipodi:cy="283.017"
|
||||||
|
sodipodi:rx="13.491"
|
||||||
|
sodipodi:ry="14.86"
|
||||||
|
d="m 336.83899,283.017 c 0,8.20695 -6.04012,14.86 -13.491,14.86 -7.45087,0 -13.491,-6.65305 -13.491,-14.86 0,-8.20695 6.04013,-14.86 13.491,-14.86 7.45088,0 13.491,6.65305 13.491,14.86 z" /><ellipse
|
||||||
|
cx="329.48499"
|
||||||
|
cy="286.371"
|
||||||
|
rx="3.181"
|
||||||
|
ry="3.777"
|
||||||
|
id="ellipse3204"
|
||||||
|
sodipodi:cx="329.48499"
|
||||||
|
sodipodi:cy="286.371"
|
||||||
|
sodipodi:rx="3.181"
|
||||||
|
sodipodi:ry="3.777"
|
||||||
|
style="fill:#ffffff"
|
||||||
|
d="m 332.66599,286.371 c 0,2.08598 -1.42419,3.777 -3.181,3.777 -1.75682,0 -3.181,-1.69102 -3.181,-3.777 0,-2.08598 1.42418,-3.777 3.181,-3.777 1.75681,0 3.181,1.69102 3.181,3.777 z" /></g><path
|
||||||
|
d="m 279.137,354.685 c -5.986,14.507 3.338,43.515 19.579,22.119 -1.161,-9.202 0.433,-18.111 0.726,-27.316 l -20.305,5.197 z"
|
||||||
|
id="path3206"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#ffffff" /><g
|
||||||
|
id="g3208"><path
|
||||||
|
d="m 278.185,326.748 c -11.156,0.951 -20.276,14.216 -14.475,24.71 7.682,13.9 24.828,-1.23 35.507,0.188 12.291,0.252 22.361,12.996 32.233,2.304 10.979,-11.892 -4.727,-23.474 -17.002,-28.652 l -36.263,1.45 z"
|
||||||
|
id="path3210"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#f6d2a2" /></g></g><g
|
||||||
|
id="g3212"
|
||||||
|
transform="matrix(0.63926204,0,0,0.63926204,-21.039129,-84.874827)"><path
|
||||||
|
d="m 135.236,375.349 c 0,0 3.532,38.261 3.29,54.754 -0.242,16.492 15.56,6.079 16.38,32.016 0.82,25.937 -9.572,21.018 -15.047,33.713 -5.475,12.694 -9.196,72.145 -9.196,72.145 0,0 5.618,11.108 23.166,21.11 17.548,10.002 45.765,15.62 70.198,14.513 24.433,-1.107 41.885,-6.341 46.249,-9.236 4.363,-2.894 11.605,-12.05 14.329,-19.131 2.724,-7.081 8.415,-65.402 8.018,-98.775 -0.397,-33.373 -5.911,-64.166 -5.911,-64.166 L 135.236,375.349 z"
|
||||||
|
id="path3214"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#ef9325" /><path
|
||||||
|
d="m 290.007,537.841 c -71.952,8.032 -155.439,-14.172 -155.439,-14.172 0,0 1.226,-22.521 6.626,-30.447 74.833,23.185 150.329,15.834 150.329,15.834 1.12,10.514 0.331,18.872 -1.516,28.785 z"
|
||||||
|
id="path3216"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#e5e5e5" /><path
|
||||||
|
d="m 280.95,582.228 c -71.952,8.032 -150.287,-15.064 -150.287,-15.064 0,0 -0.251,-21.631 2.607,-31.13 74.833,23.185 154.763,17.407 154.763,17.407 -0.673,11.413 -2.278,22.646 -7.083,28.787 z"
|
||||||
|
id="path3218"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#e5e5e5" /></g><g
|
||||||
|
id="g3220"
|
||||||
|
transform="matrix(0.63926204,0,0,0.63926204,-21.039129,-84.874827)"><path
|
||||||
|
d="m 452.156,375.349 c 0,0 -0.488,38.261 -0.243,54.754 0.245,16.492 -9.578,6.079 -10.409,32.016 -0.831,25.937 9.692,21.018 15.236,33.713 5.544,12.694 9.312,72.145 9.312,72.145 0,0 -5.689,11.108 -23.457,21.11 -17.768,10.002 -46.34,15.62 -71.08,14.513 -24.74,-1.107 -42.411,-6.341 -46.83,-9.236 -4.419,-2.895 -11.751,-12.05 -14.509,-19.131 -2.758,-7.081 -8.521,-65.402 -8.119,-98.775 0.402,-33.373 5.985,-64.166 5.985,-64.166 l 144.114,-36.943 z"
|
||||||
|
id="path3222"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#ef9325" /><path
|
||||||
|
d="m 304.706,537.841 c 72.856,8.032 157.392,-14.172 157.392,-14.172 0,0 -1.242,-22.521 -6.709,-30.447 -75.774,23.185 -152.218,15.834 -152.218,15.834 -1.134,10.514 -0.335,18.872 1.535,28.785 z"
|
||||||
|
id="path3224"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#e5e5e5" /><path
|
||||||
|
d="m 313.876,582.228 c 72.856,8.032 152.175,-15.064 152.175,-15.064 0,0 0.254,-21.631 -2.64,-31.13 -75.774,23.185 -156.707,17.407 -156.707,17.407 0.682,11.413 2.307,22.646 7.172,28.787 z"
|
||||||
|
id="path3226"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#e5e5e5" /></g><g
|
||||||
|
id="g3228"
|
||||||
|
transform="matrix(0.63926204,0,0,0.63926204,-21.039129,-84.874827)"><path
|
||||||
|
d="m 481.221,445.525 c -2.264,4.272 -6.745,6.334 -10.009,4.604 l -2.615,-1.385 c -3.264,-1.729 -4.076,-6.595 -1.812,-10.867 l 50.985,-96.234 c 2.263,-4.272 6.745,-6.334 10.009,-4.604 l 2.615,1.385 c 3.264,1.729 4.076,6.595 1.812,10.867 l -50.985,96.234 z"
|
||||||
|
id="path3230"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#d2e261" /><path
|
||||||
|
d="m 457.143,490.972 c -1.319,2.489 -5.034,3.105 -8.298,1.375 l -2.615,-1.385 c -3.264,-1.729 -4.842,-5.149 -3.523,-7.638 l 23.92,-45.149 c 1.319,-2.489 5.034,-3.105 8.298,-1.375 l 2.615,1.385 c 3.264,1.729 4.842,5.149 3.523,7.638 l -23.92,45.149 z"
|
||||||
|
id="path3232"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
d="m 478.411,436.54 -2.615,-1.385 c -3.264,-1.729 -6.604,-1.823 -7.459,-0.21 l -1.529,2.886 c 0.855,-1.614 4.194,-1.52 7.459,0.21 l 2.615,1.385 c 3.264,1.729 5.218,4.44 4.363,6.053 l 1.529,-2.886 c 0.855,-1.613 -1.099,-4.323 -4.363,-6.053 z"
|
||||||
|
id="path3234"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#9b9b9b" /></g><ellipse
|
||||||
|
transform="matrix(0.59911638,0.2229746,-0.2229746,0.59911638,100.48325,-168.1724)"
|
||||||
|
cx="456.83801"
|
||||||
|
cy="462.66101"
|
||||||
|
rx="11.224"
|
||||||
|
ry="8.6829996"
|
||||||
|
id="ellipse3236"
|
||||||
|
sodipodi:cx="456.83801"
|
||||||
|
sodipodi:cy="462.66101"
|
||||||
|
sodipodi:rx="11.224"
|
||||||
|
sodipodi:ry="8.6829996"
|
||||||
|
style="fill:#f6d2a2" /><g
|
||||||
|
id="g3238"
|
||||||
|
transform="matrix(0.63926204,0,0,0.63926204,-21.039129,-84.874827)"><path
|
||||||
|
d="m 111.779,447.078 c 2.065,4.372 6.447,6.637 9.787,5.059 l 2.675,-1.264 c 3.34,-1.578 4.374,-6.401 2.309,-10.773 L 80.032,341.629 c -2.065,-4.372 -6.447,-6.637 -9.787,-5.059 l -2.675,1.264 c -3.34,1.578 -4.374,6.401 -2.309,10.773 l 46.518,98.471 z"
|
||||||
|
id="path3240"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#d2e261" /><path
|
||||||
|
d="m 133.748,493.582 c 1.203,2.547 4.886,3.332 8.227,1.755 l 2.675,-1.264 c 3.34,-1.578 5.073,-4.922 3.869,-7.469 l -21.825,-46.199 c -1.203,-2.547 -4.886,-3.332 -8.227,-1.755 l -2.675,1.264 c -3.34,1.578 -5.073,4.922 -3.869,7.469 l 21.825,46.199 z"
|
||||||
|
id="path3242"
|
||||||
|
inkscape:connector-curvature="0" /><path
|
||||||
|
d="m 114.998,438.232 2.675,-1.264 c 3.34,-1.578 6.68,-1.519 7.46,0.132 l 1.395,2.954 c -0.78,-1.651 -4.12,-1.71 -7.46,-0.133 l -2.675,1.264 c -3.34,1.578 -5.416,4.196 -4.636,5.847 l -1.395,-2.954 c -0.779,-1.65 1.296,-4.268 4.636,-5.846 z"
|
||||||
|
id="path3244"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#9b9b9b" /></g><ellipse
|
||||||
|
transform="matrix(-0.59911638,0.2229746,-0.2229746,-0.59911638,252.76813,458.95304)"
|
||||||
|
cx="137.56"
|
||||||
|
cy="463.922"
|
||||||
|
rx="11.224"
|
||||||
|
ry="8.6829996"
|
||||||
|
id="ellipse3246"
|
||||||
|
sodipodi:cx="137.56"
|
||||||
|
sodipodi:cy="463.922"
|
||||||
|
sodipodi:rx="11.224"
|
||||||
|
sodipodi:ry="8.6829996"
|
||||||
|
style="fill:#f6d2a2" /><g
|
||||||
|
id="g3248"
|
||||||
|
transform="matrix(0.63926204,0,0,0.63926204,-21.039129,-84.874827)"><g
|
||||||
|
id="g3250"><path
|
||||||
|
d="m 159.132,324.732 c -2.218,4.033 -7.45,5.414 -11.687,3.084 l -4.873,-2.679 c -4.237,-2.33 -5.873,-7.488 -3.656,-11.521 l 50.714,-92.23 c 2.218,-4.033 7.45,-5.414 11.687,-3.084 l 4.873,2.679 c 4.237,2.33 5.33,6.689 3.656,11.521 -17.765,51.258 -50.714,92.23 -50.714,92.23 z"
|
||||||
|
id="path3252"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#960000" /><path
|
||||||
|
d="m 172.547,272.051 c 15.422,-28.047 25.555,-52.169 23.141,-54.905 l 0.057,-0.103 c -0.066,-0.036 -0.136,-0.06 -0.202,-0.096 -0.008,-0.005 -0.01,-0.021 -0.019,-0.026 l -0.007,0.014 c -23.699,-12.841 -55.583,-0.124 -71.334,28.522 -15.751,28.646 -9.41,62.381 14.128,75.514 l -0.007,0.014 c 0.009,0.005 0.023,-0.002 0.032,0.002 0.066,0.037 0.123,0.083 0.189,0.119 l 0.057,-0.103 c 3.602,0.573 18.543,-20.905 33.965,-48.952 z"
|
||||||
|
id="path3254"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#595959" /></g><g
|
||||||
|
id="g3256"><path
|
||||||
|
d="m 426.693,324.925 c 2.1,4.095 7.291,5.627 11.593,3.42 l 4.948,-2.538 c 4.302,-2.206 6.087,-7.315 3.987,-11.41 L 399.19,220.742 c -2.1,-4.095 -7.291,-5.627 -11.593,-3.42 l -4.948,2.538 c -4.302,2.206 -5.521,6.533 -3.987,11.41 16.279,51.749 48.031,93.655 48.031,93.655 z"
|
||||||
|
id="path3258"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#960000" /><path
|
||||||
|
d="m 414.804,271.879 c -14.606,-28.48 -24.039,-52.885 -21.547,-55.55 l -0.054,-0.105 c 0.067,-0.034 0.138,-0.056 0.205,-0.09 0.009,-0.005 0.011,-0.021 0.02,-0.025 l 0.007,0.014 c 24.059,-12.152 55.563,1.48 70.481,30.569 14.918,29.089 7.606,62.627 -16.301,75.075 l 0.007,0.014 c -0.009,0.004 -0.023,-0.003 -0.032,10e-4 -0.067,0.035 -0.125,0.08 -0.192,0.114 l -0.054,-0.105 c -3.618,0.468 -17.934,-21.432 -32.54,-49.912 z"
|
||||||
|
id="path3260"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#595959" /></g><path
|
||||||
|
d="m 462.36,259.869 c 0,0 -17.746,-44.446 -38.326,-67.945 -20.58,-23.498 -221.937,-31.512 -255.003,0 -33.066,31.512 -45.533,67.945 -45.533,67.945 v -9.844 c 0,0 15.295,-43.268 45.533,-67.945 30.238,-24.677 228.946,-23.378 254.582,0 25.635,23.378 38.747,67.945 38.747,67.945 v 9.844 z"
|
||||||
|
id="path3262"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:#353535" /><ellipse
|
||||||
|
transform="matrix(-0.8898,0.4563,-0.4563,-0.8898,986.5333,258.1984)"
|
||||||
|
cx="462.09201"
|
||||||
|
cy="248.211"
|
||||||
|
rx="6.9489999"
|
||||||
|
ry="16.975"
|
||||||
|
id="ellipse3264"
|
||||||
|
sodipodi:cx="462.09201"
|
||||||
|
sodipodi:cy="248.211"
|
||||||
|
sodipodi:rx="6.9489999"
|
||||||
|
sodipodi:ry="16.975"
|
||||||
|
style="fill:#960000"
|
||||||
|
d="m 469.04101,248.211 c 0,9.37503 -3.11117,16.975 -6.949,16.975 -3.83783,0 -6.949,-7.59997 -6.949,-16.975 0,-9.37504 3.11117,-16.975 6.949,-16.975 3.83783,0 6.949,7.59996 6.949,16.975 z" /><ellipse
|
||||||
|
transform="matrix(0.8763,0.4818,-0.4818,0.8763,134.6121,-30.1261)"
|
||||||
|
cx="125.962"
|
||||||
|
cy="247.02901"
|
||||||
|
rx="6.9489999"
|
||||||
|
ry="16.975"
|
||||||
|
id="ellipse3266"
|
||||||
|
sodipodi:cx="125.962"
|
||||||
|
sodipodi:cy="247.02901"
|
||||||
|
sodipodi:rx="6.9489999"
|
||||||
|
sodipodi:ry="16.975"
|
||||||
|
style="fill:#960000"
|
||||||
|
d="m 132.911,247.02901 c 0,9.37503 -3.11118,16.975 -6.949,16.975 -3.83783,0 -6.949,-7.59997 -6.949,-16.975 0,-9.37504 3.11117,-16.975 6.949,-16.975 3.83782,0 6.949,7.59996 6.949,16.975 z" /></g><g
|
||||||
|
id="g3268"
|
||||||
|
transform="matrix(0.63926204,0,0,0.63926204,-21.039129,-84.874827)"><path
|
||||||
|
d="M 386.49,250.492 H 349.285 319.791 274.555 249 198.68 c -33.72,0 -33.604,89.606 -1.945,94.771 l 65.466,-4.21 c 7.915,0 23.719,-30.655 26.684,-33.065 2.965,-2.41 12.729,-2.704 16.575,0 3.846,2.704 12.593,29.976 20.507,29.976 l 65.466,7.298 c 30.579,-14.072 22.87,-94.77 -4.943,-94.77 z"
|
||||||
|
id="path3270"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="opacity:0.6;fill:#ffffff" /><path
|
||||||
|
d="m 248.545,269.019 c -20.685,-0.462 -53.05,-0.274 -70.729,-0.13 -2.964,9.719 -6.269,22.024 -4.63,33.972 16.056,0 50.96,0.078 75.782,0.078 14.946,0 27.512,2.82 39.198,5.875 0.288,-0.368 0.53,-0.639 0.719,-0.792 2.965,-2.41 12.729,-2.704 16.575,0 0.995,0.7 2.323,3.058 3.874,6.149 5.967,1.258 11.943,2.127 18.153,2.205 16.915,0.214 56.557,0.146 82.066,0.074 3.249,-10.857 0.853,-22.495 0.125,-33.432 -24.906,0 -64.487,-0.562 -83.463,-0.562 -26.738,-0.001 -50.083,-12.821 -77.67,-13.437 z"
|
||||||
|
id="path3272"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="opacity:0.5;fill:#ffffff" /></g><path
|
||||||
|
d="m 155.89646,123.63135 c -0.52803,-12.35565 23.02878,-13.90011 25.81085,-3.55813 2.77504,10.31833 -24.65122,12.71492 -25.81085,3.55813 -0.92565,-7.31124 0,0 0,0 z"
|
||||||
|
id="path3274"
|
||||||
|
inkscape:connector-curvature="0" /></svg>
|
||||||
|
After Width: | Height: | Size: 18 KiB |
BIN
src/main/resources/static/favicon.ico
Normal file
|
After Width: | Height: | Size: 142 KiB |
4
src/main/resources/static/favicon.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||||
|
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M8 5.00005C7.01165 5.00082 6.49359 5.01338 6.09202 5.21799C5.71569 5.40973 5.40973 5.71569 5.21799 6.09202C5 6.51984 5 7.07989 5 8.2V17.8C5 18.9201 5 19.4802 5.21799 19.908C5.40973 20.2843 5.71569 20.5903 6.09202 20.782C6.51984 21 7.07989 21 8.2 21H15.8C16.9201 21 17.4802 21 17.908 20.782C18.2843 20.5903 18.5903 20.2843 18.782 19.908C19 19.4802 19 18.9201 19 17.8V8.2C19 7.07989 19 6.51984 18.782 6.09202C18.5903 5.71569 18.2843 5.40973 17.908 5.21799C17.5064 5.01338 16.9884 5.00082 16 5.00005M8 5.00005V7H16V5.00005M8 5.00005V4.70711C8 4.25435 8.17986 3.82014 8.5 3.5C8.82014 3.17986 9.25435 3 9.70711 3H14.2929C14.7456 3 15.1799 3.17986 15.5 3.5C15.8201 3.82014 16 4.25435 16 4.70711V5.00005M16 11H14M16 16H14M8 11L9 12L11 10M8 16L9 17L11 15" stroke="#000000" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
34
src/main/resources/templates/index.html
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<!doctype html>
|
||||||
|
<html xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<title>Dashboard</title>
|
||||||
|
<link href="styles.css" rel="stylesheet" />
|
||||||
|
</head>
|
||||||
|
<body
|
||||||
|
class="flex h-screen flex-col items-center gap-20 bg-linear-to-tl from-neutral-950 via-blue-900 to-slate-950 p-20 text-gray-700"
|
||||||
|
>
|
||||||
|
<h1
|
||||||
|
class="bg-linear-to-r from-yellow-500 to-red-500 bg-clip-text text-6xl text-transparent"
|
||||||
|
>
|
||||||
|
Home-Lab Dashboard
|
||||||
|
</h1>
|
||||||
|
<div class="flex flex-wrap gap-10">
|
||||||
|
<a
|
||||||
|
th:each="item : ${items}"
|
||||||
|
th:href="${item.url}"
|
||||||
|
target="_blank"
|
||||||
|
class="flex h-50 w-50 flex-col items-center justify-between rounded-xl bg-gray-50 p-5"
|
||||||
|
>
|
||||||
|
<h2 class="text-xl font-bold" th:text="${item.name}">
|
||||||
|
Placeholder Caption
|
||||||
|
</h2>
|
||||||
|
<img
|
||||||
|
th:src="${item.logoFilename}"
|
||||||
|
th:alt="|Logo für ${item.name}|"
|
||||||
|
class="h-30 w-30"
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -1,13 +1,11 @@
|
|||||||
package de.wundenbergs.projektverwaltung;
|
package de.wundenbergs.dashboard;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.boot.test.context.SpringBootTest;
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
|
||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
class ProjektverwaltungApplicationTests {
|
class ApplicationTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void shouldLoadContext() {
|
void shouldLoadContext() {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||