import { Notice } from '@wordpress/components';
import { createInterpolateElement } from '@wordpress/element';
import { __, sprintf } from '@wordpress/i18n';
import { useSelect } from '@wordpress/data';
import { useAIPlugin } from '@/utils';

export default function AIServiceNotice() {
  const aiPlugin = useAIPlugin();

  // @ts-expect-error Type 'never' has no call signatures.
  const AIService = useSelect((select) => select(aiPlugin?.ai?.store)?.getAvailableService(), [aiPlugin]);

  if (AIService === null) {
    return (
      <Notice status="error" isDismissible={false}>
        {createInterpolateElement(
          sprintf(
            __(`No AI service is configured. Please add an API key in the %s plugin settings.`, 'filter-ai'),
            `<a>Filter AI</a>`
          ),
          {
            a: <a href="/wp-admin/admin.php?page=filter_ai#api_keys" />,
          }
        )}
      </Notice>
    );
  }

  return null;
}
