Dizayn tizimi
AppX har bir ilovani izchil dizayn tizimi asosida quradi — constants/ katalogi sizning ranglaringiz, tipografiyangiz va bo'shliqlaringizni saqlaydi. Har bir ekran qiymatlarni qattiq kodlash o'rniga unga murojaat qilgani uchun, global dizayn o'zgarishi bir qatorlik tahrir: faylni o'zgartiring (yoki shunchaki chatda so'rang), butun ilova esa yangilanadi. Bu haqiqiy Expo + React Native kodi, shuning uchun siz uning istalgan qismini o'qishingiz va o'zgartirishingiz mumkin.
Loyiha tuzilishi
Yaratilgan ilovalar quyidagilarni o'z ichiga oladi:
constants/
colors.ts ← Color palette and semantic colors
typography.ts ← Font sizes, weights, line heights
spacing.ts ← Padding and margin scale
theme.ts ← Combined theme export (optional)
Ranglar
constants/colors.ts ilovangizda ishlatiladigan barcha ranglarni belgilaydi:
export const colors = {
// Brand
primary: '#3b82f6', // Main accent color
primaryDark: '#2563eb', // Pressed state
secondary: '#06b6d4', // Secondary accent
// Neutrals
background: '#ffffff',
surface: '#f9fafb',
border: '#e5e7eb',
// Text
textPrimary: '#111827',
textSecondary: '#6b7280',
textDisabled: '#d1d5db',
// Semantic
success: '#22c55e',
warning: '#f59e0b',
error: '#ef4444',
info: '#3b82f6',
};
Har bir komponent hex qiymatlarini qattiq kodlash o'rniga colors.* ga murojaat qiladi. Butun ilovangiz bo'ylab asosiy rangni o'zgartirish uchun:
- Muharrirda
constants/colors.tsni oching primary: '#3b82f6'ni o'z rangingizga o'zgartiring- Saqlang —
colors.primarydan foydalanadigan barcha komponentlar bir zumda yangilanadi
Yoki shunchaki chatda tasvirlab bering: "Asosiy brend rangini binafsha #7c3aed ga o'zgartiring" — AppX ranglar faylini yangilaydi.
Tipografiya
constants/typography.ts matn uslublarini belgilaydi:
export const typography = {
// Sizes
xs: 12,
sm: 14,
base: 16,
lg: 18,
xl: 20,
'2xl': 24,
'3xl': 30,
'4xl': 36,
// Weights
regular: '400' as const,
medium: '500' as const,
semibold: '600' as const,
bold: '700' as const,
// Line heights
tight: 1.25,
normal: 1.5,
relaxed: 1.75,
};
Komponentlarda foydalanish:
title: {
fontSize: typography['2xl'],
fontWeight: typography.bold,
lineHeight: typography['2xl'] * typography.tight,
}
Qorong'i rejim (Dark Mode)
Agar AppX'dan qorong'i rejim qo'shishni so'rasangiz, u ikki rangli tizim yaratadi:
export const lightColors = {
background: '#ffffff',
surface: '#f9fafb',
textPrimary: '#111827',
// ...
};
export const darkColors = {
background: '#111827',
surface: '#1f2937',
textPrimary: '#f9fafb',
// ...
};
useTheme() hook'i qurilmaning rang sxemasi afzalligini o'qiydi va to'g'ri palitrani qaytaradi.
Ilovangizga qorong'i rejim qo'shish uchun:
"Add dark mode support. The app should follow the device's system setting (light/dark)."
Belgichalar (Icons)
AppX barcha belgichalar uchun lucide-react-native dan foydalanadi. U izchil uslubdagi 1000 dan ortiq belgichani o'z ichiga oladi.
Foydalanish:
import { Home, User, Settings, ChevronRight } from 'lucide-react-native';
// In JSX:
<Home size={24} color={colors.primary} />
Mavjud belgichalarni lucide.dev saytida ko'rib chiqing.
Dizayningizda muayyan belgichadan foydalanish uchun:
"Use the Bell icon from lucide-react-native in the header for notifications"
Shriftlar
Sukut bo'yicha AppX ilovalari tizim shriftidan foydalanadi (iOS'da San Francisco, Android'da Roboto). Maxsus shrift uchun:
"Use the Inter font family throughout the app"
AppX quyidagilarni bajaradi:
expo-fontni import qiladi- Shriftni Google Fonts'dan
@expo-google-fonts/interorqali yuklaydi - Shriftlar yuklanishini kutish uchun
_layout.tsxni yangilaydi - Inter'ni butun tipografiya konstantalari bo'ylab qo'llaydi
@expo-google-fonts dan mavjud shrift oilalari: Inter, Roboto, Poppins, Nunito, Raleway, Montserrat, Lato, Merriweather va yuzlab boshqalar.
Bo'shliq shkalasi (Spacing Scale)
Izchil bo'shliq joylashuvlarni jilolangan ko'rinishga keltiradi:
export const spacing = {
xs: 4,
sm: 8,
md: 12,
base: 16,
lg: 20,
xl: 24,
'2xl': 32,
'3xl': 48,
};
Foydalanish:
container: {
padding: spacing.base,
gap: spacing.md,
}
Dizayn tizimini sozlash
Sozlashning eng oddiy usuli — chat orqali:
"Update the design system:
- Primary color: #7c3aed (purple)
- Background: #faf5ff (very light purple)
- Rounded corners: 16px for cards, 8px for inputs
- Font: Poppins, semi-bold for headings"
AppX constants/colors.ts, constants/typography.ts ni yangilaydi va komponentlaringiz bo'ylab border radius o'zgarishlarini qo'llaydi.
Kreditlar haqida eslatma
Chat orqali qayta dizayn qilish boshqa har qanday tahrir kabi — u aslida qancha o'zgargani bo'yicha o'lchanadi, har bir navbatda minimal 1 kredit, va xuddi shu navbatdagi qayta urinishlar bepul. Agar AppX'dan noldan yangi dizayn tizimi yaratishni so'rasangiz, bu taxminan 1 kredit. To'liq manzara uchun Kreditlar bo'limiga qarang.