| کانال طراحی و رابط‌کاربری |
3.38K subscribers
52 photos
8 videos
10 files
68 links
⭕️ کانال طراحی و رابط‌کاربری دولوپیکس

💠 دولوپیکس | جامعه توسعه‌دهندگان ایرانی

💎 @Developix
🚀 Developix.ir

📌 پشتیبانی و تبلیغات:
@DevelopixSupport
Download Telegram
در طراحی UI خیلی وقت‌ها فقط با یک تغییر ساده در رنگ می‌شود رفتار و وضعیت یک کامپوننت را برای کاربر کاملاً شفاف کرد. یکی از مهم‌ترین جاها، دکمه‌ها (Buttons) و حالت‌های مختلفشان است.

🟢 ایده:
برای هر حالت (State) دکمه، یک رنگ و استایل مشخص و سازگار در کل محصول داشته باش:

• حالت عادی (Default)
• حالت Hover / Pressed
• حالت Disabled
• حالت Error / Destructive

این کار باعث می‌شود کاربر بدون فکر اضافه، فقط با دیدن رنگ و کنتراست، متوجه شود کدام اکشن فعال، غیرفعال یا خطرناک است.

✅ مثال عملی (بر اساس Material Design):
• Action اصلی: رنگ پر (Filled) با کنتراست بالا نسبت به پس‌زمینه
• Secondary: حاشیه‌دار (Outlined) با رنگ ملایم‌تر
• دکمه خطرناک (Delete): قرمز با کنتراست بالا
• Disabled: کاهش Opacity تا جایی که هنوز خوانا باشد ولی واضحاً غیرقابل‌کلیک به‌نظر برسد

نمونه توصیفی ساده برای یک Button System:
Primary:    #2962FF  (Default)
Primary: #0039CB (Pressed)
Primary: rgba(41,98,255,0.12) (Disabled bg)
Danger: #D32F2F (Default)
Danger: #9A0007 (Pressed)
Text on Btn: #FFFFFF


✨ چند نکته UX مهم:
• برای حالت Disabled فقط به Opacity تکیه نکن؛ کنتراست متن را هم چک کن که با WCAG حداقل > 3.0 در حالت خوانا باشد.
• رنگ‌های Action اصلی و خطرناک را خیلی به هم نزدیک انتخاب نکن تا کاربر در لحظه اشتباه کلیک نکند.
• در تمام صفحات از یک System ثابت استفاده کن؛ Primary امروز آبی و فردا بنفش نشود.

🔍 منبع پیشنهادی برای دیدن مثال‌های خوب:
راهنمای Buttons در Material Design 3

امروز اگر در Figma یک Style کوچک برای رنگ‌های State بسازی، فردا در کل Design System وقت و انرژی زیادی ذخیره می‌شود و رفتار UI برای کاربر قابل‌پیش‌بینی و قابل‌اعتماد می‌ماند.

🔖 #Design #طراحی #UI #UX #UI #UX #Color #Design_System #Buttons

👤 Developix

💎 Channel: @DevelopixDesign
👍6🔥1
Forwarded from BehinSMS (Taknet support)
💚دریافت پنل پیامک تجاری
💚شماره اختصاصی
💚12,000 پیامک رایگان

📣تبلیغاتت رو با بهین متحول کن

🌐 وب سرویس رایگان
📊جذب هزاران مشتری جدید
💬 ارسال پیام تبلیغاتی به سراسر کشور
🔛 پشتیبانی لحظه‌ای ۲۴/۷
🌐 دیتابیس به‌روز از حوزه های کاری مختلف

⭕️ فرصت محدوده! همین الان ثبت‌نام کن و تبلیغاتتو حرفه‌ای کن

✅behinsms.com
⭐ مشاوره آنلاین

🔸🔸🔸

📱 Telegram
📱 instagram
🤙 02191555199
Please open Telegram to view this post
VIEW IN TELEGRAM
👎2❤1
وقتی رنگ متن و پس‌زمینه به‌خوبی از هم جدا نباشند، حتی یک طراحی شیک هم شلخته و خسته‌کننده دیده می‌شود. کنتراست درست، هم ظاهر رو بهتر می‌کند هم تجربه کاربری رو؛ مخصوصاً روی موبایل و زیر نور زیاد ☀️

ایده اصلی 🧠
برای متن‌های اصلی (Body) و متن‌های کوچک، بهتره نسبت کنتراست بین رنگ متن و پس‌زمینه طبق WCAG حداقل این‌ها باشد:

• متن نرمال: نسبت کنتراست حداقل 4.5:1
• متن بزرگ (حداقل 18pt یا Bold 14pt): حداقل 3:1

ترفند عملی در Design Tool 🧰
در Figma یا ابزارهای مشابه، قبل از نهایی کردن رنگ‌ها، سریع آن‌ها را با یک اسکریپت ساده تست کنتراست کن. حتی اگر برنامه‌نویس نباشی، این منطق کمک می‌کند ترکیب‌های «خطرناک» را بشناسی.

نمونه در Python برای محاسبه کنتراست بین دو رنگ Hex:
def luminance(r, g, b):
c = [v / 255 for v in (r, g, b)]
adj = [v / 12.92 if v <= 0.03928 else ((v + 0.055) / 1.055) ** 2.4 for v in c]
return 0.2126 * adj[0] + 0.7152 * adj[1] + 0.0722 * adj[2]

def contrast_ratio(c1, c2):
L1 = luminance(*c1)
L2 = luminance(*c2)
L1, L2 = max(L1, L2), min(L1, L2)
return (L1 + 0.05) / (L2 + 0.05)


چند نکته UI/UX ✅
• خاکستری‌های خیلی روشن روی پس‌زمینه سفید، معمولاً برای متن ریز شکست می‌خورند.
• برای حالت Disabled، بهتر است کنتراست را ضعیف‌تر کنی اما نه آن‌قدر که کاملاً ناخوانا شود.
• روی لایت و دارک تم جداگانه کنتراست را چک کن؛ یک رنگ ممکن است در Light عالی باشد ولی در Dark افتضاح.

در پروژه بعدی، قبل از تحویل، فقط ۵ دقیقه برای چک کنتراست بگذار؛ تأثیرش روی حس حرفه‌ای بودن طراحی خیلی زیاد است ✨

مرجع پیشنهادی (طبق WCAG 2.1):
Contrast Minimum – W3C

