'use client';

import { useEffect } from 'react';
import { useRouter } from 'next/navigation';

export default function TwitterAuthCallbackPage() {
  const router = useRouter();

  useEffect(() => {
    // 解析回调参数
    const searchParams = new URLSearchParams(window.location.search);
    const state = searchParams.get('state');
    const code = searchParams.get('code');

    // 将回调参数写入 localStorage，供原窗口读取
    if (state && code) {
      try {
        const payload = {
          state,
          code,
          timestamp: Date.now(),
        };
        localStorage.setItem('twitterAuthCallbackPayload', JSON.stringify(payload));
        // 通过变化一个随机标记键，确保触发其它窗口的 storage 事件
        localStorage.setItem('twitterAuthCallbackFlag', Math.random().toString(36).slice(2));
      } catch {
        // 忽略本地存储异常
      }

      // 通过 postMessage 通知打开者（如果存在且同源策略允许）
      try {
        if (window.opener) {
          window.opener.postMessage({ type: 'TWITTER_AUTH_CALLBACK', state, code }, window.location.origin);
        }
      } catch {
       
      }
    }

    // 跳回应用页面（原窗口会通过 storage 事件弹出处理弹框）
    router.push('/movies?twitterCallback=true'); 
  }, [router]);

  return (
    <div className="flex items-center justify-center min-h-screen bg-gray-900 text-white">
      <p>处理 Twitter 授权回调...</p>
    </div>
  );
}
