@ -95,6 +95,66 @@ class FormulaAdminSite(UnfoldAdminSite):
super ( ) . __init__ ( * args , * * kwargs )
# Set login form after initialization to avoid circular import
self . login_form = LoginForm . get_form ( )
def _get_colors ( self , key , * args ) :
""" Override colors for Imam Javad admin panel with green theme """
from unfold.utils import hex_to_rgb
if key != " COLORS " :
return super ( ) . _get_colors ( key , * args )
# پالت رنگی سبز برای امام جواد
imam_javad_colors = {
" base " : {
" 50 " : " 249 250 251 " ,
" 100 " : " 243 244 246 " ,
" 200 " : " 229 231 235 " ,
" 300 " : " 209 213 219 " ,
" 400 " : " 156 163 175 " ,
" 500 " : " 107 114 128 " ,
" 600 " : " 75 85 99 " ,
" 700 " : " 55 65 81 " ,
" 800 " : " 31 41 55 " ,
" 900 " : " 17 24 39 " ,
" 950 " : " 3 7 18 " ,
} ,
" primary " : {
" 50 " : " 234 253 243 " ,
" 100 " : " 208 251 232 " ,
" 200 " : " 167 247 216 " ,
" 300 " : " 110 240 189 " ,
" 400 " : " 37 213 152 " ,
" 500 " : " 37 208 118 " , # #25D076 - سبز اصلی
" 600 " : " 29 166 94 " ,
" 700 " : " 25 136 80 " ,
" 800 " : " 22 108 66 " ,
" 900 " : " 20 89 57 " ,
" 950 " : " 10 53 34 " ,
} ,
" secondary " : {
" 50 " : " 240 253 250 " ,
" 100 " : " 204 251 241 " ,
" 200 " : " 153 246 228 " ,
" 300 " : " 94 234 212 " ,
" 400 " : " 45 212 191 " ,
" 500 " : " 1 53 59 " , # #01353B - پسزمینه تیره
" 600 " : " 1 43 48 " ,
" 700 " : " 1 36 40 " ,
" 800 " : " 1 30 34 " ,
" 900 " : " 0 26 29 " ,
" 950 " : " 0 13 15 " ,
} ,
" font " : {
" subtle-light " : " var(--color-base-500) " ,
" subtle-dark " : " var(--color-base-400) " ,
" default-light " : " var(--color-secondary-500) " ,
" default-dark " : " var(--color-base-300) " ,
" important-light " : " var(--color-base-900) " ,
" important-dark " : " 255 255 255 " ,
} ,
}
return imam_javad_colors
class DovoodiAdminSite ( UnfoldAdminSite ) :
""" Secondary Admin for Dovoodi """
@ -107,6 +167,69 @@ class DovoodiAdminSite(UnfoldAdminSite):
super ( ) . __init__ ( * args , * * kwargs )
# Set login form after initialization to avoid circular import
self . login_form = LoginForm . get_form ( )
def _get_colors ( self , key , * args ) :
""" Override colors for Dovoodi admin panel with blue/teal theme matching frontend """
from unfold.utils import hex_to_rgb
if key != " COLORS " :
return super ( ) . _get_colors ( key , * args )
# پالت رنگی آبی-تیره برای داوودی (مطابق با فرانت)
dovoodi_colors = {
" base " : {
# استفاده از Wormy scale برای base
" 50 " : " 252 251 250 " , # #FCFBFA
" 100 " : " 246 245 244 " , # #F6F5F4
" 200 " : " 240 236 233 " , # #F0ECE9
" 300 " : " 229 220 211 " , # #E5DCD3
" 400 " : " 191 174 157 " , # #BFAE9D
" 500 " : " 107 114 128 " ,
" 600 " : " 75 85 99 " ,
" 700 " : " 55 65 81 " ,
" 800 " : " 31 41 55 " ,
" 900 " : " 17 24 39 " , # #111827
" 950 " : " 3 7 18 " ,
} ,
" primary " : {
# استفاده از رنگ آبی اصلی فرانت
" 50 " : " 240 244 255 " , # #F0F4FF
" 100 " : " 224 231 255 " , # #E0E7FF
" 200 " : " 199 210 254 " , # #C7D2FE
" 300 " : " 165 180 252 " , # #A5B4FC
" 400 " : " 129 140 248 " , # #818CF8
" 500 " : " 99 102 241 " , # #6366F1
" 600 " : " 81 114 225 " , # #5172E1 - رنگ اصلی فرانت
" 700 " : " 59 89 196 " , # #3B59C4
" 800 " : " 45 68 145 " , # #2D4491
" 900 " : " 30 41 91 " ,
" 950 " : " 15 20 45 " ,
} ,
" secondary " : {
# استفاده از Second scale فرانت (تیره سبز-آبی)
" 50 " : " 210 215 215 " , # #D2D7D7
" 100 " : " 151 163 164 " , # #97A3A4
" 200 " : " 108 125 127 " , # #6C7D7F
" 300 " : " 44 69 72 " , # #2C4548
" 400 " : " 1 31 34 " , # #011F22
" 500 " : " 1 22 24 " , # #011618 - پسزمینه اصلی
" 600 " : " 1 19 21 " , # #011315
" 700 " : " 0 15 17 " ,
" 800 " : " 0 12 14 " ,
" 900 " : " 0 8 10 " ,
" 950 " : " 0 4 5 " ,
} ,
" font " : {
" subtle-light " : " var(--color-base-500) " ,
" subtle-dark " : " var(--color-base-400) " ,
" default-light " : " var(--color-secondary-400) " ,
" default-dark " : " var(--color-base-200) " ,
" important-light " : " var(--color-base-900) " ,
" important-dark " : " 255 255 255 " ,
} ,
}
return dovoodi_colors
# Simple admin site placeholders that will be replaced after Django setup
class AdminSitePlaceholder ( UnfoldAdminSite ) :