diff options
| author | 2023-01-03 10:11:20 +0100 | |
|---|---|---|
| committer | 2023-01-03 10:11:20 +0100 | |
| commit | 845df51686c863aaef73f8603cdaf0f9c61079cb (patch) | |
| tree | 86c648bb36c14982ed3b978e1058ce5f0eb856cb | |
| parent | Version 2.17 RELEASED. (diff) | |
| download | snac2-845df51686c863aaef73f8603cdaf0f9c61079cb.tar.gz snac2-845df51686c863aaef73f8603cdaf0f9c61079cb.tar.xz snac2-845df51686c863aaef73f8603cdaf0f9c61079cb.zip | |
Don't generate empty children popups.
| -rw-r--r-- | html.c | 27 |
1 files changed, 17 insertions, 10 deletions
| @@ -764,17 +764,19 @@ d_char *html_entry(snac *snac, d_char *os, char *msg, int local, int level, cons | |||
| 764 | if (left) { | 764 | if (left) { |
| 765 | char *p, *cmd5; | 765 | char *p, *cmd5; |
| 766 | int older_open = 0; | 766 | int older_open = 0; |
| 767 | xs *ss = xs_str_new(NULL); | ||
| 768 | int n_children = 0; | ||
| 767 | 769 | ||
| 768 | s = xs_str_cat(s, "<details open><summary>...</summary><p>\n"); | 770 | ss = xs_str_cat(ss, "<details open><summary>...</summary><p>\n"); |
| 769 | 771 | ||
| 770 | if (level < 4) | 772 | if (level < 4) |
| 771 | s = xs_str_cat(s, "<div class=\"snac-children\">\n"); | 773 | ss = xs_str_cat(ss, "<div class=\"snac-children\">\n"); |
| 772 | else | 774 | else |
| 773 | s = xs_str_cat(s, "<div>\n"); | 775 | ss = xs_str_cat(ss, "<div>\n"); |
| 774 | 776 | ||
| 775 | if (left > 3) { | 777 | if (left > 3) { |
| 776 | xs *s1 = xs_fmt("<details><summary>%s</summary>\n", L("Older...")); | 778 | xs *s1 = xs_fmt("<details><summary>%s</summary>\n", L("Older...")); |
| 777 | s = xs_str_cat(s, s1); | 779 | ss = xs_str_cat(ss, s1); |
| 778 | older_open = 1; | 780 | older_open = 1; |
| 779 | } | 781 | } |
| 780 | 782 | ||
| @@ -784,12 +786,14 @@ d_char *html_entry(snac *snac, d_char *os, char *msg, int local, int level, cons | |||
| 784 | object_get_by_md5(cmd5, &chd, NULL); | 786 | object_get_by_md5(cmd5, &chd, NULL); |
| 785 | 787 | ||
| 786 | if (older_open && left <= 3) { | 788 | if (older_open && left <= 3) { |
| 787 | s = xs_str_cat(s, "</details>\n"); | 789 | ss = xs_str_cat(ss, "</details>\n"); |
| 788 | older_open = 0; | 790 | older_open = 0; |
| 789 | } | 791 | } |
| 790 | 792 | ||
| 791 | if (chd != NULL) | 793 | if (chd != NULL) { |
| 792 | s = html_entry(snac, s, chd, local, level + 1, cmd5); | 794 | ss = html_entry(snac, ss, chd, local, level + 1, cmd5); |
| 795 | n_children++; | ||
| 796 | } | ||
| 793 | else | 797 | else |
| 794 | snac_debug(snac, 2, xs_fmt("cannot read from timeline child %s", cmd5)); | 798 | snac_debug(snac, 2, xs_fmt("cannot read from timeline child %s", cmd5)); |
| 795 | 799 | ||
| @@ -797,10 +801,13 @@ d_char *html_entry(snac *snac, d_char *os, char *msg, int local, int level, cons | |||
| 797 | } | 801 | } |
| 798 | 802 | ||
| 799 | if (older_open) | 803 | if (older_open) |
| 800 | s = xs_str_cat(s, "</details>\n"); | 804 | ss = xs_str_cat(ss, "</details>\n"); |
| 801 | 805 | ||
| 802 | s = xs_str_cat(s, "</div>\n"); | 806 | ss = xs_str_cat(ss, "</div>\n"); |
| 803 | s = xs_str_cat(s, "</details>\n"); | 807 | ss = xs_str_cat(ss, "</details>\n"); |
| 808 | |||
| 809 | if (n_children) | ||
| 810 | s = xs_str_cat(s, ss); | ||
| 804 | } | 811 | } |
| 805 | 812 | ||
| 806 | s = xs_str_cat(s, "</div>\n</div>\n"); | 813 | s = xs_str_cat(s, "</div>\n</div>\n"); |