1
0
Эх сурвалжийг харах

For polls, shows a 'Closes in d:h:m:s' string.

default 3 жил өмнө
parent
commit
3047f6220b
1 өөрчлөгдсөн 22 нэмэгдсэн , 6 устгасан
  1. 22 6
      html.c

+ 22 - 6
html.c

@@ -1025,12 +1025,6 @@ xs_str *html_entry(snac *snac, xs_str *os, const xs_dict *msg, int local,
                 }
 
                 c = xs_str_cat(c, "</table>\n");
-
-                /* if it's *really* closed, say it */
-                if (closed == 2) {
-                    xs *s1 = xs_fmt("<p>%s</p>\n", L("Closed"));
-                    c = xs_str_cat(c, s1);
-                }
             }
             else {
                 /* poll still active */
@@ -1061,6 +1055,28 @@ xs_str *html_entry(snac *snac, xs_str *os, const xs_dict *msg, int local,
 
                 c = xs_str_cat(c, s1);
             }
+
+            /* if it's *really* closed, say it */
+            if (closed == 2) {
+                xs *s1 = xs_fmt("<p>%s</p>\n", L("Closed"));
+                c = xs_str_cat(c, s1);
+            }
+            else {
+                /* show when the poll closes */
+                const char *end_time = xs_dict_get(msg, "endTime");
+                if (!xs_is_null(end_time)) {
+                    time_t t0 = time(NULL);
+                    time_t t1 = xs_parse_iso_date(end_time, 0);
+
+                    if (t1 > 0 && t1 > t0) {
+                        time_t diff_time = t1 - t0;
+                        xs *tf = xs_str_time_diff(diff_time);
+
+                        xs *s1 = xs_fmt("<p>%s %s</p>", L("Closes in"), tf);
+                        c = xs_str_cat(c, s1);
+                    }
+                }
+            }
         }
 
         s = xs_str_cat(s, c);