
    soj                         d dl Z d dlmZ d dlmZ d dlmZ eegZdedefdZ	dede
e         fdZdee
e         e
e         e
e         f         fdZ e            \  ZZZdededz  fd	ZdS )
    N)ButtonStyletextreturnc                     | sdS t          j        d| t           j                  }d                    d |D                       S )z
    Normalize button text for semantic style lookup, stripping emojis/symbols and casing.
    Works with any script (Latin, Persian, etc.), not just English.
     z	[^\W\d_]+ c              3   >   K   | ]}|                                 V  d S N)lower).0ws     $/app/src/utils/button_style_utils.py	<genexpr>z(normalize_button_text.<locals>.<genexpr>   s*      --!AGGII------    )refindallUNICODEjoin)r   wordss     r   normalize_button_textr      sI      r J|T2:66E88--u------r   valuesc                      d | D             S )Nc                 0    h | ]}|t          |          S  )r   )r   vs     r   	<setcomp>z%_normalized_values.<locals>.<setcomp>   s&    ::::!!$$:::r   r   )r   s    r   _normalized_valuesr      s    ::f::::r   c                     t                      } t                      }t                      }t          D ]&}| t          |j        |j        |j        |j        |j        |j        |j	        
                    |j                  |j        |j        |j        |j        |j        |j                  z  } |t          |j        |j        |j        |j        |j        |j        |j        |j	        
                    |j                  |j        |j        |j        |j        |j                  z  }|t          |j        |j         |j!        |j"        |j#        |j$                  z  }(| ||fS r
   )%set_LANGUAGE_MODULESr   TEXT_YESKEYBOARD_OPTION_YESKEYBOARD_OPTION_ACCEPTKEY_CONFIRMKEYBOARD_OPTION_SEND_REQUESTGRP_KEY_GAME_PLAY	TEXT_ONLYformatTEXT_WONKEY_OPENKEYBOARD_OPTION_RETREATKEY_JOIN_A_CREWPVT_KEY_CREW_SEARCH_JOINKEYBOARD_OPTION_CHOOSE!GRP_KEY_DAILY_REWARD_PRIZE_RANDOMTEXT_NOKEYBOARD_OPTION_NOKEYBOARD_OPTION_REJECTKEYBOARD_OPTION_CANCELKEYBOARD_OPTION_DELETE
KEY_REMOVEPVT_KEY_CREW_DISBAND	TEXT_LOSTKEYBOARD_OPTION_CLOSE	KEY_CLOSEKEYBOARD_OPTION_FIGHTKEYBOARD_OPTION_PLUNDERPVT_KEY_CREW_DAVY_BACK_FIGHTKEYBOARD_OPTION_BACKPVT_KEY_SHOW_ALLGRP_KEY_GAME_START_GLOBALKEYBOARD_OPTION_SCOUTKEYBOARD_OPTION_NEW_SCOUT!GRP_KEY_DAILY_REWARD_PRIZE_ACCEPT)success_textsdanger_textsprimary_textsps       r   _build_style_setsrG      s^   !eeM UUL!eeM '
 '
+J!$M*Kqz**J%&$/
 
 	
 	*I $$$L"Kq{++#K#%*
 
 	
 	+"'#'/
 
 	
 ,55r   c                     t          |           }|sdS |t          v rt          j        S |t          v rt          j        S |t          v rt          j        S dS )z
    Return a default style for globally-known semantic button labels, matched against
    both English and Persian phrasing so the styling works regardless of the currently
    active language.
    N)r   _SUCCESS_TEXTSr   SUCCESS_DANGER_TEXTSDANGER_PRIMARY_TEXTSPRIMARY)r   normalized_texts     r   get_semantic_button_stylerP   R   s_     ,D11O t.((""-''!!.((""4r   )r   resources.phrases_en
phrases_enresources.phrases_fa
phrases_fasrc.model.enums.ButtonStyler   r    strr   r   r   tuplerG   rI   rK   rM   rP   r   r   r   <module>rX      s   				 ) ) ) ) ) ) ) ) ) ) ) ) 3 3 3 3 3 3  , . . . . . .; ;C ; ; ; ;.65S3s8SX!=> .6 .6 .6 .6b 1B0A0C0C -~C K$,>      r   