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

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

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

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

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