Merged in feat/sw-2863-move-contentstack-router-to-trpc-package (pull request #2389)
feat(SW-2863): Move contentstack router to trpc package * Add exports to packages and lint rule to prevent relative imports * Add env to trpc package * Add eslint to trpc package * Apply lint rules * Use direct imports from trpc package * Add lint-staged config to trpc * Move lang enum to common * Restructure trpc package folder structure * WIP first step * update internal imports in trpc * Fix most errors in scandic-web Just 100 left... * Move Props type out of trpc * Fix CategorizedFilters types * Move more schemas in hotel router * Fix deps * fix getNonContentstackUrls * Fix import error * Fix entry error handling * Fix generateMetadata metrics * Fix alertType enum * Fix duplicated types * lint:fix * Merge branch 'master' into feat/sw-2863-move-contentstack-router-to-trpc-package * Fix broken imports * Merge branch 'master' into feat/sw-2863-move-contentstack-router-to-trpc-package Approved-by: Linus Flood
This commit is contained in:
42
packages/trpc/lib/previewContext.ts
Normal file
42
packages/trpc/lib/previewContext.ts
Normal file
@@ -0,0 +1,42 @@
|
||||
import { cache } from "react"
|
||||
|
||||
interface PreviewData {
|
||||
hash: string
|
||||
uid: string
|
||||
}
|
||||
|
||||
const getRef = cache((): { current?: PreviewData } => ({
|
||||
current: undefined,
|
||||
}))
|
||||
|
||||
/**
|
||||
* Set the preview hash for the current request
|
||||
*
|
||||
* It works kind of like React's context,
|
||||
* but on the server side, per request.
|
||||
*
|
||||
* @param hash
|
||||
*/
|
||||
export function setPreviewData(data?: PreviewData) {
|
||||
getRef().current = data
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the preview hash set for the current request
|
||||
*/
|
||||
export function getPreviewHash() {
|
||||
return getRef().current?.hash
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the current request is a preview by comparing the uid
|
||||
*/
|
||||
export function isPreviewByUid(uid: string) {
|
||||
const data = getRef().current
|
||||
|
||||
if (data?.hash) {
|
||||
return data.uid === uid
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
Reference in New Issue
Block a user