<!-- Generated by SpecStory -->

# Issue with photo viewer closing behavior (2025-07-06 11:08Z)

_**User**_

为什么关闭图片浏览器的时候会自动回到网站首页，这里似乎没有相关的逻辑存在

---

_**Assistant**_

我来分析一下你的问题。从你提供的 `usePhotoViewer.ts` 代码中，我确实没有看到任何会导致关闭图片浏览器时自动回到网站首页的逻辑。`closeViewer` 函数只是简单地关闭了查看器并恢复了背景滚动。

让我搜索一下相关的代码，看看是否有其他地方可能导致这个行为： 现在让我搜索一下 `useSyncStateToUrl` 相关的代码，这看起来是关键的地方： 让我读取这个 layout 文件的完整内容： 找到问题了！在 `useSyncStateToUrl` 函数中，有一个 `useEffect` 监听了 `isOpen` 状态的变化。当图片浏览器关闭时（`isOpen` 为 `false`），代码会检查当前路径是否为 `/explory`，如果不是，就会在 500ms 后自动导航到首页 `/`。

具体的问题代码在第 106-116 行：

```tsx
useEffect(() => {
  if (!isRestored) return

  if (!isOpen) {
    const isExploryPath = location.pathname === '/explory'
    if (!isExploryPath) {
      const timer = setTimeout(() => {
        navigate('/')  // 这里会导航到首页
      }, 500)
      return () => clearTimeout(timer)
    }
  } else {
    // ... 其他逻辑
  }
}, [currentIndex, isOpen, location.pathname, navigate])
```

这个逻辑的设计意图是：
1. 当图片浏览器打开时（`isOpen` 为 `true`），根据当前选中的图片更新 URL 路径
2. 当图片浏览器关闭时（`isOpen` 为 `false`），如果当前不在 `/explory` 路径，就延迟 500ms 后自动跳转到首页

所以关闭图片浏览器时自动回到首页的逻辑就在这里。如果你不希望这个行为，可以修改或移除这部分代码。

---

