Check-in by ben on 2024-08-05 16:28:51

Truncate long items in user lists.

 INSERTED    DELETED
        3          2 src/list/index.dcgi.m4
        8          5 src/lists/index.dcgi.m4
       11          7 TOTAL over 2 changed files

Index: src/list/index.dcgi.m4
==================================================================
--- src/list/index.dcgi.m4
+++ src/list/index.dcgi.m4
@@ -9,11 +9,11 @@
incl(src/api.awk)
incl(src/cgi.awk)
incl(src/util.awk)

function main(     acct, cmd, count, iaout, id, is_private, item_id,
-    list_id, name, parts, url)
+    label, list_id, name, parts, url)
{
    count = split(search, parts, "/")
    acct = parts[1]
    list_id = parts[2]

@@ -44,11 +44,12 @@
                is_private = 1
            }
        } else if ($1 == ".value.members[].identifier" && $2 == "s") {
            if (!is_private) {
                item_id = $3
-                printf "[1|%s|%s/details/%s|%s|%s]\n", item_id,
+                label = shorten_left(item_id, 60)
+                printf "[1|%s|%s/details/%s|%s|%s]\n", label,
                    cgipath, item_id, server, port
            }
        }
    }
    close(cmd)

Index: src/lists/index.dcgi.m4
==================================================================
--- src/lists/index.dcgi.m4
+++ src/lists/index.dcgi.m4
@@ -8,11 +8,12 @@
include(config.awk)
incl(src/api.awk)
incl(src/cgi.awk)
incl(src/util.awk)

-function main(     cmd, iaout, id, is_private, item_count, item_id, name, url)
+function main(     cmd, iaout, id, is_private, item_count, item_id, \
+    label, name, url)
{
    print search "'s Lists"
    print ""

    iaout = gettemp()
@@ -31,12 +32,13 @@

    while ((cmd | getline) > 0) {
        if ($1 == ".value[]" && $2 == "o") {
            # print information for previous list
            if (!is_private && length(name) > 0 && item_count > 0) {
-                printf "[1|%4d Items: %-40s|%s/list/%%09%s/%d|%s|%s]\n",
-                    item_count, name, cgipath, search, id, server, port
+                label = shorten_left(name, 50)
+                printf "[1|%4d Items: %-50s|%s/list/%%09%s/%d|%s|%s]\n",
+                    item_count, label, cgipath, search, id, server, port
            }
        } else if ($1 == ".value[].list_name" && $2 == "s") {
            name = $3
            id = 0
            is_private = 0
@@ -53,12 +55,13 @@
    }
    close(cmd)

    # print information for previous list
    if (!is_private && length(name) > 0 && item_count > 0) {
-        printf "[1|%4d Items: %-40s|%s/list/%%09%s/%d|%s|%s]\n",
-            item_count, name, cgipath, search, id, server, port
+        label = shorten_left(name, 50)
+        printf "[1|%4d Items: %-50s|%s/list/%%09%s/%d|%s|%s]\n",
+            item_count, label, cgipath, search, id, server, port
    }

    print ""
    printf "[1|PHAROS|%s|%s|%s]\n", cgipath, server, port