-
Notifications
You must be signed in to change notification settings - Fork 56
Theme and Design
כל העיצוב מרוכז ב־lib/theme/ עם barrel export ב־theme_exports.dart. כלל ברזל בפרויקט: אסור צבעים קשיחים (hardcoded) בקבצי פיצ'ר — הכל נגזר מ־Theme.of(context).colorScheme או מהטוקנים שלהלן.
-
createColorScheme(seedColor, brightness)— מקור האמת לבנייתColorScheme, מבוססColorScheme.fromSeed. צבע seed ניטרלי (רוויה < 0.1) מקבל וריאנטmonochrome, אחרתtonalSpot. הפונקציה משמשת גם את האפליקציה וגם את בניית ה־payload לתוספים — כך תוספים מקבלים בדיוק את אותם צבעים. -
light()/dark()— ערכות Material 3. גופן בסיסRoboto; bodyMediumבגופןcandaraבגודל 18. מוגדרים theme-ים לכפתורים, TabBar, tooltips, תפריטים (בסגנון Chrome) ודיאלוגים. -
Hover גלובלי בצבע primary (לא אפור): 8% ל־hover, 12% ל־pressed/focused. זו הסיבה שאסור להוסיף
hoverColor/splashColor/overlayColorבקבצי פיצ'ר — התמה כבר מחשבת הכל. -
AppMenuMetrics— ThemeExtensionלדחיסות תפריטים (מצב תפריט קומפקטי בדסקטופ), עםlerp.
מקור אמת למידות: ריווח (XS=4 עד XL=32), רדיוס אחיד 8 (borderRadiusAll, roundedShape), טיפוגרפיה (fontSM=12 עד fontXL=18), elevation, משכי אנימציה, מידות ידיות גרירה וכרטיסיות פאנל. כולל AppTextStyles לכותרות הגדרות.
צבעי ה־seed שהמשתמש בוחר מהם, עם שמות עבריים (אדום, כתום, ענבר...). ברירות מחדל: darkBrown למצב בהיר, purple למצב כהה. nameOf(color) מחזיר את השם העברי.
צבעים קבועים שבמכוון אינם נגזרים מה־ColorScheme: גוני המצב הכהה (darkScaffold=0xFF242424, darkCard, darkAppBar ועוד), dialogBarrier, ו־pageWhite (רקע לבן קבוע לרינדור PDF והדפסה).
רקעים תלויי־הקשר: readerBackground, panelBackground, topBarBackground, card, selectedItem, scrollbarThumb ועוד. זו נקודת ה־override היחידה לרקעים — אם צריך רקע או שקיפות מותאמים, מגדירים כאן ולא בקובץ הפיצ'ר.
LayoutBreakpoints (compact=600, medium=840, expanded=1200), LayoutPadding, LayoutConstraints (רוחב תוכן מרבי לפאנל 860, רוחב סרגל צד 210).
- ברירות מחדל: FrankRuhlCLM (טקסט ראשי), NotoRashiHebrew (מפרשים), TaameyAshkenaz (עריכה עם טעמי מקרא).
- תמיכה ב־Variable Fonts — ציר
wghtעםFontVariationלקבלת בולד אמיתי. - טעינת גופני מערכת (
SystemFonts) וסיווג serif/sans-serif.
- אין צבעים קשיחים — רק
colorScheme. - אין
hoverColor/splashColor/overlayColor/withValues(alpha:)מחוץ ל־lib/theme/(חריגים: hoverColor: Colors.transparentעל ListTile עם כפתורים; צללים; שכבות טעינה). - אייקונים — רק
fluentui_system_icons; אייקונים כיווניים דרךRtlIcon.
📖 מדריך למשתמש
- התחלת העבודה
- הספרייה
- קריאת ספר
- קריאת PDF
- חיפוש
- איתור מקורות
- טאבים ושולחנות
- סימניות והערות
- ספרים אישיים
- הגדרות
- גיבוי ושחזור
- עדכונים
- תוספים
- כלים
- קישורי עומק
🛠️ למפתחים — יסודות
נתונים וספרייה
קריאה
חיפוש
אישי ומערכת
עיצוב ו־UI