🔖 #Design #طراحی #UI #UX #UI #UX #Color #Contrast #Accessibility #Design

👤 Developix

💎 Channel: @DevelopixDesign
👍5
🎨 یک ترفند سریع برای کنتراست رنگ و خوانایی بهتر

تو UI قشنگ‌ترین پالت رنگ هم اگر کنتراست خوبی نداشته باشه، متن‌هات عملاً "نامرئی" می‌شن 😅 مخصوصاً روی موبایل و زیر نور.

✅ قانون ساده:
برای متن‌های اصلی، نسبت کنتراست حداقل 4.5:1 با پس‌زمینه رو رعایت کن (طبق WCAG). این یعنی مثلاً:

• متن خاکستری روشن روی پس‌زمینه سفید ❌
• متن تقریباً مشکی روی پس‌زمینه سفید ✅

یه مثال رنگ:
• Background: #FFFFFF
• Text ضعیف: #BDBDBD (کنتراست کم)
• Text درست: #212121 (کنتراست مناسب)

مثلاً در CSS این‌جوری فرق می‌کنه:
/* خوانایی ضعیف */
body {
background-color: #ffffff;
color: #bdbdbd;
}

/* خوانایی بهتر و استانداردتر */
body {
background-color: #ffffff;
color: #212121;
}


✨ نکته کاربردی: توی Figma حتماً از افزونه‌های چک کنتراست (مثل Contrast) استفاده کن؛ هرجا متن روی تصویر، گرادینت یا کارت رنگی گذاشتی، سریع کنتراست رو تست کن.

برای جزییات بیشتر استاندارد کنتراست:
W3C WCAG – Contrast (Minimum)

👀 دفعه بعد که UI تحویل می‌دی، قبل از هر چیز کنتراست رو چک کن؛ تاثیرش روی تجربه کاربر واقعاً چشم‌گیره.

🔖 #Design #طراحی #UI #UX #UI #UX #Contrast #Color #Accessibility #Typography #WCAG

👤 Developix

💎 Channel: @DevelopixDesign
👎3
🧩 فضای خالی، عنصر نامرئی که UI را حرفه‌ای می‌کند

خیلی وقت‌ها برای "پر کردن" صفحه وسوسه می‌شود همه‌جا متن و کامپوننت بگذاریم، اما درست استفاده کردن از فضای خالی (White Space) باعث می‌شود رابط‌کاربری مرتب‌تر، قابل‌اسکن‌تر و حرفه‌ای‌تر به‌نظر برسد. 🧘‍♂️

نکته کلیدی: فاصله‌های عمودی و افقی را آگاهانه و یکنواخت تنظیم کن؛ مثلاً یک سیستم 4px یا 8px. این کار هم در Figma و هم در کد کمک می‌کند ساختار تمیز داشته باشی.

مثال ساده برای فاصله‌گذاری یکنواخت بین آیتم‌های لیست:
.list-item {
padding: 8px 16px;
}

.list-item + .list-item {
margin-top: 8px; /* فاصله عمودی ثابت بین آیتم‌ها */
}


🔍 چرا مفید است؟
• المان‌های مرتبط را با فاصله کم‌تر، و بخش‌های جدا را با فاصله بیش‌تر از هم قرار بده.
• چشم کاربر راحت‌تر ساختار را تشخیص می‌دهد و سریع‌تر محتوا را اسکن می‌کند.

برای الهام گرفتن از نمونه‌های خوب فاصله‌گذاری، راهنمای Layout در Material Design عالی است 👇
material.io &mdash; Spacing Guidelines

🪄 دفعه بعد که UI را مرور می‌کنی، فقط با تنظیم فاصله‌ها سعی کن بدون تغییر رنگ و تایپوگرافی، حس حرفه‌ای‌بودن را بالا ببری.

🔖 #Design #طراحی #UI #UX #UI #UX #White_Space #Layout #Spacing #Material_Design

👤 Developix

💎 Channel: @DevelopixDesign
❤1👍1👎1
🎨 ساخت سیستم رنگ حرفه‌ای با Design Token در Figma

خیلی وقت‌ها طراحی‌هامون از یه پروژه به پروژه‌ی دیگه شبیه هم‌دیگه‌ست، ولی هر بار رنگ‌ها رو دستی کپی می‌کنیم، اسم‌گذاری نداریم، یا وقتی برند عوض می‌شه، نصف فایل‌ها خراب می‌شن. راه‌حل تمیز و حرفه‌ای این داستان: ساختن Color Design Token توی Figma 💡

اینجا یه ورک‌فلو واقعاً قابل‌استفاده بر اساس داکیومنت رسمی Figma و Material Design داریم:
Figma – Create color styles
Material Design 3 – Color

۱. تعریف لایه‌ اول: نقش رنگ، نه اسم رنگ 🎯
به‌جای این‌که اسم بدی «آبی پررنگ» یا «سبز لجنی»، از اسم‌های بر پایه‌ی نقش استفاده کن:

• primary / primary-container
• secondary / secondary-container
• surface / surface-variant
• error

این دقیقاً همون رویکردیه که Material Design پیشنهاد می‌ده. رنگ واقعی (مثلاً #6750A4) بعداً عوض می‌شه، ولی نقش primary همیشه همونه.

۲. ساخت Color Style توی Figma 🎛
۱) یه Rectangle بکش.
۲) رنگی که برای primary می‌خوای رو انتخاب کن.
۳) توی پنل Fill روی آیکن Style (چهار نقطه) بزن و + رو انتخاب کن.
۴) اسمش رو چیزی مثل این بذار:

color / light / primary


همین الگو رو برای حالت‌های دیگه ادامه بده:

color / light / on-primary
color / light / surface
color / light / on-surface
color / dark / primary
color / dark / on-primary
...


این ساختار پوشه‌ای توی Figma کمکت می‌کنه بعداً راحت سوئیچ کنی بین Light و Dark.

۳. Sync با Design Token ذهنی 🧠
کاری که داری می‌کنی در عمل همون Design Token ساختنه؛ فقط به‌جای JSON داری از Styleهای Figma استفاده می‌کنی. اگر بعداً تیم‌تون رفت به سمت Design Token واقعی (مثلاً با Style Dictionary)، همین نام‌گذاری مستقیماً قابل مپی شدنه.

یه نمونه ساختار توکِن (فقط برای درک ذهنی، نه کدنویسی):

{
"color": {
"light": {
"primary": "#6750A4",
"on-primary": "#FFFFFF"
},
"dark": {
"primary": "#D0BCFF",
"on-primary": "#381E72"
}
}
}


توی Figma همون‌ها رو به‌صورت Style تعریف می‌کنی، ولی منبع فکری یکیه.

۴. از HSL و Contrast هم غافل نشو 🔍
برای ساختن سایه‌ها (tone) و روشنی‌های مختلف، از منطق HSL استفاده کن: Hue ثابت، Lightness رو کم‌وزیاد کن. بعد حتماً با ابزارهایی مثل:
WebAIM Contrast Checker
کنتراست text روی surface و primary رو چک کن تا با WCAG هم‌خوان باشه.

۵. روتین استفاده در طراحی روزمره ✅
هر وقت دکمه‌ای طراحی می‌کنی:
• پس‌زمینه: color / light / primary
• متن: color / light / on-primary

اگر برند عوض شد، فقط Styleها رو آپدیت می‌کنی؛ همه‌ی Buttonها، Cardها و… خودشون آپدیت می‌شن. این هم تمیزی فایل رو حفظ می‌کنه هم از Memory Leak بصری توی سیستم رنگ جلوگیری می‌کنه 🙂

امتحانش کن روی یه صفحه ساده (مثلاً یه Login Screen)، همه‌ی رنگ‌ها رو فقط از Styleها بردار. وقتی اولین بار برند رو با عوض‌کردن چند Style ریدیزاین می‌کنی، تازه می‌فهمی قدرت Design Token توی Figma چقدره 🔁

🔖 #Design #طراحی #UI #UX #Figma #UI_Design #Design_Tokens #Color_System #Material_Design #WCAG #UX

👤 Developix

💎 Channel: @DevelopixDesign
❤3👎1
در اکثر پروژه‌ها مشکل از همین‌جا شروع می‌شود: المان‌ها «تقریباً» تراز هستند، فاصله‌ها «تقریباً» یکی است و آخر سر UI شلخته به نظر می‌رسد.

امروز می‌رویم سراغ یک مهارت خیلی عملی: طراحی Layout Grid سیستمی در Figma برای صفحات وب / Desktop (بر اساس توصیه‌های Material Design و الگوهای رایج 12-Column Grid).

🧩 ایده‌ی اصلی
وقتی برای هر صفحه یک Grid ثابت و قابل تکرار داشته باشی:

• فاصله‌ها و ستون‌ها استاندارد می‌شوند 🧱
• تیم راحت‌تر Design را به Frontend تحویل می‌دهد 🔁
• تغییر Layout در آینده خیلی کم‌هزینه‌تر می‌شود

⚙️ ساخت یک 12-Column Grid در Figma
این مثال برای یک صفحه Desktop با عرض 1440px است (یکی از رایج‌ترین Breakpoint ها):

۱️⃣ یک Frame جدید بساز:
• ابزار Frame را انتخاب کن و از بالا Desktop → 1440 را بزن.

۲️⃣ Grid را فعال کن:
• Frame را انتخاب کن.
• در پنل راست، بخش Layout grid روی + کلیک کن.
• روی آیکن چهارخونه کلیک کن و نوع را از Grid به Columns تغییر بده.

۳️⃣ تنظیمات پیشنهادی Columns 🧮
• Count: 12
• Type: Stretch
• Margin: 80 (راست)، 80 (چپ) → مجموعاً 160px فضای اطراف
• Gutter: 24px (فاصله‌ی بین ستون‌ها)

این ترکیب، یک Grid تمیز و استاندارد برای وب‌اپ‌ها و داشبوردها می‌دهد که با خیلی از Design System ها هم‌خوان است.

📏 تنظیم 8pt System برای Spacing
هم‌زمان با Grid، فاصله‌های داخلی و خارجی را هم روی مضرب‌های 8 تنظیم کن (8, 16, 24, 32...). این کار هم در Design و هم در پیاده‌سازی CSS کمک زیادی می‌کند.

یک مثال ساده از فواصل در بخش کارت‌ها:


Card Padding: 24px
Gap بین آیکن و متن: 8px
Gap بین تیتر و توضیح: 4 یا 8px
Gap بین کارت‌ها در لیست: 16 یا 24px


📌 نکته‌ی مهم برای Responsive
وقتی Grid Type روی Stretch است، ستون‌ها متناسب با عرض Frame کش می‌آیند، ولی Margin و Gutter ثابت می‌مانند. برای Breakpoint های دیگر (مثلاً 1024 و 768)، حتماً Frame جدا با Grid تنظیم‌شده‌ی خودش بساز.

🔍 منابع واقعی برای مطالعه‌ی بیشتر
• Material 3 Layout:
m3.material.io/foundations/layout/understanding-layout/overview
• مقاله مفید درباره 8pt Grid از واحد طراحی iOS/Android:
builttoadapt.io/intro-to-the-8-point-grid-system

✅ نکات ریز اما مهم
• Text و Component های اصلی را روی ستون‌ها تراز کن، نه «وسطِ چشمی» بین‌شان.
• برای عناصر تمام‌عرض (مثلاً Background Section)، اجازه بده از کل Frame استفاده کنند، ولی محتوا را محدود به Grid نگه دار.
• در Figma می‌توانی این Frame را به عنوان Template نگه داری و همه‌ی صفحه‌ها را از روی آن Duplicate کنی.

یک‌بار درست Grid بسازی، تا آخر پروژه از شلختگی Layout نجاتت می‌دهد.

امروز روی یک صفحه‌ی واقعی پروژه‌ات این Grid را تست کن و تفاوت نظم و سرعت کار را حس کن 🚀

🔖 #Design #طراحی #UI #UX #UI #UX #Figma #Grid #Layout #Design_System #Desktop

👤 Developix

💎 Channel: @DevelopixDesign
❤1👍1
‏🎯 ساخت یک کامپوننت دکمه حرفه‌ای در Figma (قابل‌استفاده‌مجدد)

یکی از کارهای خیلی روزمره توی UI Design، ساختن دکمه‌ست. ولی اگر هر بار برای هر صفحه دکمه رو از صفر بسازی، خیلی زود همه‌چیز شُلخته و مدیریت‌ناپذیر می‌شه 😅

توی این پست با هم یک Button Component تمیز و مقیاس‌پذیر توی Figma می‌سازیم؛ چیزی شبیه الگوهای Material Design Buttons که به‌راحتی بشه برای حالت‌های مختلف (Primary, Secondary, Disabled, Icon) ازش استفاده کرد.

۱️⃣ طراحی پایه دکمه

• یک Frame جدید بساز و اندازه رو مثلاً بذار 48×120.

• گوشه‌ها رو 8px گرد کن (Corner Radius = 8).

• رنگ پس‌زمینه رو روی یه رنگ Primary از سیستم رنگت بذار (مثلاً #1E88E5).

• یک متن وسطش بذار: «Button» با وزن Medium و سایز 14 یا 16.

اینجا مهمه که Text رو وسط‌چین و Auto Width یا Auto Layout رو درست تنظیم کنی تا بعداً با تغییر متن، دکمه به‌هم نریزه.

۲️⃣ فعال‌کردن Auto Layout برای کنترل Padding

روی Frame اصلی دکمه، از پنل راست Auto Layout رو فعال کن:

• جهت: Horizontal
• Alignment: Center & Center
• Padding افقی: مثلاً 16–24px
• Padding عمودی: 10–12px
• Spacing between items: 8 (اگر آیکن اضافه شد، به‌درد می‌خوره)

حالا اگر متن رو عوض کنی، دکمه خودش به‌صورت Responsive رشد می‌کنه. این همون چیزیه که تو راهنماهای رسمی Figma برای Button پیشنهاد می‌شه (می‌تونی نمونه رو تو Figma Auto Layout ببینی).

۳️⃣ تبدیل به Component + Variant

• Frame دکمه رو انتخاب کن و از بالا روی Create component بزن.
• حالا از پنل راست روی + کنار Variants کلیک کن تا چند Variant بسازی:

– primary / enabled
– primary / hover
– primary / disabled
– primary / with-icon

به هر Variant یک Property بده؛ مثلاً:

Type = Primary
State = Enabled | Hover | Disabled
Icon = True | False


این دقیقاً همون مدلیه که تو Figma Variants پیشنهاد شده و کمک می‌کنه طراح و دولوپر یک زبان مشترک داشته باشن.

۴️⃣ تنظیم حالت‌ها (States)

📌 چند پیشنهاد براساس Material Design:

• Hover: همون رنگ Primary با یک Overlay ملایم (مثلاً +8% Opacity سیاه).
• Pressed: کمی تیره‌تر یا با Shadow کمتر.
• Disabled: پس‌زمینه خاکستری روشن، متن با Opacity حدود 38%.

فقط حواست باشه کنتراست رنگ متن و پس‌زمینه با WCAG اوکی باشه؛ برای متن روی دکمه حداقل کنتراست 4.5:1 خوبه. می‌تونی تو WebAIM Contrast Checker تست کنی.

۵️⃣ افزودن Icon به دکمه

برای Variant با آیکن:

• یک آیکن 20×20 (یا 16×16 بسته‌به Guideline) سمت چپ متن بذار.
• Auto Layout رو طوری تنظیم کن که فاصله Text و Icon ثابت بمونه (Spacing = 8).
• تو Properties، Icon = True/False بذار تا بعداً بتونی با یک کلیک دکمه رو آیکن‌دار یا بدون آیکن کنی.

۶️⃣ استفاده در پروژه‌های واقعی

حالا هر وقت توی یک صفحه جدید دکمه خواستی:

• از Assets، این Button Component رو Drag کن.
• توی پنل راست State و Type و Icon رو عوض کن.
• فقط Text رو Edit کن، بدون این‌که استایل به‌هم بریزه.

این دقیقاً جاییه که Design System شروع می‌شه: یک بار فکر می‌کنی، بارها استفاده می‌کنی 💡

در اولین پروژه بعدی‌ات این Button Component رو بساز و کم‌کم بقیه کامپوننت‌ها (Input, Checkbox, Tabs) رو هم مشابه همین الگو دربیار. بعد از چند صفحه، تفاوت سرعت و نظم رو کاملاً حس می‌کنی 🚀

🔖 #Design #طراحی #UI #UX #Figma #UI_Design #Component #Button #Material_Design #Auto_Layout #Design_System #Persian

👤 Developix

💎 Channel: @DevelopixDesign
👍5❤3🔥2
در Figma اگر هنوز از Frame‌های ثابت و دستی استفاده می‌کنی، Auto Layout می‌تونه زندگی‌ات رو خیلی راحت‌تر کنه 😄 مخصوصاً برای چیزهایی مثل کارت محصول، کارت خبر یا هر کامپوننتی که قراره روی چند سایز اسکرین جواب بده.

اینجا یه ورک‌فلو واقعی و ساده‌ست بر اساس داک رسمی Figma:
Create dynamic designs with Auto layout

🧩 سناریو: کارت محصول واکنش‌گرا
فرض کن تو یه اپ فروشگاهی کار می‌کنی و یه کارت لازم داری که:
- بالا عکس محصول باشه
- زیرش عنوان
- زیر عنوان، قیمت و دکمه Add to Cart کنار هم
- تو موبایل و دسکتاپ بدون شکستن، خودش رو Adapt کنه

۱️⃣ ساخت اسکلت کارت
- یه Frame بساز (F)
- توش ۳ آیتم بذار: Image، Title، Row پایینی (Price + Button)
- حالا روی Frame اصلی از پنل راست، Auto layout رو فعال کن (یا Shift+A)
- Direction رو بذار روی عمودی (Vertical)
- Spacing بین آیتم‌ها رو مثلاً 8 یا 12 بذار که ریتم خوبی بده 🔁

۲️⃣ کنترل Padding و Radius کارت
- روی همون Frame اصلی:
- Padding افقی/عمودی رو مثلاً 16 بذار
- Corner Radius مثلاً 12 تا کارت نرم و مدرن بشه
- Fill کارت رو یه رنگ خنثی روشن انتخاب کن (مثلاً #FFFFFF روی پس‌زمینه خاکستری روشن)

۳️⃣ ردیف قیمت و دکمه با Auto Layout افقی
- Price و Button رو انتخاب کن
- Shift+A تا یه Auto layout افقی بسازی
- Justify content رو روی "Space between" بذار تا دو سر کارت وایسن
- Alignment عمودی رو وسط تنظیم کن تا Price و Button روی یک خط باشن

۴️⃣ رفتار متن و دکمه روی Resize
- روی کارت اصلی، از قسمت Resizing، عرض رو روی "Fill container" برای متن عنوان بذار
- برای Image می‌تونی "Fixed width" بذاری که پروپورشن ثابت بمونه
- دکمه رو تو Auto layout افقی روی Hug content بذار که با طول متن خودش تنظیم بشه ✅

۵️⃣ تست در چند سایز (واقعا مهم برای UI/UX)
- کارت رو انتخاب کن و از Scale استفاده نکن؛ فقط Width رو با درگ کردن Handleها یا وارد کردن عدد عوض کن
- ببین متن رپ می‌شه؟ فاصله‌ها منطقی می‌مونن؟ چیزی نمی‌چسبه به لبه‌ها؟
این دقیقاً همون چیزیه که تو داک رسمی Figma هم تاکید شده: اول رفتار، بعد سایز.

۶️⃣ نمونه Auto Layout واقعی (کد JSON Frame)
چون اینجا کد برنامه‌نویسی نداریم، یه نمونه JSON از ساختار Auto layout که Figma API تولید می‌کنه رو می‌ذارم که ببینی زیر hood چه اتفاقی می‌افته 👇

{
"layoutMode": "VERTICAL",
"itemSpacing": 12,
"paddingLeft": 16,
"paddingRight": 16,
"paddingTop": 16,
"paddingBottom": 16,
"primaryAxisAlignItems": "SPACE_BETWEEN",
"counterAxisAlignItems": "CENTER"
}


Ref: Figma FrameNode layoutMode

با چند تا کارت این‌طوری و تبدیل‌شون به Component، می‌تونی کل لیست محصولات یا مقالات رو خیلی تمیز و قابل نگه‌داری طراحی کنی. دفعه بعد نیاز به تغییر Padding یا Radius داشتی، فقط تو یه جا آپدیت می‌کنی و بقیه Variantها خودشون تنظیم می‌شن ✨

امتحانش کن روی یه پروژه واقعی و ببین چقدر زمانت تو Iterationهای بعدی سیو می‌شه 🙌

🔖 #Design #طراحی #UI #UX #Figma #Auto_Layout #UI_Design #Component #Product_Card #Design_System

👤 Developix

💎 Channel: @DevelopixDesign
👍1
🎬 ساخت پروتوتایپ اسکرول اینتراکتیو در Figma

خیلی وقت‌ها توی طراحی صفحه موبایل یا وب، فقط دیدن اسکرین‌های ثابت کافی نیست. لازم کارفرما یا دولوپر دقیق ببینه کاربر چطور اسکرول می‌کنه، هدر چطوری Sticky می‌مونه، یا کارت‌ها موقع اسکرول چه حسی می‌دن. این‌جا Prototype توی Figma به‌کمک ما میاد 🎯

این پست بر اساس ورک‌فلو رسمی مستندات Figma برای پروتوتایپ (Figma Help Center – Prototype flows and connections) نوشته شده و یه سناریوی کاملا واقعی رو پوشش می‌ده:
ساخت یک لیست اسکرول‌دار با هدر Sticky و Animation نرم.

۱️⃣ آماده‌سازی Frame اصلی
• یک Frame موبایل بساز (مثلا iPhone 14 Pro).
• داخلش یک Header در بالا طراحی کن (لوگو، Title، آیکون سرچ).
• زیر هدر، چندتا Card تکراری بذار (لیست خبر، محصول، یا هر دیتای واقعی).

۲️⃣ فعال کردن Scroll عمودی
طبق راهنمای رسمی Figma برای Scrolling behavior:
• Frame موبایل رو انتخاب کن.
• توی پنل راست، بخش Prototype رو باز کن.
• از قسمت Overflow behavior گزینه Vertical scrolling رو انتخاب کن.

حالا اگر ارتفاع محتوا بیشتر از ارتفاع Frame باشه، توی Preview می‌تونی اسکرول کنی ✅

۳️⃣ Sticky کردن Header (Position: Fixed)
یکی از چیزهایی که خیلی توی پروژه‌های واقعی می‌بینیم، Sticky Headerـه.
طبق مستند Fixed objects in prototyping توی Figma:
• خود Header رو انتخاب کن.
• در پنل راست، توی بخش Design قسمت Constraints رو پیدا کن.
• گزینه Fix position when scrolling رو تیک بزن.

حالا توی Preview، محتوا اسکرول می‌شه ولی Header همون بالا می‌مونه، مثل یه اپ واقعی 📱

۴️⃣ اضافه کردن Micro Interaction روی کارت‌ها
برای اینکه Prototype فقط اسکرول خشک نباشه، یه اینتراکشن ساده روی Cardها اضافه کن:
• یک Variant دوم برای Card بساز (مثلا با Shadow بیشتر یا Background کمی تیره‌تر).
• Cardها رو به‌صورت Component Set دربیار.
• توی تب Prototype روی Variant اصلی کلیک کن و یک Interaction بساز:

On Tap → Change To → Variant Hover
Animation: Smart Animate
Easing: Ease out
Duration: 150ms


حالا موقع کلیک روی Card توی Preview، یه تغییر نرم و طبیعی می‌بینی که حس Product واقعی می‌ده ✨

۵️⃣ تنظیم Flow و Preview حرفه‌ای
برای اینکه Prototype مرتب و قابل‌ارائه باشه:
• روی Frame اصلی، از تب Prototype گزینه Set as starting frame رو فعال کن.
• از دکمه ▶️ بالا Present رو بزن و Prototype رو در یک پنجره جدا تست کن.
• اگر روی موبایل تست می‌کنی، از اپ رسمی Figma Mirror استفاده کن تا رفتار اسکرول روی دیوایس واقعی رو ببینی.

این مدل پروتوتایپ هم توی Usability Testing به شدت کمک می‌کنه، هم برای هم‌فهمی با Dev تیم عالیه. حس «ماکت» رو به «محصول واقعی» نزدیک‌تر می‌کنه و باعث می‌شه ایرادهای UX قبل از پیاده‌سازی دیده بشن 🔍

اگر تا حالا فقط اسکرین‌های استاتیک نشون می‌دادی، همین امروز یک Flow کوچک با اسکرول و Header ثابت بساز و توی تیم به اشتراک بذار؛ تاثیرش رو خیلی زود روی کیفیت فیedbackها می‌بینی 🚀

🔖 #Design #طراحی #UI #UX #Figma #Prototype #Interaction #UIUX #Scrolling #Mobile_UI

👤 Developix

💎 Channel: @DevelopixDesign
👍3
🎯 ‏طراحی یک سیستم تایپوگرافی واکنش‌گرا در Figma

تایپوگرافی قوی نصف مسیر یک UI خوبه. اگه فونت، سایز و فاصله‌ها روی هر اسکرین یکنواخت نباشه، حتی بهترین رنگ‌ها و آیکون‌ها هم حس «غیرحرفه‌ای» می‌دن.

توی این پست، خیلی عملی می‌ریم سراغ ساخت یک Type Scale تمیز و قابل‌استفاده برای وب / موبایل، بر اساس راهنمای Material Design 3، و پیاده‌سازیش داخل Figma.

۱️⃣ انتخاب پایه‌ی تایپوگرافی

اول یک Base Size انتخاب کن:

• برای وب: معمولاً 16px
• برای موبایل: می‌تونی 14–16px رو تست کنی

این Base می‌شه نقطه‌ی شروع همه‌ی Styleها؛ یعنی مثلاً Body، بعد از اون Headlineها، Caption و غیره.

۲️⃣ ساخت Type Scale منطقی

Material Design پیشنهاد می‌ده چند سطح مشخص داشته باشی:

• Display (بزرگ‌ترین تیترها)
• Headline
• Title
• Body
• Label

لازم نیست همه‌ی سطح‌ها رو کپی کنی، ولی می‌تونی مثلاً این ترکیب رو بسازی:

• Display / H1
• Headline / H2
• Title
• Body (Regular + Medium)
• Caption / Label

به‌جای انتخاب تصادفی سایز، یک نسبت ثابت در نظر بگیر (مثلاً 1.25):

• Body: 16px
• Title: 20px (16 × 1.25)
• Headline: 25px تقریباً (20 × 1.25)
• Display: حدود 31px (25 × 1.25)

این نسبت باعث می‌شه تایپوگرافی «هماهنگ» دیده بشه، نه وصله‌پینه‌ای 😄

۳️⃣ ساخت Text Styleها در Figma

حالا نوبت پیاده‌سازی توی Figma ست:

• یک Text بنویس، فونت اصلی رو انتخاب کن (مثلاً Vazirmatn یا IranYekan).
• اندازه، وزن و Line height رو تنظیم کن.
• از پنل راست روی چهار نقطه‌ی Style کلیک کن و Create style… رو بزن.
• برای نام‌گذاری، از ساختار سیستمی استفاده کن:

type / display / xl
type / headline / lg
type / title / md
type / body / md
type / label / sm


این مدل نام‌گذاری (Category / Role / Size) هم توی Design System های بزرگ استفاده می‌شه و هم توی تیم، سریع قابل‌فهمه.

۴️⃣ تنظیم Line Height و Letter Spacing

• برای متن‌های طولانی (Body)، Line height بین 140% تا 160% خوانایی خوبی می‌ده.
• برای تیترهای بزرگ، می‌تونی Line height رو کمتر (110–120%) بگیری تا جمع‌وجورتر بشه.
• توی زبان فارسی معمولاً نیازی به Letter spacing زیاد نیست؛ مگر توی Labelهای کوچک.

یک نکته‌ی مهم از طرف WCAG: فاصله‌ی خطوط کافی کمک می‌کنه متن روی اسکرین خسته‌کننده و سخت‌خوان نشه، مخصوصاً روی موبایل.

۵️⃣ Type Style برای حالت‌های مختلف (Responsive)

خیلی وقت‌ها برای Desktop و Mobile اندازه‌ی متفاوت لازم داری. به‌جای ساخت Styleهای کاملاً جدا، می‌تونی این‌طوری نام‌گذاری کنی:

type / body / md / desktop
type / body / md / mobile


بعد توی Design System بخش Usage بنویس که مثلاً:

• توی Desktop از نسخه‌ی desktop استفاده می‌شه.
• توی Mobile frameها، Style مربوط به mobile رو اعمال کن.

۶️⃣ ترفند کوچک برای تست سریع

یک Text Sample بساز (چند پاراگراف فارسی + چند تیتر). روی چند Frame با سایز مختلف (مثلاً 1440، 1024، 390) این Styleها رو تست کن. اگر در هر سه حالت خوانا بود و ریتم خوبی داشت، یعنی Scaleت منطقیه.

در نهایت، وقتی یک بار این سیستم رو تمیز بسازی، هر پروژه‌ی جدید فقط چند دقیقه طول می‌کشه تا تایپوگرافیش سر و شکل حرفه‌ای بگیره ✨

امتحانش کن روی یکی از صفحه‌های قدیمی‌ات در Figma و ببین فقط با تغییر Type Styleها، چقدر UI مرتب‌تر و Mature به‌نظر می‌رسه 🙌

🔖 #Design #طراحی #UI #UX #Figma #Typography #UI #Design_System #Material_Design #WCAG

👤 Developix

💎 Channel: @DevelopixDesign
❤3👍2
🎯 ترفند سریع: سیستم فاصله‌گذاری ۴–۸–۱۲ توی UI

یکی از ساده‌ترین راه‌ها برای تمیزتر شدن UI اینه که برای فاصله‌ها (spacing) از یه «سیستم» ثابت استفاده بشه، نه حدس و احساس لحظه‌ای. این کار هم طراحی رو منظم‌تر می‌کنه، هم دستِ دولوپر رو برای پیاده‌سازی راحت‌تر. ✨

ایده‌اش اینه که همه‌ی فاصله‌ها رو از مضرب‌های ۴ یا ۸ انتخاب کنی: مثلاً ۴، ۸، ۱۲، ۱۶، ۲۰، ۲۴ پیکسل. این‌طوری فاصله‌ی بین کارت‌ها، دکمه‌ها، سکشن‌ها و… همه یه ریتم مشخص پیدا می‌کنن و طراحی کمتر شلوغه.

مثال ساده با CSS برای پیاده‌سازی توی Design System:
.spacing-4 { margin: 4px; }
.spacing-8 { margin: 8px; }
.spacing-12 { margin: 12px; }
.spacing-16 { margin: 16px; }


این رویکرد توی Material Design هم پیشنهاد شده و باعث می‌شه در مرور زمان، اضافه کردن کامپوننت‌های جدید بدون به‌هم‌ریختگی بصری انجام بشه. 💡

امروز فقط فاصله‌های صفحه‌ی بعدی رو با این سیستم هماهنگ بشه؛ تفاوت نظم بصریش کاملا قابل حس می‌شه.

منبع: Material Design – Layout

🔖 #Design #طراحی #UI #UX #UI #UX #Spacing #Design_System #Material_Design #Layout

👤 Developix

💎 Channel: @DevelopixDesign
❤4👍4
Forwarded from Developix Support
با Migration Boost هاست‌ایران، برای مهاجرت به سرور ابری دوباره هزینه ترافیک نده! 🚀

با خرید اولین سرور ابری غیرساعتی از **هاست‌ایران**، بسته ترافیک هدیه مهاجرت به‌صورت خودکار برای سرویس شما فعال می‌شود:

✅ حداقل ۱۰۰ گیگابایت ترافیک هدیه مهاجرت
✅ افزایش حجم هدیه متناسب با ظرفیت دیسک اولیه
✅ ترافیک آپلود رایگان
✅ بدون محدودیت زمانی

سرور ابری هاست‌ایران را راه‌اندازی کنید و بکاپ‌ها، فایل‌ها و پایگاه داده خود را بدون دغدغه هزینه‌های پنهان ترافیک منتقل کنید.

👇 مشاهده پلن‌های سرور ابری هاست‌ایران
hostiran.club/Migration
hostiran.club/Migration
❤1
‏🎨 تا حالا صفحه‌ای طراحی شده که وقتی دیتا نیست، عملاً یک صفحه خالی و سرد تحویل کاربر بدهد؟ همینجا فرصت طلایی UX از بین می‌رود.

Empty State یا «حالت خالی»، جایی است که کاربر بیشتر از همیشه به راهنمایی نیاز دارد؛ مثلا اولین باری که لیست نوتیفیکیشن، تسک‌ها یا علاقه‌مندی‌ها خالی است.

✅ چند نکته کاربردی:

• یک پیام واضح بنویس که بگوید چرا اینجا خالی است.
• یک Call to Action روشن بگذار؛ مثلا دکمه «اضافه کردن آیتم جدید».
• از یک آیکن یا تصویر ساده استفاده کن؛ نه خیلی شلوغ، نه خیلی خشک.
• متن را کوتاه، دوستانه و بدون لحن خطاپرست بنویس.

نمونه متن ساده:
# متن پیشنهادی برای Empty State
عنوان: «هنوز کاری اینجا نیست»
توضیح: «اولین تسک‌ات را بساز تا همیشه جلوی چشم‌ات باشد.»
دکمه: «ساخت تسک جدید»


این طراحی ساده، هم حس گم شدن را کم می‌کند، هم کار بعدی کاربر را شفاف می‌کند و نرخ رها کردن صفحه را پایین می‌آورد. 🚀

امتحانش کن روی یک صفحه خالی در محصولت و ببین چقدر تجربه را انسانی‌تر می‌کند.

🔖 #Design #طراحی #UI #UX #Empty_State #UX_Writing #UI_Design #Interaction_Design #Product_Design

👤 Developix

💎 Channel: @DevelopixDesign
❤2
🔥 پروژه: مهارت Taste برای سلیقهٔ هوش‌ مصنوعی

وقتی برای متن‌های رابط‌کاربری، میکروکپی یا ایده‌های UX از AI کمک می‌گیری و خروجی فقط یک متن کلیشه‌ای و بی‌روح است، پروژهٔ Taste‑Skill دقیقا همان چیزی است که لازم می‌شود 🎯

این پروژه یک «مهارت سلیقه» به مدل اضافه می‌کند تا پاسخ‌ها کمتر شبیه متن‌ کارخانه‌ای و بیشتر شبیه چیزی با دید و استایل مشخص باشند؛ برای نام‌گذاری، تن‌صدا، توضیح فیچرها و حتی متن آنبوردینگ.

لینک پروژه:
github.com/Leonxlnx/taste-skill
امتحانش بد نیست؛ مخصوصا اگر زیاد با AI برای کپی UI کار می‌کنی.

⭐️ 79,198 ستاره

🔖 #Design #طراحی #UI #UX #هوش_مصنوعی_در_طراحی

💎 @DevelopixDesign
❤2🔥1
‏یک صفحه تنظیمات شلوغ، حتی توی بهترین محصول، حس «پیچیدگی بی‌هدف» می‌دهد. با چند تغییر کوچک، تجربه کاربر خیلی نرم‌تر می‌شود. 😊

۱️⃣ تنظیمات را گروه‌بندی کن
به‌جای یک لیست بلند، گزینه‌ها را در گروه‌های معنایی بچین: اعلان‌ها، حریم‌خصوصی، نمایش، حساب کاربری و…
این کار اسکن‌کردن صفحه را سریع‌تر می‌کند و کاربر حس گم‌شدن ندارد.

۲️⃣ فقط مهم‌ها را در لایه اول نشان بده
گزینه‌های پیشرفته را زیر یک لینک «تنظیمات پیشرفته» پنهان کن. این الگو توی Material Design و iOS هم استفاده می‌شود و برای بیشتر کاربران فقط گزینه‌های اصلی کافی است. ✨

۳️⃣ از متن‌های راهنما کوتاه استفاده کن
برای سوییچ‌ها و چک‌باکس‌ها، یک زیرعنوان کوتاه (۲–۳ کلمه اضافی) خیلی کمک می‌کند که کاربر بدون آزمون‌وخطا بفهمد چه چیزی تغییر می‌کند.

# مثال ساختار منطقی تنظیمات (فقط برای ایده‌پردازی)
settings = {
"نمایش": ["حالت تاریک", "اندازه فونت"],
"اعلان‌ها": ["پوش نوتیفیکیشن", "ایمیل"],
"پیشرفته": ["دیتای پس‌زمینه"]
}


در پروژه بعدی، یک‌بار فقط روی صفحه تنظیمات زوم کن و ببین چقدر می‌شود با حذف و گروه‌بندی، UI را سبک‌تر کرد. 💡

منبع: Nielsen Norman Group - Settings

🔖 #Design #طراحی #UI #UX #UI #UX #Settings #Information_Architecture #Design

👤 Developix

💎 Channel: @DevelopixDesign
👍2❤1🔥1
🔥 پروژه: اسکرینیتی – ضبط‌کننده صفحه برای طراح‌ها

اسکرینیتی یه افزونه‌ رایگان Chrome برای ضبط صفحه‌ست که خیلی به درد طراح‌ و UXerها می‌خوره 🎥

می‌توانی فقط یک تب، کل دسکتاپ یا همراه وبکم ضبط کنی، روی ویدئو حین ضبط هایلایت، فلش ماوس و نوشته اضافه کنی و خروجی رو بدون محدودیت زمانی نگه داری.

برای تست کاربری ریموت، توضیح فلوهای پیچیده به دولوپر، یا گزارش باگ بصری عالیه. پروژه متن‌بازه و روی حریم‌خصوصی حساسه.

لینک گیت‌هاب: Screenity

⭐️ 18,696 ستاره

🔖 #Design #طراحی #UI #UX #UI

💎 @DevelopixDesign
👍3🔥1
ثبات توی تایپوگرافی، یکی از سریع‌ترین راه‌ها برای حرفه‌ای‌تر شدن UI است؛ مخصوصاً وقتی چند نفر روی یک محصول کار می‌کنند 👀

ایده ساده است: برای تیتر، متن و کپشن فقط چند سبک ثابت تعریف می‌شود و همه‌جا از همان‌ها استفاده می‌شود؛ نه هر صفحه یک سایز و وزن جدید.

🔹 مثال عملی در سیستم طراحی:

Heading / H1: اندازه ثابت، وزن بولد، فاصله‌گذاری مشخص
Body / Default: برای متن‌های اصلی
Caption / Helper: برای توضیحات ریز و Labelها


در ابزارهایی مثل Figma اگر برای هر متن یک Style جدا نسازی، به‌مرور صفحه‌ها شلخته می‌شوند و Hierarchy بصری کاملاً از بین می‌رود. نتیجه‌اش: کاربر نمی‌فهمد کدام متن مهم‌تر است و نگاهش هی روی صفحه سر می‌خورد 😅

یک نمونه نام‌گذاری تمیز برای Text Styleها:
Typography
├─ Heading / H1
├─ Heading / H2
├─ Body / Default
└─ Caption / Helper

نکته طلایی ✨
اول ساختن Styleها را در صفحه‌ٔ پایه سیستم طراحی جدی بگیر، بعد بقیه صفحه‌ها را فقط با همان Styleها بساز؛ هم UI یکدست می‌شود، هم تغییر فونت یا سایز بعداً عذاب‌آور نمی‌شود.

🔖 #Design #طراحی #UI #UX #UI #Typography #DesignSystem #UX #Figma

👤 Developix

💎 Channel: @DevelopixDesign
❤1👍1🔥1
سنجش کنتراست؛ متن زیبا باید خوانا هم باشد 🎨

گاهی متن خاکستری روی کارت سفید، در فایل طراحی شیک است اما روی نمایشگر ضعیف یا زیر نور روز سخت خوانده می‌شود. قبل از تحویل طرح، کنتراست رنگ متن و پس‌زمینه را با معیار WCAG بررسی کن؛ حدس چشمی کافی نیست.

📐 معیار را درست انتخاب کن
برای سطح AA، متن معمولی حداقل نسبت 4.5:1 نیاز دارد. برای متن بزرگ، حداقل 3:1 است. در WCAG، «بزرگ» یعنی حداقل ۱۸ پوینت، یا ۱۴ پوینت با وزن بولد؛ در مقیاس CSS تقریباً ۲۴ و ۱۸٫۶۷ پیکسل.

در Figma یک نمونه از متن اصلی، متن توضیحی و متن دکمه را روی پس‌زمینه واقعی‌شان قرار بده. مقدار HEX رنگ‌ها را از بخش Fill بردار. برای این تمرین از رنگ‌های یکدست و بدون شفافیت استفاده کن؛ روی عکس یا گرادیان، یک جفت HEX کل وضعیت را نمایندگی نمی‌کند.

🧪 یک بررسی کوچک با پایتون
این کد بدون نصب کتابخانه، روشنایی نسبی رنگ‌های sRGB و نسبت کنتراست را محاسبه می‌کند:

def luminance(hex_color):
rgb = [int(hex_color[i:i+2], 16) / 255
for i in (1, 3, 5)]
linear = [c / 12.92 if c <= 0.04045
else ((c + 0.055) / 1.055) ** 2.4
for c in rgb]
return sum(c * w for c, w in
zip(linear, (0.2126, 0.7152, 0.0722)))

text = luminance("#767676")
background = luminance("#FFFFFF")
ratio = (max(text, background) + 0.05) / (
min(text, background) + 0.05)
print(f"Contrast: {ratio:.2f}:1")
print("AA normal text:", ratio >= 4.5)


خروجی این جفت رنگ تقریباً 4.54:1 است و برای متن معمولی قبول می‌شود. رنگ متن را به #777777 تغییر بده؛ نسبت تقریباً 4.48:1 می‌شود و دیگر قبول نیست. برای تصمیم‌گیری، عدد واقعی را مقایسه کن، نه مقدار گرد‌شده.

💡 اگر نتیجه پایین بود، متن را تیره‌تر یا پس‌زمینه را روشن‌تر کن و دوباره بسنج. رنگ خطا را هم تنها نشانه خطا نگذار؛ پیام متنی همراهش باشد.

مرجع رسمی کنتراست در WCAG

این بررسی را روی یکی از کارت‌های طرحت امتحان کن؛ خوانایی هم بخشی از زیبایی است. 🌱

🔖 #Design #طراحی #UI #UX #UI #Accessibility #WCAG #کنتراست #Figma

👤 Developix

💎 Channel: @DevelopixDesign
❤1👍1🔥1
🔥 پروژه: متریال دیزاین برای WPF

برای طراحی رابط اپ‌های دسکتاپ با WPF، لازم نیست ظاهر همهٔ کنترل‌ها را از صفر بسازی. کیت Material Design in XAML سبک متریال گوگل را به پروژه‌های C# و VB.NET می‌آورد.

کنترل‌های آماده، تم روشن و تیره و تنظیم رنگ‌های اصلی و تأکیدی، کمک می‌کنند رابط یکدست‌تری بسازی؛ مخصوصاً وقتی قرار است طرح UI به یک اپ ویندوزی واقعی تبدیل شود.

برای دیدن اجزا و رفتارشان، اپ نمونهٔ پروژه نقطهٔ شروع خوبی است؛ مخزن و نمونه‌ها را ببین.

⭐️ 16,276 ستاره

🔖 #Design #طراحی #UI #UX #UI

💎 @DevelopixDesign
👍1🔥1