Part of #19.\n\nPort web-components/components/sh-taglist.ts → src/components/ShTagList.vue.\n\nProps: links: Links, dense: boolean\nEmits: tagFilterAdded(tag), tagFilterRemoved(tag)\n\n- Uses Counter to compute tag frequencies from links.filtered\n- Renders active filter tags (with remove button) and available tags (with count badge)\n- Tag chip clicks emit tagFilterAdded; active tag clicks emit tagFilterRemoved
Part of #19.\n\nPort
web-components/components/sh-taglist.ts→src/components/ShTagList.vue.\n\nProps:links: Links,dense: boolean\nEmits:tagFilterAdded(tag),tagFilterRemoved(tag)\n\n- UsesCounterto compute tag frequencies fromlinks.filtered\n- Renders active filter tags (with remove button) and available tags (with count badge)\n- Tag chip clicks emittagFilterAdded; active tag clicks emittagFilterRemoved