import { CheckSquare } from "lucide-react";

export const columns: ColumnDefinition[] = [
  {
    key: "id",
    title: "ID",
    type: "text",
    sortable: true,
    searchable: true,
    filterable: true,
    description: "Unique identifier for the notification template",
    priority: 2,
    expandedOnly: true,
  },
  {
    key: "name",
    title: "Name",
    type: "text",
    sortable: true,
    searchable: true,
    filterable: true,
    editable: true,
    usedInCreate: true,
    description: "Template name",
    priority: 1,
  },
  {
    key: "subject",
    title: "Subject",
    type: "text",
    sortable: true,
    searchable: true,
    filterable: true,
    editable: true,
    usedInCreate: true,
    description: "Notification subject",
    priority: 1,
  },
  {
    key: "email",
    title: "Email",
    type: "boolean",
    icon: CheckSquare,
    sortable: true,
    filterable: true,
    editable: true,
    usedInCreate: true,
    description: "Email notification enabled",
    priority: 2,
  },
  {
    key: "sms",
    title: "SMS",
    type: "boolean",
    icon: CheckSquare,
    sortable: true,
    filterable: true,
    editable: true,
    usedInCreate: true,
    description: "SMS notification enabled",
    priority: 2,
  },
  {
    key: "push",
    title: "Push",
    type: "boolean",
    icon: CheckSquare,
    sortable: true,
    filterable: true,
    editable: true,
    usedInCreate: true,
    description: "Push notification enabled",
    priority: 2,
  },
  {
    key: "shortCodes",
    title: "Short Codes",
    type: "text",
    sortable: false,
    searchable: true,
    filterable: true,
    editable: true,
    usedInCreate: true,
    expandedOnly: true,
    description: "Available short codes for the template",
    priority: 3,
  },
  {
    key: "emailBody",
    title: "Email Body",
    type: "textarea",
    editable: true,
    usedInCreate: true,
    filterable: false,
    sortable: false,
    expandedOnly: true,
    description: "Content for email notifications",
    priority: 4,
    render: (value: string) => (
      <div dangerouslySetInnerHTML={{ __html: value }} />
    ),
  },
  {
    key: "smsBody",
    title: "SMS Body",
    type: "textarea",
    editable: true,
    usedInCreate: true,
    filterable: false,
    sortable: false,
    expandedOnly: true,
    description: "Content for SMS notifications",
    priority: 4,
  },
  {
    key: "pushBody",
    title: "Push Body",
    type: "textarea",
    editable: true,
    usedInCreate: true,
    filterable: false,
    sortable: false,
    expandedOnly: true,
    description: "Content for push notifications",
    priority: 4,
  },
];
