Commit 0fa3571d authored by Mahmoud Aglan's avatar Mahmoud Aglan

fix(hud): fits 360px phones; FIDE title strings

On narrow phones the purse keeps its tap but drops its plus key and the
name tightens, so the bell no longer falls off the screen edge. The eight
FIDE title labels on the profile editor were missing.
Co-Authored-By: 's avatarClaude Opus 5.5 <noreply@anthropic.com>
parent a20507ed
...@@ -210,6 +210,15 @@ html.no-chrome #hud, #hud:empty { display: none; } ...@@ -210,6 +210,15 @@ html.no-chrome #hud, #hud:empty { display: none; }
.hud-actions { display: flex; align-items: center; gap: 6px; } .hud-actions { display: flex; align-items: center; gap: 6px; }
/* Narrow phones: the purse keeps its tap, loses its plus key; the name tightens. */
@media (max-width: 400px) {
#hud { gap: 6px; padding-inline: 10px; }
.hud-stat { padding-inline: 4px 12px; min-width: 0; }
.hud-stat .hud-plus { display: none; }
.hud-name { max-width: 20vw; font-size: 14px; }
.hud-xp { width: 56px; }
}
.hud-btn { .hud-btn {
width: var(--hud-btn-size); width: var(--hud-btn-size);
height: var(--hud-btn-size); height: var(--hud-btn-size);
......
...@@ -342,11 +342,11 @@ const strings = { ...@@ -342,11 +342,11 @@ const strings = {
'domino.select_target': 'اختر الهدف', 'domino.select_target': 'اختر الهدف',
'domino.target_hint': 'أول من يوصل النقاط يفوز بالمباراة', 'domino.target_hint': 'أول من يوصل النقاط يفوز بالمباراة',
'domino.50_points': '50 نقطة', 'domino.50_points': '50 نقطة',
'domino.50_desc': 'مباراة سريعة (~5 دقائق)', 'domino.50_desc': 'مباراة سريعة، حوالي 5 دقائق',
'domino.100_points': '100 نقطة', 'domino.100_points': '100 نقطة',
'domino.100_desc': 'كلاسيك (~10 دقائق)', 'domino.100_desc': 'كلاسيكية، حوالي 10 دقائق',
'domino.150_points': '150 نقطة', 'domino.150_points': '150 نقطة',
'domino.150_desc': 'مباراة طويلة (~15 دقيقة)', 'domino.150_desc': 'مباراة طويلة، حوالي 15 دقيقة',
'ludo.title': 'لودو', 'ludo.title': 'لودو',
'ludo.subtitle': 'أول من يوصّل كل قطعه يفوز!', 'ludo.subtitle': 'أول من يوصّل كل قطعه يفوز!',
'ludo.local_play': 'لعب محلي', 'ludo.local_play': 'لعب محلي',
...@@ -1126,7 +1126,43 @@ const strings = { ...@@ -1126,7 +1126,43 @@ const strings = {
'backgammon.sheshbesh_desc': 'القطعة الوحيدة في البيت تنضرب وترجع للبار، ولازم تدخلها قبل أي حركة ثانية.', 'backgammon.sheshbesh_desc': 'القطعة الوحيدة في البيت تنضرب وترجع للبار، ولازم تدخلها قبل أي حركة ثانية.',
'backgammon.mahbousa_desc': 'كل القطع تبدأ في بيت واحد. انزل على قطعة الخصم الوحيدة لتحبسها حتى تتحرك عنها.', 'backgammon.mahbousa_desc': 'كل القطع تبدأ في بيت واحد. انزل على قطعة الخصم الوحيدة لتحبسها حتى تتحرك عنها.',
'backgammon.thirtyone_desc': 'أي بيت فيه قطعة للخصم مقفول عليك. الفائز يأخذ نقطة عن كل قطعة باقية مع الخصم، والماتش إلى ٣١.', 'backgammon.thirtyone_desc': 'أي بيت فيه قطعة للخصم مقفول عليك. الفائز يأخذ نقطة عن كل قطعة باقية مع الخصم، والماتش إلى ٣١.',
'game.opponent_reconnected': 'رجع الخصم' 'game.opponent_reconnected': 'رجع الخصم',
'ludo.result_winner': 'فاز {name}!',
'match.restored': 'رجعت للمباراة!',
'match.waiting_opponent': 'في انتظار خصمك',
'match.opponent_here': 'خصمك وصل!',
'match.time_low': 'الوقت ينفد!',
'match.seconds_left': 'باقي {n} ثانية',
'queue.cancelling': 'جاري الإلغاء...',
'queue.no_opponent_body': 'لا يوجد لاعبون متاحون الآن. جرّب مرة أخرى أو العب ضد الكمبيوتر.',
'queue.search_again': 'ابحث مرة أخرى',
'queue.play_bot': 'العب ضد الكمبيوتر',
'queue.error_title': 'تعذّر البحث',
'queue.error_body': 'تحقّق من اتصالك بالإنترنت وحاول مرة أخرى.',
'queue.cooldown_title': 'استراحة قصيرة',
'queue.cooldown_body': 'خرجت من مباريات كثيرة مؤخراً. يمكنك البحث من جديد بعد {n} ثانية.',
'queue.wins': '{n} فوز',
'queue.vs': 'VS',
'queue.found': 'تم العثور على خصم!',
'queue.players_n': '{n} لاعبين',
'lobby.expires_in': 'ينتهي التحدي خلال {n} ثانية',
'lobby.declined': 'رفض التحدي',
'lobby.declined_sub': 'صديقك رفض التحدي هذه المرة.',
'lobby.no_answer': 'لم يرد على التحدي',
'lobby.no_answer_sub': 'انتهت مدة التحدي قبل أن يقبله صديقك.',
'lobby.challenge_again': 'تحدّاه مرة أخرى',
'domino.you_left': 'غادرت الطاولة',
'chess.chip_review': 'مراجعة',
'chess.chip_share': 'مشاركة',
'chess.chip_copy': 'نسخ PGN',
'profile.fide_gm': 'أستاذ كبير (GM)',
'profile.fide_im': 'أستاذ دولي (IM)',
'profile.fide_fm': 'أستاذ FIDE (FM)',
'profile.fide_cm': 'مرشّح أستاذ (CM)',
'profile.fide_wgm': 'أستاذة كبيرة (WGM)',
'profile.fide_wim': 'أستاذة دولية (WIM)',
'profile.fide_wfm': 'أستاذة FIDE (WFM)',
'profile.fide_wcm': 'مرشّحة أستاذة (WCM)'
}, },
en: { en: {
'app.name': 'EL3AB', 'app.name': 'EL3AB',
...@@ -1469,11 +1505,11 @@ const strings = { ...@@ -1469,11 +1505,11 @@ const strings = {
'domino.select_target': 'Choose target', 'domino.select_target': 'Choose target',
'domino.target_hint': 'First to reach the points wins the match', 'domino.target_hint': 'First to reach the points wins the match',
'domino.50_points': '50 points', 'domino.50_points': '50 points',
'domino.50_desc': 'Quick match (~5 min)', 'domino.50_desc': 'Quick match, about 5 minutes',
'domino.100_points': '100 points', 'domino.100_points': '100 points',
'domino.100_desc': 'Classic (~10 min)', 'domino.100_desc': 'Classic, about 10 minutes',
'domino.150_points': '150 points', 'domino.150_points': '150 points',
'domino.150_desc': 'Long match (~15 min)', 'domino.150_desc': 'Long match, about 15 minutes',
'ludo.title': 'Ludo', 'ludo.title': 'Ludo',
'ludo.subtitle': 'First to get all pieces home wins!', 'ludo.subtitle': 'First to get all pieces home wins!',
'ludo.local_play': 'Local Play', 'ludo.local_play': 'Local Play',
...@@ -2253,7 +2289,43 @@ const strings = { ...@@ -2253,7 +2289,43 @@ const strings = {
'backgammon.sheshbesh_desc': 'A lone checker can be hit and sent to the bar, and must come back in before anything else moves.', 'backgammon.sheshbesh_desc': 'A lone checker can be hit and sent to the bar, and must come back in before anything else moves.',
'backgammon.mahbousa_desc': 'All checkers start on one point. Land on a lone opposing checker to pin it until you move away.', 'backgammon.mahbousa_desc': 'All checkers start on one point. Land on a lone opposing checker to pin it until you move away.',
'backgammon.thirtyone_desc': 'Any point holding an opposing checker is closed to you. The winner scores one point for every checker the loser still has; the match goes to 31.', 'backgammon.thirtyone_desc': 'Any point holding an opposing checker is closed to you. The winner scores one point for every checker the loser still has; the match goes to 31.',
'game.opponent_reconnected': 'Your opponent is back' 'game.opponent_reconnected': 'Your opponent is back',
'ludo.result_winner': '{name} wins!',
'match.restored': 'You\'re back in the game!',
'match.waiting_opponent': 'Waiting for your opponent',
'match.opponent_here': 'Your opponent is here!',
'match.time_low': 'Time is running out!',
'match.seconds_left': '{n}s left',
'queue.cancelling': 'Cancelling...',
'queue.no_opponent_body': 'Nobody is free right now. Try again, or play the computer.',
'queue.search_again': 'Search again',
'queue.play_bot': 'Play the computer',
'queue.error_title': 'Search failed',
'queue.error_body': 'Check your connection and try again.',
'queue.cooldown_title': 'A short break',
'queue.cooldown_body': 'You left several games recently. You can search again in {n}s.',
'queue.wins': '{n} wins',
'queue.vs': 'VS',
'queue.found': 'Opponent found!',
'queue.players_n': '{n} players',
'lobby.expires_in': 'The challenge expires in {n}s',
'lobby.declined': 'Challenge declined',
'lobby.declined_sub': 'Your friend turned it down this time.',
'lobby.no_answer': 'No answer',
'lobby.no_answer_sub': 'The challenge ran out before your friend accepted it.',
'lobby.challenge_again': 'Challenge again',
'domino.you_left': 'You left the table',
'chess.chip_review': 'Review',
'chess.chip_share': 'Share',
'chess.chip_copy': 'Copy PGN',
'profile.fide_gm': 'Grandmaster (GM)',
'profile.fide_im': 'International Master (IM)',
'profile.fide_fm': 'FIDE Master (FM)',
'profile.fide_cm': 'Candidate Master (CM)',
'profile.fide_wgm': 'Woman Grandmaster (WGM)',
'profile.fide_wim': 'Woman International Master (WIM)',
'profile.fide_wfm': 'Woman FIDE Master (WFM)',
'profile.fide_wcm': 'Woman Candidate Master (WCM)'
} }
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment