diff --git a/src/main/java/de/jalin/fedipage/FediServlet.java b/src/main/java/de/jalin/fedipage/FediServlet.java index 73e3954..4fab391 100644 --- a/src/main/java/de/jalin/fedipage/FediServlet.java +++ b/src/main/java/de/jalin/fedipage/FediServlet.java @@ -46,6 +46,8 @@ public class FediServlet extends HttpServlet { context.put("profile", loader.loadProfile()); context.put("pinned", loader.loadPinned()); context.put("timeline", loader.loadTimeline()); + context.put("dateformatter", new PostDateFormatter()); + final Template template = velocityEngine.getTemplate("/templates/profil.vm"); response.setContentType("text/html;charset=UTF-8"); try (PrintWriter writer = response.getWriter()) { diff --git a/src/main/java/de/jalin/fedipage/PostDateFormatter.java b/src/main/java/de/jalin/fedipage/PostDateFormatter.java new file mode 100644 index 0000000..a285c27 --- /dev/null +++ b/src/main/java/de/jalin/fedipage/PostDateFormatter.java @@ -0,0 +1,39 @@ +package de.jalin.fedipage; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; + +public class PostDateFormatter { + + final SimpleDateFormat dfTimestamp; + final SimpleDateFormat dfEuropean; + + public PostDateFormatter() { + dfTimestamp = new SimpleDateFormat("yyyy-MM-dd"); + dfEuropean = new SimpleDateFormat("dd.MM.yyyy"); + } + + public String format(final String timestamp) { + if (timestamp == null) { + return "unbekannt"; + } + if (timestamp.length() < 10) { + return timestamp; + } + long now = System.currentTimeMillis(); + if (timestamp.startsWith(dfTimestamp.format(new Date(now)))) { + return "heute"; + } + if (timestamp.startsWith(dfTimestamp.format(new Date(now - (24*60*60*1000L))))) { + return "gestern"; + } + try { + final Date date = dfTimestamp.parse(timestamp.substring(0, 10)); + return dfEuropean.format(date); + } catch (ParseException e) { + } + return timestamp.substring(0, 10); + } + +} diff --git a/src/main/resources/templates/profil.vm b/src/main/resources/templates/profil.vm index 944de9a..9a4d719 100644 --- a/src/main/resources/templates/profil.vm +++ b/src/main/resources/templates/profil.vm @@ -156,6 +156,12 @@ font-size: 13px; } + .post-date a { + color: #9baec8; + font-size: 13px; + text-decoration: none; + } + .post-content { margin-bottom: 10px; } @@ -301,6 +307,7 @@
#foreach( $post in $pinned ) #set ( $image_class = 'single' ) +#set ( $post_date = $dateformatter.format( $post.created_at ) )
📌 Angeheftet
@@ -309,6 +316,7 @@
$post.account.display_name
@$post.account.acct
+
$post.content
#if( $post.media_attachments.length > 0 ) @@ -339,6 +347,7 @@ #set ( $image_class = 'single' )
#if( $post.reblog.account ) +#set ( $post_date = $dateformatter.format( $post.reblog.created_at ) ) #if( $post.reblog.media_attachments.length > 1 ) #set ( $image_class = 'double' ) #end @@ -352,6 +361,7 @@
$post.reblog.account.display_name
@$post.reblog.account.acct
+
$post_date
$post.reblog.content
#if( $post.reblog.media_attachments.length > 0 ) @@ -366,6 +376,7 @@ #end #else +#set ( $post_date = $dateformatter.format( $post.created_at ) ) #if( $post.media_attachments.length > 1 ) #set ( $image_class = 'double' ) #end @@ -378,6 +389,7 @@
$post.account.display_name
@$post.account.acct
+
$post_date
$post.content
#if( $post.media_attachments.length > 0 )