- Updated .env.example to include configuration for OnlyOffice Document Server. - Modified the workspace configuration to remove the drive-suite path. - Adjusted TypeScript environment imports for consistency. - Enhanced Next.js configuration to disable canvas in Webpack. - Updated package.json to include new dependencies for OnlyOffice and PDF.js. - Added global styles for OnlyOffice theme integration in the CSS. - Created new layout and page components for the Drive feature, including public sharing and editing functionalities. - Updated metadata handling across various layouts to reflect the new app structure.
37 lines
850 B
TypeScript
37 lines
850 B
TypeScript
"use client"
|
|
|
|
import { createContext, useContext } from "react"
|
|
|
|
type RegisterCardRef = (path: string, el: HTMLDivElement | null) => void
|
|
|
|
const DriveCardRefContext = createContext<RegisterCardRef | null>(null)
|
|
|
|
export function DriveCardRefProvider({
|
|
registerCardRef,
|
|
children,
|
|
}: {
|
|
registerCardRef: RegisterCardRef
|
|
children: React.ReactNode
|
|
}) {
|
|
return (
|
|
<DriveCardRefContext.Provider value={registerCardRef}>
|
|
{children}
|
|
</DriveCardRefContext.Provider>
|
|
)
|
|
}
|
|
|
|
export function useDriveCardRefRegistrar(): RegisterCardRef | null {
|
|
return useContext(DriveCardRefContext)
|
|
}
|
|
|
|
export function mergeDriveCardRefs(
|
|
path: string,
|
|
explicit: ((el: HTMLDivElement | null) => void) | undefined,
|
|
fromContext: RegisterCardRef | null
|
|
) {
|
|
return (el: HTMLDivElement | null) => {
|
|
explicit?.(el)
|
|
fromContext?.(path, el)
|
|
}
|
|
}
|