session-layout.ts 588 B

1234567891011121314151617181920
  1. import { useParams } from "@solidjs/router"
  2. import { createMemo } from "solid-js"
  3. import { useLayout } from "@/context/layout"
  4. export const useSessionKey = () => {
  5. const params = useParams()
  6. const sessionKey = createMemo(() => `${params.dir}${params.id ? "/" + params.id : ""}`)
  7. return { params, sessionKey }
  8. }
  9. export const useSessionLayout = () => {
  10. const layout = useLayout()
  11. const { params, sessionKey } = useSessionKey()
  12. return {
  13. params,
  14. sessionKey,
  15. tabs: createMemo(() => layout.tabs(sessionKey)),
  16. view: createMemo(() => layout.view(sessionKey)),
  17. }
  18. }