@prmichaelsen/acp-visualizer 0.9.1 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prmichaelsen/acp-visualizer",
3
- "version": "0.9.1",
3
+ "version": "0.9.2",
4
4
  "type": "module",
5
5
  "description": "Browser-based dashboard for visualizing ACP progress.yaml data",
6
6
  "bin": {
@@ -1,7 +1,8 @@
1
1
  import { Link } from '@tanstack/react-router'
2
2
  import { useState, useEffect, useMemo } from 'react'
3
- import { ExternalLink } from 'lucide-react'
3
+ import { Maximize2 } from 'lucide-react'
4
4
  import { useProgressData } from '../contexts/ProgressContext'
5
+ import { useSidePanel } from '../contexts/SidePanelContext'
5
6
  import { DetailHeader } from './DetailHeader'
6
7
  import { ProgressBar } from './ProgressBar'
7
8
  import { StatusDot } from './StatusDot'
@@ -27,6 +28,7 @@ function getGitHubParams(): { owner: string; repo: string } | undefined {
27
28
 
28
29
  export function MilestonePreview({ milestoneId }: MilestonePreviewProps) {
29
30
  const data = useProgressData()
31
+ const { close } = useSidePanel()
30
32
  const [markdown, setMarkdown] = useState<string | null>(null)
31
33
  const [markdownError, setMarkdownError] = useState<string | null>(null)
32
34
  const [markdownFilePath, setMarkdownFilePath] = useState<string | null>(null)
@@ -96,8 +98,9 @@ export function MilestonePreview({ milestoneId }: MilestonePreviewProps) {
96
98
  params={{ milestoneId }}
97
99
  className="p-1.5 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors"
98
100
  title="Open full view"
101
+ onClick={close}
99
102
  >
100
- <ExternalLink className="w-4 h-4 text-gray-600 dark:text-gray-400" />
103
+ <Maximize2 className="w-4 h-4 text-gray-600 dark:text-gray-400" />
101
104
  </Link>
102
105
  </div>
103
106
 
@@ -23,7 +23,7 @@ export function PreviewButton({ type, id, className = '' }: PreviewButtonProps)
23
23
  return (
24
24
  <button
25
25
  onClick={handleClick}
26
- className={`p-1.5 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-800 transition-colors opacity-0 group-hover:opacity-100 ${className}`}
26
+ className={`p-1.5 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-800 transition-colors ${className}`}
27
27
  title={`Preview ${type}`}
28
28
  aria-label={`Preview ${type}`}
29
29
  >
@@ -23,8 +23,8 @@ export function SidePanel() {
23
23
 
24
24
  {/* Panel */}
25
25
  <div
26
- className={`fixed top-0 right-0 h-full w-full max-w-2xl bg-white dark:bg-gray-900 border-l border-gray-200 dark:border-gray-800 shadow-2xl z-50 transition-transform duration-300 overflow-auto translate-x-full ${
27
- isOpen ? '!translate-x-0' : ''
26
+ className={`fixed top-0 right-0 h-full w-full max-w-2xl bg-white dark:bg-gray-900 border-l border-gray-200 dark:border-gray-800 shadow-2xl z-50 overflow-auto transition-transform duration-300 ${
27
+ isOpen ? 'translate-x-0' : 'translate-x-full'
28
28
  }`}
29
29
  >
30
30
  {/* Header */}
@@ -1,7 +1,8 @@
1
1
  import { Link } from '@tanstack/react-router'
2
2
  import { useState, useEffect, useMemo } from 'react'
3
- import { ExternalLink } from 'lucide-react'
3
+ import { Maximize2 } from 'lucide-react'
4
4
  import { useProgressData } from '../contexts/ProgressContext'
5
+ import { useSidePanel } from '../contexts/SidePanelContext'
5
6
  import { DetailHeader } from './DetailHeader'
6
7
  import { PriorityBadge } from './PriorityBadge'
7
8
  import { MarkdownContent, buildLinkMap } from './MarkdownContent'
@@ -25,6 +26,7 @@ function getGitHubParams(): { owner: string; repo: string } | undefined {
25
26
 
26
27
  export function TaskPreview({ taskId }: TaskPreviewProps) {
27
28
  const data = useProgressData()
29
+ const { close } = useSidePanel()
28
30
  const [markdown, setMarkdown] = useState<string | null>(null)
29
31
  const [markdownError, setMarkdownError] = useState<string | null>(null)
30
32
  const [loading, setLoading] = useState(true)
@@ -116,8 +118,9 @@ export function TaskPreview({ taskId }: TaskPreviewProps) {
116
118
  params={{ taskId }}
117
119
  className="p-1.5 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors"
118
120
  title="Open full view"
121
+ onClick={close}
119
122
  >
120
- <ExternalLink className="w-4 h-4 text-gray-600 dark:text-gray-400" />
123
+ <Maximize2 className="w-4 h-4 text-gray-600 dark:text-gray-400" />
121
124
  </Link>
122
125
  </div>
123
126