All files / lib/awareness/collective/components PolicyGuard.tsx

0% Statements 0/21
0% Branches 0/1
0% Functions 0/1
0% Lines 0/21

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29                                                         
import React from 'react';
import { useResponsivePolicy } from '../hooks/useResponsivePolicy';
 
export const PolicyGuard: React.FC<React.PropsWithChildren<{ className?: string }>> = ({ children, className }) => {
  const { policy } = useResponsivePolicy();
 
  const densityClass =
    policy.ui.density === 'compact'
      ? 'density-compact'
      : policy.ui.density === 'expanded'
      ? 'density-expanded'
      : 'density-default';
 
  const layoutClass =
    policy.ui.layout === 'single-column'
      ? 'layout-single'
      : policy.ui.layout === 'two-column'
      ? 'layout-two'
      : 'layout-grid';
 
  const perfClass = policy.behavior.perfMode ? 'perf-on' : 'perf-off';
 
  return (
    <div className={`${densityClass} ${layoutClass} ${perfClass} ${className || ''}`.trim()}>
      {children}
    </div>
  );
};