diff --git a/src/main/java/de/srsoftware/widerhall/web/TemplateServlet.java b/src/main/java/de/srsoftware/widerhall/web/TemplateServlet.java index 69b8487..34faa19 100644 --- a/src/main/java/de/srsoftware/widerhall/web/TemplateServlet.java +++ b/src/main/java/de/srsoftware/widerhall/web/TemplateServlet.java @@ -29,8 +29,10 @@ public abstract class TemplateServlet extends HttpServlet { var file = new File(path); if (!file.exists()) return t("Datei {} existiert nicht!",filename); try { - var content = Files.readString(file.toPath()); - resp.getWriter().println(content); + var content = Files.readAllBytes(file.toPath()); + var out = resp.getOutputStream(); + out.write(content); + out.flush(); } catch (IOException e) { return t("Ladend der Datei '{}' fehlgeschlagen!",filename); } diff --git a/src/main/java/de/srsoftware/widerhall/web/Web.java b/src/main/java/de/srsoftware/widerhall/web/Web.java index 575203d..5891d60 100644 --- a/src/main/java/de/srsoftware/widerhall/web/Web.java +++ b/src/main/java/de/srsoftware/widerhall/web/Web.java @@ -306,7 +306,12 @@ public class Web extends TemplateServlet { case "jquery": resp.setContentType("text/javascript"); return loadFile("jquery-3.6.0.min.js",resp); - case UNSUBSCRIBE: + case "OpenSans-Regular.woff": + resp.setContentType("font/woff"); + return loadFile("OpenSans-Regular.woff",resp); + case "Bhineka.ttf": + resp.setContentType("font/ttf"); + return loadFile("Bhineka.ttf",resp); case UNSUBSCRIBE: data.put(LIST,list.email()); return loadTemplate(path,data,resp); diff --git a/static/Bhineka.ttf b/static/Bhineka.ttf new file mode 100644 index 0000000..ce6b709 Binary files /dev/null and b/static/Bhineka.ttf differ diff --git a/static/OpenSans-Regular.woff b/static/OpenSans-Regular.woff new file mode 100644 index 0000000..a7f9ed2 Binary files /dev/null and b/static/OpenSans-Regular.woff differ diff --git a/static/templates/css.st b/static/templates/css.st index 78efa2b..bbaca5b 100644 --- a/static/templates/css.st +++ b/static/templates/css.st @@ -1,3 +1,16 @@ +@font-face{ + font-family: "osans"; + src: url("OpenSans-Regular.woff") format("woff"); +} + +@font-face{ + font-family: "lofty"; + src: url("Bhineka.ttf") format("truetype"); +} + +body { + font-family: osans; +} label { display: block; margin: 5px 0; @@ -13,6 +26,35 @@ form#list_data, h1 { text-align: center; + font-family: lofty; + font-size: 64px; +} + +fieldset{ + border-radius: 15px; + background: #eefffc; + border-color: #6c57ff; + border-width: 1px; + border-style: solid; +} + +fieldset fieldset { + background: white; +} +legend { + font-family: lofty; + font-size: 24px; + border-radius: 5px; + padding: 0px 5px; + background: #eefffc; + border-color: #6c57ff; + border-width: 1px; + border-style: solid; + margin: 10px 0; +} + +fieldset fieldset>legend { + background: white; } .error{ @@ -42,4 +84,29 @@ h1 { right: 0; text-align: right; margin: 5px; +} + +tr:nth-child(2n), +tr>*:nth-child(2n){ + background: rgba(0,0,0,0.1); +} + +a, +button { + padding: 5px; + border-radius: 5px; + border-color: #2621ca; + border-width: 1px; + border-collapse: collapse; + border-style: solid; + font-size: 14px; + text-decoration: none; + margin: 10px 2px; + background: #83f9ff; + color: #1b00d7; +} + +table{ + margin: 0 0 10px; + min-width: 100%; } \ No newline at end of file