ultisuite-client/components/drive/drive-card-ref-context.tsx
R3D347HR4Y 6ec95262af Add OnlyOffice integration and update project configurations
- 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.
2026-06-07 15:49:21 +02:00

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)
}
}