import { component$ } from '@builder.io/qwik';

import { DataCell } from '../data-cell/data-cell';
import type { DataCellProps } from '../data-cell/types';
import type { WeekLabelProps, WeekLabelPropsRenderInit } from './types';

export const WeekLabel = component$<WeekLabelProps>(
  ({ render$, weekLabel, ...props }) => {
    const { label, value } = weekLabel;
    const baseProps: DataCellProps = {
      ...props,
      as: 'th',
      init: {
        col: weekLabel,
        defaultProps: {
          'aria-label': label,
          class: 'week-label',
          key: value,
          title: label,
        },
      },
    };

    if (render$) {
      return (
        <DataCell
          {...baseProps}
          render$={(init2) => {
            return render$(init2 as unknown as WeekLabelPropsRenderInit);
          }}
        />
      );
    }

    return <DataCell {...baseProps} />;
  }
);
