Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions src/main/java/io/blert/BlertPluginPanel.java
Original file line number Diff line number Diff line change
Expand Up @@ -906,14 +906,15 @@ private JLabel createHeader(String name) {

private String formatTimeAgo(Instant time) {
long seconds = Duration.between(time, Instant.now()).getSeconds();
if (seconds < 60) return "Just now";
if (seconds < 60) return "now";
long minutes = seconds / 60;
if (minutes < 60) return minutes + "m ago";
if (minutes < 60) return minutes + "m";
long hours = minutes / 60;
if (hours < 24) return hours + "h ago";
if (hours < 24) return hours + "h";
long days = hours / 24;
if (days < 30) return days + "d ago";
return (days / 365) + "y ago";
if (days < 30) return days + "d";
if (days < 365) return Math.min(days / 30, 11) + "mo";
return (days / 365) + "y";
Comment thread
frolv marked this conversation as resolved.
}

/**
Expand Down
39 changes: 18 additions & 21 deletions src/main/java/io/blert/ui/FeedItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,44 +51,41 @@ public void mouseExited(MouseEvent e) {
}

private static JPanel getTitlePanel(String title, String mode, int ticks, @Nullable String timestamp) {
JPanel header = new JPanel(new BorderLayout());
JPanel header = new JPanel();
header.setLayout(new BoxLayout(header, BoxLayout.X_AXIS));
header.setOpaque(false);

JPanel leftHead = new JPanel(new FlowLayout(FlowLayout.LEFT, 0, 0));
leftHead.setOpaque(false);

JLabel titleLabel = new JLabel(title);
titleLabel.setFont(FONT_BOLD.deriveFont(11f));
titleLabel.setForeground(TEXT_MAIN);
leftHead.add(titleLabel);
titleLabel.setMinimumSize(new Dimension(0, titleLabel.getPreferredSize().height));
header.add(titleLabel);

if (!mode.isEmpty()) {
JLabel modeLabel = new JLabel(" • " + mode);
modeLabel.setFont(FONT_SMALLEST);
modeLabel.setForeground(TEXT_MUTED);
leftHead.add(modeLabel);
header.add(mutedLabel(" • " + mode));
}

if (ticks > 0) {
JLabel ticksLabel = new JLabel(" • " + Tick.asTimeString(ticks));
ticksLabel.setFont(FONT_SMALLEST);
ticksLabel.setForeground(TEXT_MUTED);
leftHead.add(ticksLabel);
header.add(mutedLabel(" • " + Tick.asTimeString(ticks)));
}

header.add(leftHead, BorderLayout.WEST);

if (Strings.isNullOrEmpty(timestamp)) {
return header;
if (!Strings.isNullOrEmpty(timestamp)) {
header.add(Box.createHorizontalGlue());
JLabel timeLabel = mutedLabel(timestamp);
timeLabel.setBorder(new EmptyBorder(0, 6, 0, 0));
header.add(timeLabel);
}

JLabel timeLabel = new JLabel(timestamp);
timeLabel.setFont(FONT_SMALLEST);
timeLabel.setForeground(TEXT_MUTED);
header.add(timeLabel, BorderLayout.EAST);
return header;
}

private static JLabel mutedLabel(String text) {
JLabel label = new JLabel(text);
label.setFont(FONT_SMALLEST);
label.setForeground(TEXT_MUTED);
return label;
}

void setCardHovered(boolean hovered) {
this.isHovered = hovered;
repaint();
Expand Down
Loading