import React, { useState, useEffect } from 'react';
import { Download, Upload, Gamepad2, Cpu, Search, Plus, Terminal, X, Monitor, HardDrive, Info, Share2, AlertCircle } from 'lucide-react';
// רכיב כרטיס תוכנה/משחק
const SoftwareCard = ({ item, onDownload }) => {
const isGame = item.category === 'game';
return (
{isGame ? : }
v{item.version}
{item.title}
{item.description}
);
};
// רכיב טופס העלאה
const UploadForm = ({ onUpload, onCancel }) => {
const [formData, setFormData] = useState({
title: '',
version: '1.0.0',
description: '',
category: 'app',
downloadUrl: '',
lang: 'he' // ברירת מחדל עברית לפי בקשת המשתמש
});
const handleSubmit = (e) => {
e.preventDefault();
onUpload({
id: Date.now(),
date: new Date().toLocaleDateString('he-IL'),
...formData
});
};
return (
);
};
export default function App() {
const [view, setView] = useState('home'); // home, upload
const [searchTerm, setSearchTerm] = useState('');
// הגדרת כיוון שפה וכותרת אוטומטית בעת טעינת האתר
useEffect(() => {
document.documentElement.dir = 'rtl';
document.documentElement.lang = 'he';
document.title = 'DevHub IL - app.vlad.co.il';
// נסיון לאכוף קידוד אם חסר (למרות שרצוי שהשרת ישלח את זה)
if (!document.querySelector('meta[charset]')) {
const meta = document.createElement('meta');
meta.setAttribute('charset', 'UTF-8');
document.head.prepend(meta);
}
}, []);
const [items, setItems] = useState([
{
id: 1,
title: "AHK Window Manager",
version: "2.1.4",
description: "כלי לניהול חלונות אוטומטי, נכתב ב-AHK v2. תומך בעברית ואנגלית.",
category: "automation",
downloadUrl: "#",
date: "09/02/2026"
},
{
id: 2,
title: "Space Defender",
version: "1.0",
description: "משחק יריות בחלל בסגנון רטרו. פותח ב-Unity.",
category: "game",
downloadUrl: "#",
date: "01/02/2026"
},
{
id: 3,
title: "Text Expander Pro",
version: "3.5b",
description: "הרחבת טקסט מהירה לשיפור הפרודוקטיביות. כולל עדכוני GUI חדשים.",
category: "app",
downloadUrl: "#",
date: "05/02/2026"
}
]);
const handleUpload = (newItem) => {
setItems([newItem, ...items]);
setView('home');
alert('הפריט נוסף בהצלחה למאגר המקומי!');
};
const handleDownload = (item) => {
if (item.downloadUrl === '#') {
alert(`מתחיל הורדה של: ${item.title}\n(זוהי הדגמה, אין קובץ אמיתי בשרת כרגע)`);
} else {
window.open(item.downloadUrl, '_blank');
}
};
const filteredItems = items.filter(item =>
item.title.toLowerCase().includes(searchTerm.toLowerCase()) ||
item.description.toLowerCase().includes(searchTerm.toLowerCase())
);
return (
{/* Header */}
{/* Main Content */}
{view === 'home' && (
<>
העדכונים האחרונים
{filteredItems.length} פריטים
{filteredItems.length === 0 ? (
לא נמצאו תוצאות
נסה לחפש מונח אחר או להעלות פריט חדש.
) : (
{filteredItems.map(item => (
))}
)}
>
)}
{view === 'upload' && (
setView('home')} />
)}
{/* Footer */}
);
}