import { createSignal, onMount } from "solid-js";

export default function CommentLock() {
  const [currentPath, setCurrentPath] = createSignal("/auth/sign-in");

  const commentsSvg = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"></path></svg>`;

  onMount(() => {
    const path = window.location.pathname;
    const hash = window.location.hash;
    const redirectTo = hash ? `${path}${hash}` : path;
    setCurrentPath(`/auth/sign-in?redirect=${encodeURIComponent(redirectTo)}`);
  });

  return (
    <>
      <div class="max-w-4xl mx-auto mt-12 pt-8 border-t border-gray-200">
        <div class="flex items-center justify-center gap-3 mb-8">
          <span class="comment-icon" innerHTML={commentsSvg} />
          <h3 class="text-2xl font-bold text-gray-900">Комментарии</h3>
          <span class="px-3 py-1 bg-blue-100 text-blue-700 text-sm font-medium rounded-full">
            0
          </span>
        </div>

        <div
          class="bg-linear-to-br from-gray-50 to-gray-100 rounded-2xl p-8 border border-gray-200 text-center"
          style="background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);"
        >
          <div
            class="w-16 h-16 mx-auto mb-5 rounded-full flex items-center justify-center"
            style="background: linear-gradient(135deg, rgba(37, 99, 235, 0.2) 0%, rgba(30, 64, 175, 0.3) 100%);"
          >
            <svg class="w-8 h-8 text-blue-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z"/>
            </svg>
          </div>

          <h4 class="text-lg font-semibold text-gray-900 mb-3">
            Нужна авторизация для комментариев
          </h4>
          <a
            href={currentPath()}
            class="inline-flex items-center justify-center font-semibold transition-all duration-300 rounded-md cursor-pointer px-5 py-2.5 text-base"
            style="background: linear-gradient(to bottom, #2563eb, #1e40af); color: white; box-shadow: 0 2px 4px rgba(37, 99, 235, 0.3);"
          >
            <svg class="w-4 h-4 mr-1.5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
              <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 16l-4-4m0 0l4-4m-4 4h14m-5 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h7a3 3 0 013 3v1"/>
            </svg>
            Войти в аккаунт
          </a>
          <p class="mt-3 text-sm text-gray-600">
            Нет аккаунта?{" "}
            <a
              href={`/auth/sign-up?redirect=${encodeURIComponent(window.location.pathname)}`}
              class="font-medium hover:underline"
              style="color: #2563eb;"
            >
              Зарегистрироваться
            </a>
          </p>
        </div>
      </div>
      <style>{`
        .comment-icon {
          width: 1.75rem;
          height: 1.75rem;
          color: #2563eb;
        }
        .comment-icon svg {
          width: 100%;
          height: 100%;
        }
        @media (max-width: 768px) {
          .max-w-4xl { max-width: 100% !important; }
          .max-w-4xl .text-2xl { font-size: 1.25rem !important; }
          .max-w-4xl .bg-blue-100 { padding: 0.25rem 0.5rem; font-size: 0.7rem; }
          .max-w-4xl .rounded-2xl { padding: 1.5rem 1rem !important; margin-left: 0.5rem; margin-right: 0.5rem; }
          .max-w-4xl .w-16 { width: 2.5rem !important; height: 2.5rem !important; }
          .max-w-4xl .w-8 { width: 1.25rem !important; height: 1.25rem !important; }
          .max-w-4xl .text-lg { font-size: 0.95rem !important; margin-bottom: 0.5rem !important; }
          .max-w-4xl .text-base { font-size: 0.85rem !important; padding: 0.5rem 1rem !important; }
          .max-w-4xl .w-4 { width: 0.875rem !important; height: 0.875rem !important; }
          .max-w-4xl .text-sm { font-size: 0.75rem !important; }
          .max-w-4xl .mt-3 { margin-top: 0.75rem !important; }
          .max-w-4xl .mb-5 { margin-bottom: 1rem !important; }
          .max-w-4xl .mb-8 { margin-bottom: 1.5rem !important; padding-top: 1.5rem !important; }
          .max-w-4xl .pt-8 { padding-top: 2rem !important; }
          .comment-icon { width: 1.25rem !important; height: 1.25rem !important; }
        }
      `}</style>
    </>
  );
}