تجاوز إلى المحتوى الرئيسي
Theone.pt
تسجيل الدخول
Theone.pt

دليل التصميم

الأساس البصري للمرحلة 0. الألوان والخطوط والمكوّنات.

Phase 0 · Foundation

الاتجاه: rtlar

معاينة ثنائية اللغة

Same content side by side in en (LTR) and ar (RTL) for visual QA.

en · LTR

The One for Physiotherapy

Appointment with Dr. Sara on June 1, 2026 at 2:30 PM.

Patient phone: ‎+962 79 012 3456‎

ar · RTL

المركز الأول للعلاج الطبيعي

موعد مع د. سارة بتاريخ 1 حزيران 2026 الساعة 2:30 م.

هاتف المراجع: ‎+962 79 012 3456‎

تنسيق التاريخ والأرقام

Outputs from lib/format/* in the active locale.

تاريخ مفصّل

1 حزيران 2026

تاريخ مختصر

01‏/06‏/2026

الوقت

2:30 م

وقت نسبي

بعد الغد

رقم منسّق

1,234,567

رقم الهاتف

‎+962 79 012 3456‎

formatDateTime

1 حزيران 2026 في 2:30 م

Hijri (islamic-umalqura)

15 ذو الحجة 1447 هـ

Auth states

Header shapes for anonymous and authenticated users, plus the two auth-flow banners.

Anonymous header

Theone.pt

Authenticated header

Theone.pt
ADMINSK

Locked-account banner

Must-change-password banner

Your password must be changed before continuing.

Permission codes

Generated from lib/rbac/permissions.ts — adding a code updates this table automatically.

Permission codePATIENTSECRETARYDOCTORTHERAPISTADMIN
own_profile.read
own_profile.update
users.create····
users.read····
users.read.patients····
users.read.therapists····
users.read.assigned···
users.update····
users.delete····
appointments.create···
appointments.read···
appointments.read.own····
appointments.read.assigned···
appointments.update···
appointments.delete···
appointments.cancel···
appointments.checkin···
appointments.complete··
appointments.noshow···
appointments.override_conflict···
treatment_plans.create···
treatment_plans.read···
treatment_plans.read.own····
treatment_plans.read.assigned···
treatment_plans.update.own···
treatment_plans.update.assigned····
treatment_plans.propose···
treatment_plans.approve···
treatment_plans.reject···
treatment_plans.pause···
treatment_plans.complete···
treatment_plans.discontinue···
session_notes.create.own···
session_notes.read···
session_notes.read.assigned···
session_notes.update.own···
session_notes.addendum··
patient_timeline.read···
patient_timeline.read.assigned···
patient_timeline.read.limited····
home_program.read·
home_program.read.own····
home_program.create.assigned····
home_program.update.assigned····
exercises.create··
exercises.read
exercises.update··
exercises.archive····
home_program.create··
home_program.update··
home_program.delete··
home_program.complete.own····
exercise_media.create····
exercise_media.read····
exercise_media.read.own····
exercise_media.update····
exercise_media.delete····
exercise_media.create.own····
exercise_media.update.own····
exercise_media.delete.own····
leaves.create.own·
leaves.read.own·
leaves.read···
leaves.update····
leaves.delete····
reports.read··
reports.read.own····
reports.submit···
reports.review···
doctor_reviews.create···
doctor_reviews.read.assigned···
timeline.read.assigned··
notifications.read.own
notifications.mark_read.own
rooms.read·
rooms.create····
rooms.update····
rooms.archive····
rooms.delete····
patients.create···
patients.read···
patients.read.assigned···
patients.read.own····
patients.update···
patients.update.own····
patients.archive····
patients.reset_password···
intake.create···
intake.read···
intake.read.assigned···
intake.read.own····
intake.update···
whatsapp_templates.create····
whatsapp_templates.read····
whatsapp_templates.update····
whatsapp_templates.delete····
whatsapp_messages.read····
whatsapp_messages.resend····
inbox.read···
inbox.resolve···
system_settings.create····
system_settings.read····
system_settings.update····
system_settings.delete····
audit_log.read····

Error states

Every code in AUTH_ERRORS rendered with its localized English and Arabic message.

INVALID_CREDENTIALS

Email or password is incorrect.

البريد الإلكتروني أو كلمة المرور غير صحيحة.

OTP_INVALID

The verification code is incorrect.

رمز التحقق غير صحيح.

OTP_EXPIRED

The verification code has expired. Request a new one.

انتهت صلاحية رمز التحقق. اطلب رمزاً جديداً.

OTP_LOCKED

Too many incorrect codes. Request a new one.

عدد كبير من الرموز الخاطئة. اطلب رمزاً جديداً.

OTP_COOLDOWN

Please wait before requesting another code.

يرجى الانتظار قبل طلب رمز جديد.

ACCOUNT_LOCKED

This account is temporarily locked. Try again in 15 minutes.

هذا الحساب مقفل مؤقتاً. حاول مجدداً بعد 15 دقيقة.

RATE_LIMITED

Too many attempts. Please slow down.

محاولات كثيرة جداً. يرجى التمهّل.

WEAK_PASSWORD

Password must be at least 8 characters with upper, lower, number, and symbol.

يجب أن تحوي كلمة المرور 8 أحرف على الأقل، وحرفاً كبيراً وصغيراً ورقماً ورمزاً.

TOKEN_INVALID

This reset link is invalid or has expired.

رابط إعادة التعيين غير صالح أو منتهي الصلاحية.

UNAUTHENTICATED

Sign-in required.

يلزم تسجيل الدخول.

FORBIDDEN

You do not have permission for this action.

ليست لديك صلاحية لهذا الإجراء.

الألوان

Eleven locked tokens. Both Tailwind classes and CSS variables resolve to these values.

brand.navy#0B1E47
--brand-navy

Primary actions, headers, hero backgrounds

brand.navyDeep#091638
--brand-navy-deep

Hover state on navy buttons

brand.blue#1B4982
--brand-blue

Secondary surfaces, gradient start

brand.teal#1E5F58
--brand-teal

Success states, highlight cards

brand.cyan#3DC0D9
--brand-cyan

Icons, gradient end, links, accents

brand.cyanLight#7DDBE9
--brand-cyan-light

Hover state on cyan

brand.bg#F2F4F8
--brand-bg

Page background

brand.surface#FFFFFF
--brand-surface

Cards, modals, elevated surfaces

brand.text#0B1E47
--brand-text

Body text on light surfaces

brand.textMuted#5A6580
--brand-text-muted

Secondary text, captions

brand.border#D8DEE8
--brand-border

Card borders, dividers

تدرّج الإجراء الرئيسي

Primary call-to-action surface — locked gradient direction.

bg-gradient-cta

الخطوط

Inter for Latin, IBM Plex Sans Arabic for Arabic. Weights 400 and 500 only.

Heading 1 — quick brown fox

Heading 2 — quick brown fox

Heading 3 — quick brown fox

Heading 4 — quick brown fox

Heading 5 — quick brown fox
Heading 6 — quick brown fox

Body large — sentence-case copy used for high-emphasis paragraphs.

Body — default 16px, line-height 1.6, weight 400.

Small — used for secondary details and labels.

Caption — timestamps, helper text, footnotes.

المركز الأول للعلاج الطبيعي

هذا نص اختباري لعرض الخط العربي ضمن نظام التصميم.

الجملة الافتراضية بحجم ١٦ بكسل لاستعراض الوزن العادي.

نص ثانوي للملاحظات والتعليقات.

الأزرار

All shadcn variants plus the brand CTA gradient.

حقول الإدخال

Input + Label, plus disabled and error states.

Enter a valid Jordanian mobile number.

البطاقات

Three reference layouts: basic, header + footer, elevated.

Basic card

Single block of content, no chrome.

With header and footer
Used for forms and grouped settings.

The header carries the title; the footer holds primary and secondary actions.

Elevated
For modals, popovers, dropdowns.

Same anatomy, deeper shadow signals lift above the page surface.

الشارات

Status, category, and counter chips.

Default · navyTeal · successCyan · accentSecondaryMuted · grayOutlineDestructive

مقياس التباعد

Tailwind spacing tokens used in the system (multiples of 4px).

w-1
4px · spacing-1
w-2
8px · spacing-2
w-4
16px · spacing-4
w-8
32px · spacing-8
w-16
64px · spacing-16