Replace use() with useEffect/useState pattern to prevent 'async Client Component' errors in Next.js 16 / React 19. Also strip colons from useId() output which broke mermaid's render().
Co-authored-by: Catalin Pit <catalinpit@gmail.com>