בדיקה מלאה של הקוד.
אטלס חולין v0.3.2 — סקירה טכנית
התוסף מבנה טוב, קוד נקי, ללא קריאות חיצוניות — בסיס מוצק. להלן הממצאים לפי חומרה:
בעיות קריטיות
1. img-wrap עם background: #ffffff קשיח
.img-wrap { background: #ffffff; … }
בנושא כהה — תיבה לבנה קשיחה סביב כל תמונה. צריך:
background: var(--background-color, #ffffff);
2. אין טעינת ערכת צבעים ראשונית
applyTheme מוגדר רק על theme.changed, אבל אם המשתמש פותח את התוסף כשהוא כבר במצב כהה — הצבעים הם של המצב הבהיר עד האירוע הבא. צריך לבקש ערכת נושא בהפעלה:
try {
if (window.Otzaria?.call) {
const theme = await Otzaria.call('theme.get', {});
applyTheme(theme?.data ?? theme);
}
} catch(e) {}
(אם ה-API קיים — צריך לבדוק תיעוד.)
בעיות חשובות
3. applyTheme מכסה רק 3 משתנים
מוגדרים במניפסט: --background-color, --text-color, --border-color — אבל ב-CSS נמצאים גם:
--input-background, --button-background, --button-hover-background, --card-background, --secondary-text-color
בשינוי ערכת נושא חי הכפתורים/inputs לא יתעדכנו.
4. כיוון כפתורי ניווט מבלבל
הכפתור ▶ = "הקודם" והכפתור ◀ = "הבא" — מנוגד לאינטואיציה הסטנדרטית. כיוון ה-RTL מוסבר בהערה בקוד אבל לא למשתמש. עדיף: → / ← עם תוויות טקסט, או הקודם › / ‹ הבא.
שיפורים מומלצים
5. חיפוש — נרמול עברי חסר
includes() לא מזהה: מזּ vs מז, ktiv male/chaser, חיפוש בספרות בינלאומיות (47 vs מז). מינימום — לנרמל ניקוד:
function norm(s){ return s.replace(/[\u0591-\u05C7]/g, ''); }
6. אין מצב טעינה לתמונות
תמונות עלולות להיות כבדות — אין spinner ואין loading="lazy". בתוסף FlutterWebView זה יכול להיות מורגש.
7. API storage — פענוח גמיש מדי
const saved = res && (res.data !== undefined ? res.data : (res.value !== undefined ? res.value : res));
שלוש מסלולים שונים — ניכר שה-API לא תועד ברור. כדאי לאמת מול התיעוד הרשמי ולפשט.
8. תוכן — איברים חסרים
לגרסה עתידית: שדרה, צלעות, מוח, רחם (לדיני טריפות בגידים). גם חסר ציר-דף מפורט יותר (כרגע בכותרת ה-select הכל צפוף).
פרטים קטנים
kaneh_bronchi.jpg יחיד בפורמט JPG בין PNGs — שקול אחידות, JPG עלול להיות עם artifacts
כפתורי ניווט חסרים type="button" — לא פוגע כאן (אין <form>) אבל פרקטיקה טובה
applySearch מאפס ל-filtered[0] בכל חיפוש — אם המשתמש מצמצם חיפוש, המיקום הנוכחי לא נשמר (ייתכן שמכוון)
סיכום: עבודה מסודרת ומוצלחת לאב-טיפוס. הבעיה הדחופה ביותר היא ה-background: #ffffff הקשיח ב-.img-wrap — תוקן בשורה אחת.