f.item_state_mode,
f.internal_browser,
f.add_url_param,
+ f.last_update,
c.unread_count
from groups g
left join feeds f on g.group_id = f.group_id
val internalBrowser = rs.getBoolean("internal_browser")
val addUrlParam = rs.getString("add_url_param")
val itemStateMode = rs.getInt("item_state_mode")
+ val lastUpdate = rs.getTimestamp("last_update")?.toInstant()
val unreadCount = rs.getInt("unread_count")
if(currentGroup == null || currentGroup.id != groupId) {
feed.internalBrowser = internalBrowser
feed.unreadItemsCount = unreadCount
feed.addUrlParam = addUrlParam
+ feed.lastUpdate = lastUpdate
currentGroup.feeds.add(feed)
}
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.launch
+import java.time.ZoneId
+import java.time.format.DateTimeFormatter
+
+
class FeedList(window: MainWindow) : Document() {
val window = window
val starred = integer("starred")
val browser = integer("browser")
+ val feed_info = string("feed_info")
+ val item_info = string("item_info")
+
// 1: use feed settings
// 2: load item description
// 3: load item link in internal browser
currentFeed = feed
+ feed.lastUpdate?.let {
+ val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
+ .withZone(ZoneId.systemDefault())
+ feed_info.setString("Last update: ${formatter.format(it)}");
+ } ?: {
+ feed_info.setString("");
+ }
+
// Update item list
items.clear()
feed.items.forEach { item ->