diff options
| author | Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> | 2025-10-22 02:12:41 +0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-22 01:12:41 +0300 |
| commit | 04dfe7e557389e1dc7c9f913074b3400d71dc097 (patch) | |
| tree | 3c112fef80473bad01fb387f0326ba8f89bd2c6b | |
| parent | feat/frontend: add general mobile support (#275) (diff) | |
| download | lphub-04dfe7e557389e1dc7c9f913074b3400d71dc097.tar.gz lphub-04dfe7e557389e1dc7c9f913074b3400d71dc097.tar.bz2 lphub-04dfe7e557389e1dc7c9f913074b3400d71dc097.zip | |
fix/frontend: mobile scrolling, maps and profile clipping (#276)
| -rw-r--r-- | frontend/src/App.css | 2 | ||||
| -rw-r--r-- | frontend/src/css/Maps.css | 156 | ||||
| -rw-r--r-- | frontend/src/css/Profile.css | 43 |
3 files changed, 181 insertions, 20 deletions
diff --git a/frontend/src/App.css b/frontend/src/App.css index eb39d85..8325f87 100644 --- a/frontend/src/App.css +++ b/frontend/src/App.css | |||
| @@ -18,7 +18,7 @@ a { | |||
| 18 | } | 18 | } |
| 19 | 19 | ||
| 20 | body { | 20 | body { |
| 21 | overflow: hidden; | 21 | overflow-x: hidden; |
| 22 | background-color: #141520; | 22 | background-color: #141520; |
| 23 | margin: 0; | 23 | margin: 0; |
| 24 | } | 24 | } |
diff --git a/frontend/src/css/Maps.css b/frontend/src/css/Maps.css index 4c90c6f..4ae6727 100644 --- a/frontend/src/css/Maps.css +++ b/frontend/src/css/Maps.css | |||
| @@ -147,9 +147,10 @@ p>span.portal-count { | |||
| 147 | } | 147 | } |
| 148 | 148 | ||
| 149 | #history { | 149 | #history { |
| 150 | min-width: 560px; | 150 | width: 100%; |
| 151 | background-color: #202232; | 151 | background-color: #202232; |
| 152 | border-radius: 24px; | 152 | border-radius: 24px; |
| 153 | box-sizing: border-box; | ||
| 153 | 154 | ||
| 154 | } | 155 | } |
| 155 | 156 | ||
| @@ -310,13 +311,14 @@ p>span.portal-count { | |||
| 310 | #difficulty, | 311 | #difficulty, |
| 311 | #count { | 312 | #count { |
| 312 | background-color: #202232; | 313 | background-color: #202232; |
| 313 | min-width: 250px; | 314 | width: 100%; |
| 314 | text-align: center; | 315 | text-align: center; |
| 315 | cursor: default; | 316 | cursor: default; |
| 316 | 317 | ||
| 317 | border-radius: 24px; | 318 | border-radius: 24px; |
| 318 | display: grid; | 319 | display: grid; |
| 319 | grid-template-rows: 20px 40px 40px; | 320 | grid-template-rows: 20px 40px 40px; |
| 321 | box-sizing: border-box; | ||
| 320 | } | 322 | } |
| 321 | 323 | ||
| 322 | #difficulty>span:nth-child(1), | 324 | #difficulty>span:nth-child(1), |
| @@ -862,19 +864,27 @@ p>span.portal-count { | |||
| 862 | } | 864 | } |
| 863 | 865 | ||
| 864 | #category { | 866 | #category { |
| 865 | min-width: 608px; | 867 | min-width: unset; |
| 868 | width: 100%; | ||
| 869 | max-width: 608px; | ||
| 866 | } | 870 | } |
| 867 | 871 | ||
| 868 | #history { | 872 | #history { |
| 869 | min-width: 608px; | 873 | min-width: unset; |
| 874 | width: 100%; | ||
| 875 | max-width: 608px; | ||
| 870 | } | 876 | } |
| 871 | 877 | ||
| 872 | #description { | 878 | #description { |
| 873 | min-width: 608px; | 879 | min-width: unset; |
| 880 | width: 100%; | ||
| 881 | max-width: 608px; | ||
| 874 | } | 882 | } |
| 875 | 883 | ||
| 876 | #section4.summary1 { | 884 | #section4.summary1 { |
| 877 | min-width: 588px; | 885 | min-width: unset; |
| 886 | width: 100%; | ||
| 887 | max-width: 588px; | ||
| 878 | } | 888 | } |
| 879 | 889 | ||
| 880 | #description>iframe { | 890 | #description>iframe { |
| @@ -893,7 +903,8 @@ p>span.portal-count { | |||
| 893 | 903 | ||
| 894 | #section2.summary1 { | 904 | #section2.summary1 { |
| 895 | grid-template-columns: auto; | 905 | grid-template-columns: auto; |
| 896 | width: 450px; | 906 | width: 100%; |
| 907 | max-width: 450px; | ||
| 897 | margin: 40px auto 0 auto; | 908 | margin: 40px auto 0 auto; |
| 898 | } | 909 | } |
| 899 | 910 | ||
| @@ -911,19 +922,37 @@ p>span.portal-count { | |||
| 911 | } | 922 | } |
| 912 | 923 | ||
| 913 | @media screen and (max-width: 768px) { | 924 | @media screen and (max-width: 768px) { |
| 925 | * { | ||
| 926 | box-sizing: border-box; | ||
| 927 | } | ||
| 928 | |||
| 914 | #section1 { | 929 | #section1 { |
| 915 | margin: 20px 0 0 0; | 930 | margin: 20px 0 0 0; |
| 931 | width: 100%; | ||
| 916 | } | 932 | } |
| 917 | 933 | ||
| 918 | #section2 { | 934 | #section2 { |
| 919 | grid-template-columns: 1fr; | 935 | grid-template-columns: 1fr; |
| 920 | gap: 0; | 936 | gap: 0; |
| 937 | width: 100%; | ||
| 938 | max-width: 100%; | ||
| 939 | overflow: hidden; | ||
| 940 | margin: 40px 0 0 0; | ||
| 941 | box-sizing: border-box; | ||
| 921 | } | 942 | } |
| 922 | 943 | ||
| 923 | #section2>.nav-button { | 944 | #section2>.nav-button { |
| 924 | border-radius: 0; | 945 | border-radius: 0; |
| 925 | font-size: 18px; | 946 | font-size: 18px; |
| 926 | height: 45px; | 947 | height: 45px; |
| 948 | width: 100%; | ||
| 949 | box-sizing: border-box; | ||
| 950 | padding: 0; | ||
| 951 | margin: 0; | ||
| 952 | min-width: 0; | ||
| 953 | display: flex; | ||
| 954 | justify-content: center; | ||
| 955 | align-items: center; | ||
| 927 | } | 956 | } |
| 928 | 957 | ||
| 929 | #section2>.nav-button:nth-child(1) { | 958 | #section2>.nav-button:nth-child(1) { |
| @@ -934,51 +963,108 @@ p>span.portal-count { | |||
| 934 | border-radius: 0 0 20px 20px; | 963 | border-radius: 0 0 20px 20px; |
| 935 | } | 964 | } |
| 936 | 965 | ||
| 966 | #section2>.nav-button>span { | ||
| 967 | padding: 0 8px; | ||
| 968 | overflow: hidden; | ||
| 969 | text-overflow: ellipsis; | ||
| 970 | white-space: nowrap; | ||
| 971 | min-width: 0; | ||
| 972 | flex: 0 1 auto; | ||
| 973 | } | ||
| 974 | |||
| 975 | #section2>.nav-button>img { | ||
| 976 | scale: 1; | ||
| 977 | flex-shrink: 0; | ||
| 978 | } | ||
| 979 | |||
| 937 | #section3 { | 980 | #section3 { |
| 938 | grid-template-columns: 1fr; | 981 | grid-template-columns: 1fr; |
| 939 | gap: 20px; | 982 | gap: 20px; |
| 983 | width: 100%; | ||
| 940 | } | 984 | } |
| 941 | 985 | ||
| 942 | #history { | 986 | #history { |
| 943 | min-width: unset; | 987 | min-width: unset; |
| 944 | width: 100%; | 988 | width: 100%; |
| 989 | max-width: 100%; | ||
| 990 | box-sizing: border-box; | ||
| 945 | } | 991 | } |
| 946 | 992 | ||
| 947 | #category { | 993 | #category { |
| 948 | min-width: unset; | 994 | min-width: unset; |
| 949 | width: 100%; | 995 | width: 100%; |
| 996 | max-width: 100%; | ||
| 997 | box-sizing: border-box; | ||
| 950 | } | 998 | } |
| 951 | 999 | ||
| 952 | #section4 { | 1000 | #section4 { |
| 953 | grid-template-columns: 1fr; | 1001 | grid-template-columns: 1fr; |
| 1002 | width: 100%; | ||
| 1003 | gap: 20px; | ||
| 1004 | } | ||
| 1005 | |||
| 1006 | #difficulty, | ||
| 1007 | #count { | ||
| 1008 | min-width: unset; | ||
| 1009 | width: 100%; | ||
| 954 | } | 1010 | } |
| 955 | 1011 | ||
| 956 | #description>iframe { | 1012 | #description>iframe { |
| 957 | width: 100%; | 1013 | width: 100%; |
| 1014 | max-width: 100%; | ||
| 958 | height: 250px; | 1015 | height: 250px; |
| 959 | margin: 20px 0; | 1016 | margin: 20px 0; |
| 960 | padding: 0; | 1017 | padding: 0; |
| 1018 | box-sizing: border-box; | ||
| 961 | } | 1019 | } |
| 962 | 1020 | ||
| 963 | #section5 { | 1021 | #section5 { |
| 964 | margin: 20px 0; | 1022 | margin: 20px 0; |
| 1023 | width: 100%; | ||
| 1024 | max-width: 100%; | ||
| 965 | } | 1025 | } |
| 966 | 1026 | ||
| 967 | #description { | 1027 | #description { |
| 968 | min-height: unset; | 1028 | min-height: unset; |
| 969 | width: 100%; | 1029 | width: 100%; |
| 1030 | max-width: 100%; | ||
| 1031 | box-sizing: border-box; | ||
| 1032 | } | ||
| 1033 | |||
| 1034 | #description-text { | ||
| 1035 | word-wrap: break-word; | ||
| 1036 | overflow-wrap: break-word; | ||
| 1037 | width: 100%; | ||
| 1038 | box-sizing: border-box; | ||
| 1039 | } | ||
| 1040 | |||
| 1041 | #section6 { | ||
| 1042 | width: 100%; | ||
| 1043 | max-width: 100%; | ||
| 1044 | box-sizing: border-box; | ||
| 1045 | overflow-x: auto; | ||
| 970 | } | 1046 | } |
| 971 | 1047 | ||
| 972 | #leaderboard-top { | 1048 | #leaderboard-top { |
| 973 | font-size: 14px; | 1049 | font-size: 12px; |
| 974 | padding-left: 30px; | 1050 | padding-left: 10px; |
| 975 | grid-template-columns: 20% 20% 8% 15% 8% 10% 10% 9%; | 1051 | padding-right: 10px; |
| 1052 | margin: 0 10px; | ||
| 1053 | min-width: max-content; | ||
| 976 | } | 1054 | } |
| 977 | 1055 | ||
| 978 | .leaderboard-record { | 1056 | .leaderboard-record { |
| 979 | font-size: 14px; | 1057 | font-size: 12px; |
| 980 | padding-left: 30px; | 1058 | padding-left: 10px; |
| 981 | grid-template-columns: 20% 20% 8% 15% 8% 10% 10% 9%; | 1059 | padding-right: 10px; |
| 1060 | margin: 10px 10px 0 10px; | ||
| 1061 | width: calc(100% - 20px); | ||
| 1062 | min-width: max-content; | ||
| 1063 | box-sizing: border-box; | ||
| 1064 | } | ||
| 1065 | |||
| 1066 | .leaderboard-record:last-child { | ||
| 1067 | margin: 10px 10px 10px 10px; | ||
| 982 | } | 1068 | } |
| 983 | 1069 | ||
| 984 | .leaderboard-record>div>a>span>img { | 1070 | .leaderboard-record>div>a>span>img { |
| @@ -989,8 +1075,21 @@ p>span.portal-count { | |||
| 989 | width: 80px; | 1075 | width: 80px; |
| 990 | } | 1076 | } |
| 991 | 1077 | ||
| 1078 | #section7 { | ||
| 1079 | width: 100%; | ||
| 1080 | max-width: 100%; | ||
| 1081 | box-sizing: border-box; | ||
| 1082 | } | ||
| 1083 | |||
| 992 | #discussion-search { | 1084 | #discussion-search { |
| 993 | grid-template-columns: 1fr 80px; | 1085 | grid-template-columns: 1fr 80px; |
| 1086 | width: 100%; | ||
| 1087 | box-sizing: border-box; | ||
| 1088 | } | ||
| 1089 | |||
| 1090 | #discussion-search>input { | ||
| 1091 | width: 100%; | ||
| 1092 | box-sizing: border-box; | ||
| 994 | } | 1093 | } |
| 995 | 1094 | ||
| 996 | #discussion-search>div>button { | 1095 | #discussion-search>div>button { |
| @@ -998,6 +1097,37 @@ p>span.portal-count { | |||
| 998 | font-size: 14px; | 1097 | font-size: 14px; |
| 999 | } | 1098 | } |
| 1000 | 1099 | ||
| 1100 | #discussion-post>button:nth-child(1) { | ||
| 1101 | width: 100%; | ||
| 1102 | box-sizing: border-box; | ||
| 1103 | overflow: hidden; | ||
| 1104 | } | ||
| 1105 | |||
| 1106 | #discussion-create { | ||
| 1107 | width: 100%; | ||
| 1108 | box-sizing: border-box; | ||
| 1109 | } | ||
| 1110 | |||
| 1111 | #discussion-create>div>input { | ||
| 1112 | width: 100%; | ||
| 1113 | box-sizing: border-box; | ||
| 1114 | } | ||
| 1115 | |||
| 1116 | #discussion-thread>div:nth-child(1) { | ||
| 1117 | width: 100%; | ||
| 1118 | box-sizing: border-box; | ||
| 1119 | } | ||
| 1120 | |||
| 1121 | #discussion-send { | ||
| 1122 | width: 100%; | ||
| 1123 | box-sizing: border-box; | ||
| 1124 | } | ||
| 1125 | |||
| 1126 | #discussion-send>input { | ||
| 1127 | width: 100%; | ||
| 1128 | box-sizing: border-box; | ||
| 1129 | } | ||
| 1130 | |||
| 1001 | .nav-button { | 1131 | .nav-button { |
| 1002 | font-size: 16px; | 1132 | font-size: 16px; |
| 1003 | } | 1133 | } |
diff --git a/frontend/src/css/Profile.css b/frontend/src/css/Profile.css index 9b5b4ef..2522602 100644 --- a/frontend/src/css/Profile.css +++ b/frontend/src/css/Profile.css | |||
| @@ -289,12 +289,19 @@ span.titles { | |||
| 289 | } | 289 | } |
| 290 | 290 | ||
| 291 | @media screen and (max-width: 768px) { | 291 | @media screen and (max-width: 768px) { |
| 292 | * { | ||
| 293 | box-sizing: border-box; | ||
| 294 | } | ||
| 295 | |||
| 292 | #section1.profile { | 296 | #section1.profile { |
| 293 | margin: 20px; | 297 | margin: 20px; |
| 294 | grid-template-columns: 1fr; | 298 | grid-template-columns: 1fr; |
| 295 | height: auto; | 299 | height: auto; |
| 296 | min-height: 300px; | 300 | min-height: 300px; |
| 297 | background: linear-gradient(0deg, #202232 60%, #2b2e46 40%); | 301 | background: linear-gradient(0deg, #202232 60%, #2b2e46 40%); |
| 302 | width: calc(100% - 40px); | ||
| 303 | max-width: 100%; | ||
| 304 | box-sizing: border-box; | ||
| 298 | } | 305 | } |
| 299 | 306 | ||
| 300 | #section1.profile>div:first-child { | 307 | #section1.profile>div:first-child { |
| @@ -306,16 +313,22 @@ span.titles { | |||
| 306 | grid-template-columns: 1fr; | 313 | grid-template-columns: 1fr; |
| 307 | height: auto; | 314 | height: auto; |
| 308 | text-align: center; | 315 | text-align: center; |
| 316 | width: 100%; | ||
| 317 | box-sizing: border-box; | ||
| 309 | } | 318 | } |
| 310 | 319 | ||
| 311 | #profile-top>div:nth-child(1) { | 320 | #profile-top>div:nth-child(1) { |
| 312 | justify-content: center; | 321 | justify-content: center; |
| 313 | font-size: 32px; | 322 | font-size: 32px; |
| 323 | word-wrap: break-word; | ||
| 324 | overflow-wrap: break-word; | ||
| 325 | flex-wrap: wrap; | ||
| 314 | } | 326 | } |
| 315 | 327 | ||
| 316 | #profile-top>div:nth-child(1)>div { | 328 | #profile-top>div:nth-child(1)>div { |
| 317 | flex-direction: column; | 329 | flex-direction: column; |
| 318 | height: auto; | 330 | height: auto; |
| 331 | max-width: 100%; | ||
| 319 | } | 332 | } |
| 320 | 333 | ||
| 321 | #profile-top>div:nth-child(2) { | 334 | #profile-top>div:nth-child(2) { |
| @@ -326,15 +339,20 @@ span.titles { | |||
| 326 | #profile-bottom { | 339 | #profile-bottom { |
| 327 | grid-template-columns: 1fr; | 340 | grid-template-columns: 1fr; |
| 328 | height: auto; | 341 | height: auto; |
| 342 | width: 100%; | ||
| 329 | } | 343 | } |
| 330 | 344 | ||
| 331 | #profile-bottom>div { | 345 | #profile-bottom>div { |
| 332 | margin: 8px 12px; | 346 | margin: 8px 12px; |
| 347 | box-sizing: border-box; | ||
| 333 | } | 348 | } |
| 334 | 349 | ||
| 335 | #section2.profile { | 350 | #section2.profile { |
| 336 | margin: 20px; | 351 | margin: 20px; |
| 337 | height: 50px; | 352 | height: 50px; |
| 353 | width: calc(100% - 40px); | ||
| 354 | max-width: 100%; | ||
| 355 | box-sizing: border-box; | ||
| 338 | } | 356 | } |
| 339 | 357 | ||
| 340 | #section2.profile>button { | 358 | #section2.profile>button { |
| @@ -343,28 +361,41 @@ span.titles { | |||
| 343 | 361 | ||
| 344 | #section3.profile1 { | 362 | #section3.profile1 { |
| 345 | margin: 20px; | 363 | margin: 20px; |
| 364 | width: calc(100% - 40px); | ||
| 365 | max-width: 100%; | ||
| 366 | box-sizing: border-box; | ||
| 367 | overflow-x: auto; | ||
| 346 | } | 368 | } |
| 347 | 369 | ||
| 348 | #profileboard-nav { | 370 | #profileboard-nav { |
| 349 | grid-template-columns: 1fr; | 371 | grid-template-columns: 1fr; |
| 372 | width: 100%; | ||
| 350 | } | 373 | } |
| 351 | 374 | ||
| 352 | #profileboard-nav>select { | 375 | #profileboard-nav>select { |
| 353 | margin: 20px; | 376 | margin: 20px; |
| 354 | height: 45px; | 377 | height: 45px; |
| 355 | font-size: 18px; | 378 | font-size: 18px; |
| 379 | width: calc(100% - 40px); | ||
| 380 | box-sizing: border-box; | ||
| 356 | } | 381 | } |
| 357 | 382 | ||
| 358 | #profileboard-top { | 383 | #profileboard-top { |
| 359 | font-size: 14px; | 384 | font-size: 12px; |
| 360 | padding-left: 20px; | 385 | padding-left: 10px; |
| 361 | grid-template-columns: 18% 18% 8% 15% 8% 10% 10% 13%; | 386 | padding-right: 10px; |
| 387 | margin: 0 10px; | ||
| 388 | min-width: max-content; | ||
| 362 | } | 389 | } |
| 363 | 390 | ||
| 364 | .profileboard-record { | 391 | .profileboard-record { |
| 365 | font-size: 14px; | 392 | font-size: 12px; |
| 366 | padding-left: 20px; | 393 | padding-left: 10px; |
| 367 | grid-template-columns: 18% 18% 8% 15% 8% 10% 10% 13%; | 394 | padding-right: 10px; |
| 395 | margin: 10px; | ||
| 396 | width: calc(100% - 20px); | ||
| 397 | min-width: max-content; | ||
| 398 | box-sizing: border-box; | ||
| 368 | } | 399 | } |
| 369 | 400 | ||
| 370 | span.titles { | 401 | span.titles { |