df9e09f635d122d0247e6a60dea6d5f0a4ac21b4
max
  Mon Oct 14 05:17:47 2024 -0700
changes after code review, refs #34582

diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index b000df2..ac94803 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -9471,40 +9471,46 @@
                     boolean newVal = FALSE;
                     safef(option, sizeof(option),"%s_sel", subtrack->track);
                     newVal = sameString(button, ADD_BUTTON_LABEL);
                     cartSetBoolean(cart, option, newVal);
                     }
                 }
             }
         }
     puts("</TABLE>");
     }
 return TRUE;
 }
 
 static bool mouseOverJsDone = FALSE;
 
-void printInfoIcon(char *mouseover)
-/* Print info icon (i) with explanatory text on mouseover */
+void printInfoIconSvg()
+/* Print just info icon (i) as svg tag to stdout */
 {
-// see https://www.svgrepo.com/svg/524660/info-circle
-printf("<span title=\"%s\">", mouseover);
 puts("<svg style='height:1.1em; vertical-align:top' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'>");
 puts("<circle cx='12' cy='12' r='10' stroke='#1C274C' stroke-width='1.5'/>");
 puts("<path d='M12 17V11' stroke='#1C274C' stroke-width='1.5' stroke-linecap='round'/>");
 puts("<circle cx='1' cy='1' r='1' transform='matrix(1 0 0 -1 11 9)' fill='#1C274C'/>");
 puts("</svg>");
+}
+
+void printInfoIcon(char *mouseover)
+/* Print info icon (i) with explanatory text on mouseover */
+{
+// see https://www.svgrepo.com/svg/524660/info-circle
+printf("<span title=\"%s\">", mouseover);
+printInfoIconSvg();
 puts("</span>");
 if (!mouseOverJsDone)
     {
     jsInline("convertTitleTagsToMouseovers();\n");
     mouseOverJsDone = TRUE;
     }
 }
 
 void hCompositeUi(char *db, struct cart *cart, struct trackDb *tdb,
                   char *primarySubtrack, char *fakeSubmit, char *formName)
 // UI for composite tracks: subtrack selection.  If primarySubtrack is
 // non-NULL, don't allow it to be cleared and only offer subtracks
 // that have the same type.  If fakeSubmit is non-NULL, add a hidden
 // var with that name so it looks like it was pressed.
 {