@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.
- package/dist/cjs/css/netskrafl.css +272 -9
- package/dist/cjs/index.js +273 -68
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/css/netskrafl.css +272 -9
- package/dist/esm/index.js +273 -68
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -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:
|
|
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:
|
|
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(--
|
|
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:
|
|
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
|
|
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:
|
|
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:
|
|
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
|
}
|