@mideind/netskrafl-react 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -966,6 +966,8 @@ div.board {
966
966
  background-color: var(--container-bg-color);
967
967
  overflow: auto; /* Must be auto to allow panning/scrolling */
968
968
  width: 100%;
969
+ /* Prevent scroll from propagating to parent */
970
+ overscroll-behavior: contain;
969
971
  }
970
972
 
971
973
  div.tile {
@@ -1323,7 +1325,7 @@ div.recallbtn {
1323
1325
  border-radius: 5px;
1324
1326
  cursor: pointer;
1325
1327
  width: 45px;
1326
- height: 41px;
1328
+ height: 48px;
1327
1329
  background-color: var(--triple-word-color);
1328
1330
  }
1329
1331
 
@@ -1344,7 +1346,7 @@ div.scramblebtn {
1344
1346
  border-radius: 5px;
1345
1347
  cursor: pointer;
1346
1348
  width: 45px;
1347
- height: 41px;
1349
+ height: 48px;
1348
1350
  background-color: var(--malfridur-accent);
1349
1351
  }
1350
1352
 
@@ -1634,6 +1636,8 @@ div.tabbed-page {
1634
1636
  overflow: hidden;
1635
1637
  font-size: 13px;
1636
1638
  line-height: 23px;
1639
+ /* Prevent scroll from propagating to parent */
1640
+ overscroll-behavior: contain;
1637
1641
  }
1638
1642
 
1639
1643
  div.tab-scroll-area {
@@ -2543,6 +2547,8 @@ div#main-tabs > div[role=tabpanel] {
2543
2547
  position: relative;
2544
2548
  top: -8px;
2545
2549
  height: 504px;
2550
+ /* Prevent scroll from propagating to parent */
2551
+ overscroll-behavior: contain;
2546
2552
  }
2547
2553
 
2548
2554
  div#main-tabs div.header-logo {
@@ -3022,6 +3028,8 @@ div #elolist {
3022
3028
  /* 11 lines @ 36px each */
3023
3029
  overflow-y: auto;
3024
3030
  overflow-x: hidden;
3031
+ /* Prevent scroll from propagating to parent */
3032
+ overscroll-behavior-y: contain;
3025
3033
  }
3026
3034
 
3027
3035
  div #gamelist {
@@ -3029,6 +3037,8 @@ div #gamelist {
3029
3037
  /* 13 lines @ 36px each */
3030
3038
  overflow-y: auto;
3031
3039
  overflow-x: hidden;
3040
+ /* Prevent scroll from propagating to parent */
3041
+ overscroll-behavior-y: contain;
3032
3042
  }
3033
3043
 
3034
3044
  div #recentlist {
@@ -3036,6 +3046,8 @@ div #recentlist {
3036
3046
  /* 11 lines @ 36px each */
3037
3047
  overflow-y: auto;
3038
3048
  overflow-x: hidden;
3049
+ /* Prevent scroll from propagating to parent */
3050
+ overscroll-behavior-y: contain;
3039
3051
  }
3040
3052
 
3041
3053
  div #usr-recent {
@@ -3043,6 +3055,8 @@ div #usr-recent {
3043
3055
  /* 12 lines @ 36px each */
3044
3056
  overflow-y: auto;
3045
3057
  overflow-x: hidden;
3058
+ /* Prevent scroll from propagating to parent */
3059
+ overscroll-behavior-y: contain;
3046
3060
  }
3047
3061
 
3048
3062
  div #chall-sent,
@@ -3051,6 +3065,8 @@ div #chall-received {
3051
3065
  /* 6 lines @ 36px each */
3052
3066
  overflow-y: auto;
3053
3067
  overflow-x: hidden;
3068
+ /* Prevent scroll from propagating to parent */
3069
+ overscroll-behavior-y: contain;
3054
3070
  }
3055
3071
 
