/**
 * File: VideoActions.tsx
 * Created by: AI Assistant
 * Date: 2025-12-05
 * Purpose: Video action buttons component for kreatiVortex platform
 * Part of: kreatiVortex - Platform Pembelajaran Tari Online
 */

'use client';

import { Link } from '@/i18n/routing';
import { useTranslations } from 'next-intl';
import { Eye, Edit, Trash2 } from 'lucide-react';
import { canEditVideo, canDeleteVideo } from '@/lib/admin';

interface VideoActionsProps {
  video: {
    id: string;
    uploaderId: string;
  };
  userProfile: any;
  onDelete: (videoId: string) => void;
  variant?: 'card' | 'list';
}

function VideoActions({ 
  video, 
  userProfile, 
  onDelete, 
  variant = 'card' 
}: VideoActionsProps) {
  const t = useTranslations('Videos');

  const canEdit = canEditVideo(userProfile, video.uploaderId);
  const canDelete = canDeleteVideo(userProfile, video.uploaderId);

  const buttonClass = variant === 'card' 
    ? "inline-flex items-center px-2 sm:px-3 py-1.5 sm:py-2 rounded-lg text-xs sm:text-sm font-medium transition-colors"
    : "inline-flex items-center px-2 py-1 rounded text-xs font-medium transition-colors";

  const viewButtonClass = `${buttonClass} bg-gold-500 hover:bg-gold-600 text-navy-900`;
  const editButtonClass = `${buttonClass} bg-blue-500 hover:bg-blue-600 text-white`;
  const deleteButtonClass = `${buttonClass} bg-red-500 hover:bg-red-600 text-white`;

  return (
    <div className="flex space-x-2">
      <Link 
        href={`/dashboard/videos/${video.id}`} 
        className={viewButtonClass}
      >
        <Eye className="w-4 h-4 mr-2" />
        {t('actionView')}
      </Link>
      
      {canEdit && (
        <Link 
          href={`/dashboard/videos/${video.id}/edit`} 
          className={editButtonClass}
        >
          <Edit className="w-4 h-4 mr-2" />
          {t('actionEdit')}
        </Link>
      )}

      {canDelete && (
        <button
          onClick={() => onDelete(video.id)}
          className={deleteButtonClass}
          title={t('actionDelete')}
        >
          <Trash2 className="w-4 h-4 mr-2" />
          {t('actionDelete')}
        </button>
      )}
    </div>
  );
}

export default VideoActions;