mirror of
https://github.com/supermemoryai/supermemory.git
synced 2026-05-02 05:30:09 +00:00
24 lines
630 B
TypeScript
24 lines
630 B
TypeScript
"use client"
|
|
|
|
import { useQueryState } from "nuqs"
|
|
import { viewParam, type ViewParamValue } from "@/lib/search-params"
|
|
import { analytics } from "@/lib/analytics"
|
|
import { useCallback } from "react"
|
|
|
|
export type ViewMode = ViewParamValue
|
|
|
|
type SetViewMode = (value: ViewMode | null) => Promise<URLSearchParams>
|
|
|
|
export function useViewMode() {
|
|
const [viewMode, _setViewMode] = useQueryState("view", viewParam)
|
|
|
|
const setViewMode = useCallback(
|
|
(mode: ViewMode) => {
|
|
analytics.viewModeChanged(mode)
|
|
;(_setViewMode as SetViewMode)(mode)
|
|
},
|
|
[_setViewMode],
|
|
)
|
|
|
|
return { viewMode, setViewMode, isInitialized: true }
|
|
}
|