From 259f9aee0a335b55940d166001412c1858ecacbd Mon Sep 17 00:00:00 2001 From: William Jeynes Date: Fri, 24 Apr 2026 17:57:53 +0100 Subject: [PATCH] Add cluster titles for time filter --- graphviz/frontend/src/VizTimeFilter.tsx | 4 ++-- graphviz/processing/process_clusters_time.py | 23 ++++++++++---------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/graphviz/frontend/src/VizTimeFilter.tsx b/graphviz/frontend/src/VizTimeFilter.tsx index 134d16a..5889c8b 100644 --- a/graphviz/frontend/src/VizTimeFilter.tsx +++ b/graphviz/frontend/src/VizTimeFilter.tsx @@ -134,7 +134,7 @@ function getConnectedComponents(nodes, links) { export function VizTimeFilter() { const fgRef = useRef(); const [selectedNode, setSelectedNode] = useState(null); - const [inputDate, setInputDate] = useState(Date.now()); + const [inputDate, setInputDate] = useState(1682353753000); const parsedInputDate = useMemo(() => { const d = new Date(inputDate); @@ -242,7 +242,7 @@ export function VizTimeFilter() { nodeCanvasObject={(node, ctx) => { const label = node.label; - const fontSize = 16 + 32 * Math.min(node.members.length, 5); + const fontSize = 32 + 64 * Math.min(node.members.length, 5); ctx.font = `${fontSize}px Sans-Serif`; const textWidth = ctx.measureText(label).width; diff --git a/graphviz/processing/process_clusters_time.py b/graphviz/processing/process_clusters_time.py index c5e240a..debf3a6 100644 --- a/graphviz/processing/process_clusters_time.py +++ b/graphviz/processing/process_clusters_time.py @@ -98,18 +98,17 @@ def generate_title(texts): "\n\nTitle:" ) try: - # response = client.chat.completions.create( - # model=OPENAI_MODEL, - # messages=[ - # {"role": "system", "content": "You are a helpful assistant who creates short, meaningful titles."}, - # {"role": "user", "content": prompt} - # ] - # ) - # title = response.choices[0].message.content.strip() - # if title.lower().startswith("title:"): - # title = title[6:].strip() - # return title - return "UNNAMED" + response = client.chat.completions.create( + model=OPENAI_MODEL, + messages=[ + {"role": "system", "content": "You are a helpful assistant who creates short, meaningful titles."}, + {"role": "user", "content": prompt} + ] + ) + title = response.choices[0].message.content.strip() + if title.lower().startswith("title:"): + title = title[6:].strip() + return title except Exception as e: print("Error generating title:", e) return "Untitled Cluster"