feat: implement dashboard
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
{
|
||||
"plugins": ["prettier-plugin-tailwindcss"]
|
||||
"plugins": ["prettier-plugin-tailwindcss"],
|
||||
"overrides": [
|
||||
{
|
||||
"files": "*.svg",
|
||||
"options": { "parser": "html" }
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,18 +1,28 @@
|
||||
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"));
|
||||
|
||||
@GetMapping("/")
|
||||
|
||||
public String home(Model model) {
|
||||
model.addAttribute("items", items);
|
||||
return "index";
|
||||
}
|
||||
|
||||
@GetMapping("/projekt")
|
||||
public String projekt(Model model) {
|
||||
return "projekt";
|
||||
}
|
||||
}
|
||||
|
||||
45
src/main/resources/static/assets/gitea.svg
Normal file
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
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
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
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
BIN
src/main/resources/static/assets/pihole.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
53
src/main/resources/static/assets/spend-sparrow.svg
Normal file
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 |
@@ -2,112 +2,32 @@
|
||||
<html xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Projektverwaltung</title>
|
||||
<title>Dashboard</title>
|
||||
<link href="styles.css" rel="stylesheet" />
|
||||
</head>
|
||||
<body class="p-20 text-gray-700">
|
||||
<h1 class="text-2xl">Projektverwaltung</h1>
|
||||
<h2 class="text-4xl">Laufende Projekte</h2>
|
||||
<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
|
||||
href="/projekt"
|
||||
class="flex max-w-64 cursor-pointer flex-col gap-2 rounded-2xl bg-blue-100 p-5 transition-all select-none hover:bg-blue-200 active:bg-blue-300"
|
||||
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"
|
||||
>
|
||||
<h3 class="text-lg">GoLive ERP</h3>
|
||||
<p class="text-gray-500">
|
||||
Wir möchten unsere aktuellen Insellösungen durch ein ERP ablösen, das
|
||||
alles Komponenten der Wertschöpfungskette bündelt
|
||||
</p>
|
||||
</a>
|
||||
<a
|
||||
class="flex max-w-64 cursor-pointer flex-col gap-2 rounded-2xl bg-blue-100 p-5 transition-all select-none hover:bg-blue-200 active:bg-blue-300"
|
||||
href="/projekt"
|
||||
>
|
||||
<h3 class="text-lg">GoLive ERP</h3>
|
||||
<p class="text-gray-500">
|
||||
Wir möchten unsere aktuellen Insellösungen durch ein ERP ablösen, das
|
||||
alles Komponenten der Wertschöpfungskette bündelt
|
||||
</p>
|
||||
</a>
|
||||
<a
|
||||
href="/projekt"
|
||||
class="flex max-w-64 cursor-pointer flex-col gap-2 rounded-2xl bg-blue-100 p-5 transition-all select-none hover:bg-blue-200 active:bg-blue-300"
|
||||
>
|
||||
<h3 class="text-lg">GoLive ERP</h3>
|
||||
<p class="text-gray-500">
|
||||
Wir möchten unsere aktuellen Insellösungen durch ein ERP ablösen, das
|
||||
alles Komponenten der Wertschöpfungskette bündelt
|
||||
</p>
|
||||
</a>
|
||||
<a
|
||||
href="/projekt"
|
||||
class="flex max-w-64 cursor-pointer flex-col gap-2 rounded-2xl bg-blue-100 p-5 transition-all select-none hover:bg-blue-200 active:bg-blue-300"
|
||||
>
|
||||
<h3 class="text-lg">GoLive ERP</h3>
|
||||
<p class="text-gray-500">
|
||||
Wir möchten unsere aktuellen Insellösungen durch ein ERP ablösen, das
|
||||
alles Komponenten der Wertschöpfungskette bündelt
|
||||
</p>
|
||||
</a>
|
||||
<a
|
||||
href="/projekt"
|
||||
class="flex max-w-64 cursor-pointer flex-col gap-2 rounded-2xl bg-blue-100 p-5 transition-all select-none hover:bg-blue-200 active:bg-blue-300"
|
||||
>
|
||||
<h3 class="text-lg">GoLive ERP</h3>
|
||||
<p class="text-gray-500">
|
||||
Wir möchten unsere aktuellen Insellösungen durch ein ERP ablösen, das
|
||||
alles Komponenten der Wertschöpfungskette bündelt
|
||||
</p>
|
||||
</a>
|
||||
<a
|
||||
href="/projekt"
|
||||
class="flex max-w-64 cursor-pointer flex-col gap-2 rounded-2xl bg-blue-100 p-5 transition-all select-none hover:bg-blue-200 active:bg-blue-300"
|
||||
>
|
||||
<h3 class="text-lg">GoLive ERP</h3>
|
||||
<p class="text-gray-500">
|
||||
Wir möchten unsere aktuellen Insellösungen durch ein ERP ablösen, das
|
||||
alles Komponenten der Wertschöpfungskette bündelt
|
||||
</p>
|
||||
</a>
|
||||
<a
|
||||
href="/projekt"
|
||||
class="flex max-w-64 cursor-pointer flex-col gap-2 rounded-2xl bg-blue-100 p-5 transition-all select-none hover:bg-blue-200 active:bg-blue-300"
|
||||
>
|
||||
<h3 class="text-lg">GoLive ERP</h3>
|
||||
<p class="text-gray-500">
|
||||
Wir möchten unsere aktuellen Insellösungen durch ein ERP ablösen, das
|
||||
alles Komponenten der Wertschöpfungskette bündelt
|
||||
</p>
|
||||
</a>
|
||||
<a
|
||||
href="/projekt"
|
||||
class="flex max-w-64 cursor-pointer flex-col gap-2 rounded-2xl bg-blue-100 p-5 transition-all select-none hover:bg-blue-200 active:bg-blue-300"
|
||||
>
|
||||
<h3 class="text-lg">GoLive ERP</h3>
|
||||
<p class="text-gray-500">
|
||||
Wir möchten unsere aktuellen Insellösungen durch ein ERP ablösen, das
|
||||
alles Komponenten der Wertschöpfungskette bündelt
|
||||
</p>
|
||||
</a>
|
||||
<a
|
||||
href="/projekt"
|
||||
class="flex max-w-64 cursor-pointer flex-col gap-2 rounded-2xl bg-blue-100 p-5 transition-all select-none hover:bg-blue-200 active:bg-blue-300"
|
||||
>
|
||||
<h3 class="text-lg">GoLive ERP</h3>
|
||||
<p class="text-gray-500">
|
||||
Wir möchten unsere aktuellen Insellösungen durch ein ERP ablösen, das
|
||||
alles Komponenten der Wertschöpfungskette bündelt
|
||||
</p>
|
||||
</a>
|
||||
<a
|
||||
href="/projekt"
|
||||
class="flex max-w-64 cursor-pointer flex-col gap-2 rounded-2xl bg-blue-100 p-5 transition-all select-none hover:bg-blue-200 active:bg-blue-300"
|
||||
>
|
||||
<h3 class="text-lg">GoLive ERP</h3>
|
||||
<p class="text-gray-500">
|
||||
Wir möchten unsere aktuellen Insellösungen durch ein ERP ablösen, das
|
||||
alles Komponenten der Wertschöpfungskette bündelt
|
||||
</p>
|
||||
<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>
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
<!doctype html>
|
||||
<html xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Projektverwaltung</title>
|
||||
<link href="styles.css" rel="stylesheet" />
|
||||
</head>
|
||||
<body class="p-20 text-gray-700">
|
||||
<main class="">
|
||||
<h2 class="text-4xl">ERP Next</h2>
|
||||
<div class="flex flex-col gap-2">
|
||||
<p class="rounded-sm border border-gray-400 p-2">Anforderungsanalyse</p>
|
||||
<p class="ml-6 rounded-sm border border-gray-400 p-2">Test 1</p>
|
||||
<p class="ml-10 rounded-sm border border-gray-400 p-2">Test 1.1</p>
|
||||
<p class="ml-6 rounded-sm border border-gray-400 p-2">Test 2</p>
|
||||
<p class="ml-6 rounded-sm border border-gray-400 p-2">Test 3</p>
|
||||
<p class="rounded-sm border border-gray-400 p-2">Evaluation</p>
|
||||
<p class="rounded-sm border border-gray-400 p-2">Vertragsgespräche</p>
|
||||
<p class="rounded-sm border border-gray-400 p-2">LiveGang</p>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user