3056
3072
  div.games {
@@ -5627,7 +5643,7 @@ a.nodecorate:hover {
5627
5643
 
5628
5644
  a.iconlink:link {
5629
5645
  text-decoration: none;
5630
- color: var(--header-color);
5646
+ color: var(--malfridur-accent);
5631
5647
  }
5632
5648
 
5633
5649
  a.iconlink:visited {
@@ -5686,6 +5702,13 @@ div#tabs-3 li {
5686
5702
  padding: auto;
5687
5703
  }
5688
5704
 
5705
+ /* Base help container styles - applies to all viewports */
5706
+
5707
+ div.help-container {
5708
+ /* Prevent scroll from propagating to parent */
5709
+ overscroll-behavior: contain;
5710
+ }
5711
+
5689
5712
  div.help-container ol li {
5690
5713
  font-weight: bold;
5691
5714
  }
@@ -6265,12 +6288,17 @@ div.signup-header {
6265
6288
  left: 28px;
6266
6289
  width: 50px;
6267
6290
  height: 50px;
6268
- font-size: 40px;
6291
+ font-size: 46px;
6269
6292
  text-align: center;
6270
6293
  }
6271
6294
  div.info:hover {
6272
6295
  animation: expand 0.4s;
6273
6296
  }
6297
+ div.gatadagsins div.info {
6298
+ top: 40px;
6299
+ left: 26px;
6300
+ bottom: auto;
6301
+ }
6274
6302
  div.login-error {
6275
6303
  position: absolute;
6276
6304
  padding-left: 12px;
@@ -7535,6 +7563,8 @@ div.signup-header {
7535
7563
  height: 612px;
7536
7564
  overflow: auto;
7537
7565
  padding-right: 24px;
7566
+ /* Maintain scroll containment (inherited from base, but explicit for clarity) */
7567
+ overscroll-behavior: contain;
7538
7568
  }
7539
7569
  div.twoletter-area {
7540
7570
  font-size: 16px;
@@ -7552,6 +7582,183 @@ div.signup-header {
7552
7582
 
7553
7583
  /* ================= GÁTA DAGSINS STYLES =============== */
7554
7584
 
7585
+ /* Help dialog styles - Mobile-first approach */
7586
+
7587
+ .modal-dialog.gatadagsins-help {
7588
+ visibility: visible;
7589
+ position: fixed;
7590
+ top: 50%;
7591
+ left: 50%;
7592
+ transform: translate(-50%, -50%);
7593
+ z-index: 10000;
7594
+ background: white;
7595
+ border-radius: 8px;
7596
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
7597
+ width: 95%;
7598
+ max-height: 90vh;
7599
+ display: flex;
7600
+ flex-direction: column;
7601
+ }
7602
+
7603
+ .modal-dialog.gatadagsins-help .modal-content {
7604
+ display: flex;
7605
+ flex-direction: column;
7606
+ height: 100%;
7607
+ }
7608
+
7609
+ .modal-dialog.gatadagsins-help .modal-header {
7610
+ padding: 15px;
7611
+ border-bottom: 1px solid #e0e0e0;
7612
+ display: flex;
7613
+ justify-content: space-between;
7614
+ align-items: center;
7615
+ }
7616
+
7617
+ .modal-dialog.gatadagsins-help .modal-header h2 {
7618
+ margin: 0;
7619
+ font-size: 20px;
7620
+ color: #333;
7621
+ }
7622
+
7623
+ .modal-dialog.gatadagsins-help .modal-header .close {
7624
+ background: none;
7625
+ border: none;
7626
+ font-size: 28px;
7627
+ cursor: pointer;
7628
+ padding: 0;
7629
+ width: 30px;
7630
+ height: 30px;
7631
+ display: flex;
7632
+ align-items: center;
7633
+ justify-content: center;
7634
+ color: #999;
7635
+ }
7636
+
7637
+ .modal-dialog.gatadagsins-help .modal-header .close:hover {
7638
+ color: #333;
7639
+ }
7640
+
7641
+ .modal-dialog.gatadagsins-help .modal-body {
7642
+ padding: 15px;
7643
+ overflow-y: auto;
7644
+ flex: 1;
7645
+ /* Prevent scroll from propagating to parent */
7646
+ overscroll-behavior-y: contain;
7647
+ }
7648
+
7649
+ .modal-dialog.gatadagsins-help .modal-body h3 {
7650
+ margin-top: 20px;
7651
+ margin-bottom: 10px;
7652
+ font-size: 16px;
7653
+ color: #333;
7654
+ }
7655
+
7656
+ .modal-dialog.gatadagsins-help .modal-body h3:first-child {
7657
+ margin-top: 0;
7658
+ }
7659
+
7660
+ .modal-dialog.gatadagsins-help .modal-body p {
7661
+ margin: 10px 0;
7662
+ line-height: 1.6;
7663
+ color: #555;
7664
+ font-size: 14px;
7665
+ }
7666
+
7667
+ .modal-dialog.gatadagsins-help .modal-body ul {
7668
+ margin: 10px 0;
7669
+ padding-left: 25px;
7670
+ }
7671
+
7672
+ .modal-dialog.gatadagsins-help .modal-body li {
7673
+ margin: 8px 0;
7674
+ line-height: 1.6;
7675
+ color: #555;
7676
+ font-size: 14px;
7677
+ }
7678
+
7679
+ .modal-dialog.gatadagsins-help .modal-body a {
7680
+ color: #4a90e2;
7681
+ text-decoration: none;
7682
+ }
7683
+
7684
+ .modal-dialog.gatadagsins-help .modal-body a:hover {
7685
+ text-decoration: underline;
7686
+ }
7687
+
7688
+ .modal-dialog.gatadagsins-help .modal-footer {
7689
+ padding: 15px;
7690
+ border-top: 1px solid #e0e0e0;
7691
+ text-align: right;
7692
+ }
7693
+
7694
+ .modal-dialog.gatadagsins-help .btn {
7695
+ padding: 16px 22px;
7696
+ font-size: 14px;
7697
+ border-radius: 4px;
7698
+ border: none;
7699
+ cursor: pointer;
7700
+ font-weight: 700;
7701
+ height: auto;
7702
+ min-height: auto;
7703
+ }
7704
+
7705
+ .modal-dialog.gatadagsins-help .btn-primary {
7706
+ background-color: #4a90e2;
7707
+ color: white;
7708
+ }
7709
+
7710
+ .modal-dialog.gatadagsins-help .btn-primary:hover {
7711
+ background-color: #357abd;
7712
+ }
7713
+
7714
+ /* Modal backdrop */
7715
+
7716
+ .modal-backdrop {
7717
+ position: fixed;
7718
+ top: 0;
7719
+ left: 0;
7720
+ width: 100%;
7721
+ height: 100%;
7722
+ background-color: rgba(0, 0, 0, 0.5);
7723
+ z-index: 9999;
7724
+ }
7725
+
7726
+ /* Larger screen adjustments */
7727
+
7728
+ @media (min-width: 601px) {
7729
+ .modal-dialog.gatadagsins-help {
7730
+ max-width: 600px;
7731
+ width: 90%;
7732
+ max-height: 80vh;
7733
+ }
7734
+
7735
+ .modal-dialog.gatadagsins-help .modal-header {
7736
+ padding: 20px;
7737
+ }
7738
+
7739
+ .modal-dialog.gatadagsins-help .modal-header h2 {
7740
+ font-size: 24px;
7741
+ }
7742
+
7743
+ .modal-dialog.gatadagsins-help .modal-body {
7744
+ padding: 20px;
7745
+ /* Inherit the overscroll behavior from mobile */
7746
+ }
7747
+
7748
+ .modal-dialog.gatadagsins-help .modal-body h3 {
7749
+ font-size: 18px;
7750
+ }
7751
+
7752
+ .modal-dialog.gatadagsins-help .modal-body p,
7753
+ .modal-dialog.gatadagsins-help .modal-body li {
7754
+ font-size: 15px;
7755
+ }
7756
+
7757
+ .modal-dialog.gatadagsins-help .modal-footer {
7758
+ padding: 15px 20px;
7759
+ }
7760
+ }
7761
+
7555
7762
  /* Mobile styles for Gáta Dagsins */
7556
7763
 
7557
7764
  div#gatadagsins-background {
@@ -7620,7 +7827,7 @@ div.gatadagsins-container table.board {
7620
7827
  }
7621
7828
 
7622
7829
  div.gatadagsins-rack-area {
7623
- flex: 0 0 100px;
7830
+ flex: 0 0 80px;
7624
7831
  display: flex;
7625
7832
  flex-direction: row;
7626
7833
  justify-content: space-evenly;
@@ -7649,7 +7856,7 @@ div.gatadagsins-container div.rack {
7649
7856
 
7650
7857
  div.gatadagsins-container div.recallbtn {
7651
7858
  position: relative;
7652
- margin: 0 5px;
7859
+ margin-left: 8px;
7653
7860
  display: flex;
7654
7861
  bottom: auto;
7655
7862
  left: auto;
@@ -7658,7 +7865,7 @@ div.gatadagsins-container div.recallbtn {
7658
7865
 
7659
7866
  div.gatadagsins-container div.scramblebtn {
7660
7867
  position: relative;
7661
- margin: 0 5px;
7868
+ margin-left: 8px;
7662
7869
  display: flex;
7663
7870
  bottom: auto;
7664
7871
  left: auto;
@@ -7748,6 +7955,8 @@ div.gatadagsins-thermometer-column {
7748
7955
  height: 100%;
7749
7956
  width: 100%;
7750
7957
  align-items: center;
7958
+ padding-left: 8px;
7959
+ padding-right: 8px;
7751
7960
  }
7752
7961
 
7753
7962
  .thermometer-best-score {
@@ -7868,12 +8077,13 @@ div.gatadagsins-thermometer-column {
7868
8077
  }
7869
8078
  }
7870
8079
 
8080
+ /* Horizontal thermometer */
8081
+
7871
8082
  .thermometer-body {
7872
8083
  position: relative;
7873
8084
  align-self: center;
7874
8085
  width: 100%;
7875
8086
  height: 40px;
7876
- margin: 0;
7877
8087
  border-radius: 20px;
7878
8088
  overflow: visible;
7879
8089
  }
@@ -7909,6 +8119,48 @@ div.gata-dagsins-score.cold {
7909
8119
  background-color: var(--cold);
7910
8120
  }
7911
8121
 
8122
+ /* Celebratory wobble-pulse animation for the score circle */
8123
+
8124
+ @keyframes celebrateScore {
8125
+ 0%, 100% {
8126
+ transform: rotate(0deg) scale(1);
8127
+ box-shadow: 0 0 15px rgba(249, 115, 6, 0.4);
8128
+ }
8129
+ 12.5% {
8130
+ transform: rotate(0deg) scale(1.15); /* -10 */
8131
+ box-shadow: 0 0 25px rgba(249, 115, 6, 0.6);
8132
+ }
8133
+ 25% {
8134
+ transform: rotate(0deg) scale(1.1); /* 10 */
8135
+ box-shadow: 0 0 20px rgba(249, 115, 6, 0.5);
8136
+ }
8137
+ 37.5% {
8138
+ transform: rotate(0deg) scale(1.18); /* -6 */
8139
+ box-shadow: 0 0 30px rgba(249, 115, 6, 0.7);
8140
+ }
8141
+ 50% {
8142
+ transform: rotate(0deg) scale(1.12); /* 6 */
8143
+ box-shadow: 0 0 22px rgba(249, 115, 6, 0.5);
8144
+ }
8145
+ 62.5% {
8146
+ transform: rotate(0deg) scale(1.08); /* -4 */
8147
+ box-shadow: 0 0 18px rgba(249, 115, 6, 0.4);
8148
+ }
8149
+ 75% {
8150
+ transform: rotate(0deg) scale(1.05); /* 2 */
8151
+ box-shadow: 0 0 16px rgba(249, 115, 6, 0.35);
8152
+ }
8153
+ 87.5% {
8154
+ transform: rotate(0deg) scale(1.02); /* -2 */
8155
+ box-shadow: 0 0 15px rgba(249, 115, 6, 0.3);
8156
+ }
8157
+ }
8158
+
8159
+ div.gata-dagsins-score.hot.celebrate {
8160
+ animation: celebrateScore 2.5s ease-in-out infinite;
8161
+ transform-origin: center center;
8162
+ }
8163
+
7912
8164
  .thermometer-current-circle {
7913
8165
  color: white;
7914
8166
  border: 3px solid white;
@@ -8003,6 +8255,7 @@ div.gata-dagsins-score.cold {
8003
8255
  font-size: 14px;
8004
8256
  margin-left: 8px;
8005
8257
  white-space: nowrap;
8258
+ display: none; /* Not displayed on mobile */
8006
8259
  }
8007
8260
 
8008
8261
  /* Animation for gentle pulsing effect */
@@ -8044,8 +8297,11 @@ div.gata-dagsins-score.cold {
8044
8297
  /* Restore vertical thermometer layout on desktop */
8045
8298
  .thermometer-container {
8046
8299
  flex-direction: column;
8300
+ padding-left: 0;
8301
+ padding-right: 0;
8047
8302
  }
8048
8303
 
8304
+ /* Vertical thermometer */
8049
8305
  .thermometer-body {
8050
8306
  width: 40px;
8051
8307
  height: 100%;
@@ -8089,10 +8345,15 @@ div.gata-dagsins-score.cold {
8089
8345
  padding-right: 10px;
8090
8346
  padding-left: 10px;
8091
8347
  }
8348
+
8349
+ .thermometer-move-overlay .thermometer-move-coord {
8350
+ display: block;
8351
+ }
8352
+
8092
8353
  div.gatadagsins-container {
8093
8354
  height: 680px;
8094
8355
  }
8095
-
8356
+
8096
8357
  div.gatadagsins-container div.board {
8097
8358
  /* 16 x 34 pixels, i.e. 15 rows/columns plus row/column id */
8098
8359
  height: 544px;
@@ -8137,6 +8398,8 @@ div.gata-dagsins-score.cold {
8137
8398
  div.gatadagsins-container div.recallbtn {
8138
8399
  width: 64px;
8139
8400
  height: 45px;
8401
+ margin-left: 5px;
8402
+ margin-right: 5px;
8140
8403
  }
8141
8404
 
8142
8405
  }