관리자 일정 목록에 외부 링크 버튼 추가

- URL이 있는 일정에 파란색 외부 링크 버튼 표시
- 수정/삭제 버튼 앞에 배치
This commit is contained in:
caadiq 2026-01-06 11:14:18 +09:00
parent b6b212821e
commit 89cd2d7965

View file

@ -3,8 +3,9 @@ import { useNavigate, Link } from 'react-router-dom';
import { motion, AnimatePresence } from 'framer-motion'; import { motion, AnimatePresence } from 'framer-motion';
import { import {
LogOut, Home, ChevronRight, Calendar, Plus, Edit2, Trash2, LogOut, Home, ChevronRight, Calendar, Plus, Edit2, Trash2,
ChevronLeft, Search, ChevronDown, AlertTriangle, Bot, Tag, ArrowLeft ChevronLeft, Search, ChevronDown, AlertTriangle, Bot, Tag, ArrowLeft, ExternalLink
} from 'lucide-react'; } from 'lucide-react';
import Toast from '../../../components/Toast'; import Toast from '../../../components/Toast';
import Tooltip from '../../../components/Tooltip'; import Tooltip from '../../../components/Tooltip';
@ -1040,6 +1041,17 @@ function AdminSchedule() {
{/* 액션 버튼 */} {/* 액션 버튼 */}
<div className="flex items-center gap-2 opacity-0 group-hover:opacity-100 transition-opacity"> <div className="flex items-center gap-2 opacity-0 group-hover:opacity-100 transition-opacity">
{schedule.source_url && (
<a
href={schedule.source_url}
target="_blank"
rel="noopener noreferrer"
onClick={(e) => e.stopPropagation()}
className="p-2 hover:bg-blue-100 rounded-lg transition-colors text-blue-500"
>
<ExternalLink size={18} />
</a>
)}
<button <button
onClick={() => navigate(`/admin/schedule/${schedule.id}/edit`)} onClick={() => navigate(`/admin/schedule/${schedule.id}/edit`)}
className="p-2 hover:bg-gray-200 rounded-lg transition-colors text-gray-500" className="p-2 hover:bg-gray-200 rounded-lg transition-colors text-gray-500"
@ -1053,6 +1065,7 @@ function AdminSchedule() {
<Trash2 size={18} /> <Trash2 size={18} />
</button> </button>
</div> </div>
</div> </div>
</motion.div> </motion.div>
))} ))}