viveworker 0.1.4 → 0.1.6

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/web/app.css CHANGED
@@ -974,6 +974,74 @@ code {
974
974
  gap: 0.38rem;
975
975
  }
976
976
 
977
+ .inbox-subtabs {
978
+ display: grid;
979
+ grid-auto-flow: column;
980
+ grid-auto-columns: minmax(0, 1fr);
981
+ gap: 0.45rem;
982
+ padding: 0.35rem;
983
+ border: 1px solid var(--line);
984
+ border-radius: 20px;
985
+ background: rgba(255, 255, 255, 0.04);
986
+ }
987
+
988
+ .inbox-subtabs__button {
989
+ display: inline-flex;
990
+ align-items: center;
991
+ justify-content: center;
992
+ gap: 0.42rem;
993
+ border: 0;
994
+ min-width: 0;
995
+ min-height: 2.75rem;
996
+ padding: 0 0.95rem;
997
+ border-radius: 16px;
998
+ background: transparent;
999
+ color: var(--muted);
1000
+ font-size: 0.9rem;
1001
+ font-weight: 700;
1002
+ text-align: center;
1003
+ transition:
1004
+ background 160ms ease,
1005
+ color 160ms ease,
1006
+ box-shadow 160ms ease;
1007
+ }
1008
+
1009
+ .inbox-subtabs__button-label {
1010
+ min-width: 0;
1011
+ }
1012
+
1013
+ .inbox-subtabs__badge {
1014
+ display: inline-flex;
1015
+ align-items: center;
1016
+ justify-content: center;
1017
+ min-width: 1.32rem;
1018
+ height: 1.32rem;
1019
+ padding: 0 0.36rem;
1020
+ border-radius: 999px;
1021
+ background: rgba(211, 90, 90, 0.18);
1022
+ color: #ffb3b3;
1023
+ font-size: 0.74rem;
1024
+ font-weight: 800;
1025
+ line-height: 1;
1026
+ box-shadow: inset 0 0 0 1px rgba(211, 90, 90, 0.24);
1027
+ }
1028
+
1029
+ .inbox-subtabs__button.is-active {
1030
+ background:
1031
+ linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06));
1032
+ color: var(--text);
1033
+ box-shadow:
1034
+ 0 12px 24px rgba(0, 0, 0, 0.18),
1035
+ inset 0 1px 0 rgba(255, 255, 255, 0.04);
1036
+ }
1037
+
1038
+ .timeline-thread-filter__row {
1039
+ display: grid;
1040
+ grid-template-columns: minmax(0, 1fr) auto;
1041
+ gap: 0.6rem;
1042
+ align-items: start;
1043
+ }
1044
+
977
1045
  .timeline-thread-filter__label {
978
1046
  color: var(--muted);
979
1047
  font-size: 0.8rem;
@@ -1009,11 +1077,102 @@ code {
1009
1077
  pointer-events: none;
1010
1078
  }
1011
1079
 
1080
+ .timeline-kind-filter {
1081
+ position: relative;
1082
+ }
1083
+
1084
+ .timeline-kind-filter__button {
1085
+ width: 2.72rem;
1086
+ min-width: 2.72rem;
1087
+ min-height: 2.72rem;
1088
+ display: inline-flex;
1089
+ align-items: center;
1090
+ justify-content: center;
1091
+ border-radius: 15px;
1092
+ border: 1px solid rgba(156, 181, 197, 0.14);
1093
+ background: rgba(255, 255, 255, 0.05);
1094
+ color: rgba(236, 248, 255, 0.78);
1095
+ box-shadow: var(--shadow-card);
1096
+ }
1097
+
1098
+ .timeline-kind-filter__button.is-active {
1099
+ border-color: rgba(104, 211, 164, 0.34);
1100
+ background: rgba(31, 83, 63, 0.46);
1101
+ color: rgba(224, 255, 240, 0.96);
1102
+ }
1103
+
1104
+ .timeline-kind-filter__button-icon,
1105
+ .timeline-kind-filter__option-icon,
1106
+ .timeline-kind-filter__option-check {
1107
+ width: 1rem;
1108
+ height: 1rem;
1109
+ display: inline-flex;
1110
+ align-items: center;
1111
+ justify-content: center;
1112
+ }
1113
+
1114
+ .timeline-kind-filter__button-icon svg,
1115
+ .timeline-kind-filter__option-icon svg,
1116
+ .timeline-kind-filter__option-check svg {
1117
+ width: 100%;
1118
+ height: 100%;
1119
+ }
1120
+
1121
+ .timeline-kind-filter__popover {
1122
+ position: absolute;
1123
+ right: 0;
1124
+ top: calc(100% + 0.46rem);
1125
+ z-index: 14;
1126
+ width: min(15rem, calc(100vw - 2.25rem));
1127
+ display: grid;
1128
+ gap: 0.22rem;
1129
+ padding: 0.4rem;
1130
+ border: 1px solid rgba(156, 181, 197, 0.16);
1131
+ border-radius: 18px;
1132
+ background: rgba(15, 23, 31, 0.94);
1133
+ box-shadow: 0 24px 46px rgba(5, 9, 14, 0.34);
1134
+ -webkit-backdrop-filter: blur(24px) saturate(1.08);
1135
+ backdrop-filter: blur(24px) saturate(1.08);
1136
+ }
1137
+
1138
+ .timeline-kind-filter__option {
1139
+ width: 100%;
1140
+ display: grid;
1141
+ grid-template-columns: auto 1fr auto;
1142
+ gap: 0.62rem;
1143
+ align-items: center;
1144
+ padding: 0.74rem 0.78rem;
1145
+ border: 0;
1146
+ border-radius: 14px;
1147
+ background: transparent;
1148
+ color: var(--text);
1149
+ text-align: left;
1150
+ }
1151
+
1152
+ .timeline-kind-filter__option.is-selected {
1153
+ background: rgba(255, 255, 255, 0.06);
1154
+ }
1155
+
1156
+ .timeline-kind-filter__option-label {
1157
+ font-size: 0.9rem;
1158
+ font-weight: 600;
1159
+ line-height: 1.3;
1160
+ }
1161
+
1162
+ .timeline-kind-filter__option-check {
1163
+ color: rgba(104, 211, 164, 0.94);
1164
+ }
1165
+
1012
1166
  .timeline-list {
1013
1167
  display: grid;
1014
1168
  gap: 0.72rem;
1015
1169
  }
1016
1170
 
1171
+ .diff-list {
1172
+ display: grid;
1173
+ gap: 0.72rem;
1174
+ }
1175
+
1017
1176
  .timeline-entry {
1018
1177
  width: 100%;
1019
1178
  display: grid;
@@ -1028,6 +1187,132 @@ code {
1028
1187
  cursor: pointer;
1029
1188
  }
1030
1189
 
1190
+ .diff-entry {
1191
+ width: 100%;
1192
+ display: grid;
1193
+ gap: 0.34rem;
1194
+ padding: 0.9rem;
1195
+ border: 1px solid var(--line);
1196
+ border-radius: 20px;
1197
+ background: rgba(18, 28, 36, 0.9);
1198
+ box-shadow: var(--shadow-card);
1199
+ color: var(--text);
1200
+ text-align: left;
1201
+ cursor: pointer;
1202
+ }
1203
+
1204
+ .diff-entry__header {
1205
+ display: grid;
1206
+ grid-template-columns: minmax(0, 1fr) auto;
1207
+ gap: 0.75rem;
1208
+ align-items: center;
1209
+ }
1210
+
1211
+ .diff-entry__thread {
1212
+ margin: 0;
1213
+ }
1214
+
1215
+ .diff-entry__meta {
1216
+ display: grid;
1217
+ grid-template-columns: minmax(0, 1fr) auto;
1218
+ gap: 0.75rem;
1219
+ align-items: center;
1220
+ }
1221
+
1222
+ .diff-entry__meta-right {
1223
+ display: inline-flex;
1224
+ align-items: center;
1225
+ gap: 0.45rem;
1226
+ }
1227
+
1228
+ .diff-entry__thread,
1229
+ .diff-entry__time {
1230
+ color: var(--muted);
1231
+ }
1232
+
1233
+ .diff-entry__thread {
1234
+ margin: 0;
1235
+ font-size: 0.82rem;
1236
+ line-height: 1.35;
1237
+ }
1238
+
1239
+ .diff-entry__time {
1240
+ font-size: 0.78rem;
1241
+ line-height: 1.3;
1242
+ }
1243
+
1244
+ .diff-entry__body {
1245
+ display: grid;
1246
+ gap: 0.18rem;
1247
+ }
1248
+
1249
+ .diff-entry__files {
1250
+ display: flex;
1251
+ flex-wrap: wrap;
1252
+ gap: 0.42rem;
1253
+ margin-top: 0.06rem;
1254
+ }
1255
+
1256
+ .diff-entry__title {
1257
+ margin: 0;
1258
+ font-size: 1rem;
1259
+ line-height: 1.4;
1260
+ color: var(--text);
1261
+ }
1262
+
1263
+ .diff-entry__stats {
1264
+ display: inline-flex;
1265
+ align-items: center;
1266
+ flex-wrap: wrap;
1267
+ gap: 0.34rem;
1268
+ }
1269
+
1270
+ .diff-entry__stat {
1271
+ font-size: 0.84rem;
1272
+ line-height: 1.35;
1273
+ font-weight: 700;
1274
+ }
1275
+
1276
+ .diff-entry__stat--added {
1277
+ color: rgba(116, 222, 156, 0.96);
1278
+ }
1279
+
1280
+ .diff-entry__stat--removed {
1281
+ color: rgba(255, 135, 135, 0.96);
1282
+ }
1283
+
1284
+ .diff-entry__stats-separator {
1285
+ color: var(--muted);
1286
+ font-size: 0.8rem;
1287
+ line-height: 1;
1288
+ }
1289
+
1290
+ .diff-entry__summary {
1291
+ margin: 0;
1292
+ font-size: 0.82rem;
1293
+ line-height: 1.35;
1294
+ color: var(--muted);
1295
+ justify-self: end;
1296
+ text-align: right;
1297
+ }
1298
+
1299
+ .diff-entry__subsummary {
1300
+ margin: 0;
1301
+ font-size: 0.78rem;
1302
+ line-height: 1.35;
1303
+ color: var(--muted);
1304
+ }
1305
+
1306
+ .diff-entry__chevron {
1307
+ width: 1rem;
1308
+ height: 1rem;
1309
+ display: inline-flex;
1310
+ align-items: center;
1311
+ justify-content: center;
1312
+ color: rgba(216, 230, 239, 0.78);
1313
+ flex: 0 0 auto;
1314
+ }
1315
+
1031
1316
  .timeline-entry__meta {
1032
1317
  display: grid;
1033
1318
  grid-template-columns: minmax(0, 1fr) auto;
@@ -1083,6 +1368,10 @@ code {
1083
1368
  gap: 0.34rem;
1084
1369
  }
1085
1370
 
1371
+ .timeline-entry--kind-file-event .timeline-entry__body {
1372
+ gap: 0.18rem;
1373
+ }
1374
+
1086
1375
  .timeline-entry__images {
1087
1376
  display: grid;
1088
1377
  grid-template-columns: repeat(auto-fit, minmax(68px, 1fr));
@@ -1090,6 +1379,42 @@ code {
1090
1379
  margin-top: 0.08rem;
1091
1380
  }
1092
1381
 
1382
+ .timeline-entry__files {
1383
+ display: flex;
1384
+ flex-wrap: wrap;
1385
+ gap: 0.42rem;
1386
+ margin-top: 0.14rem;
1387
+ }
1388
+
1389
+ .file-ref-chip {
1390
+ display: inline-flex;
1391
+ align-items: center;
1392
+ gap: 0.34rem;
1393
+ min-width: 0;
1394
+ padding: 0.4rem 0.56rem;
1395
+ border-radius: 999px;
1396
+ background: rgba(16, 24, 31, 0.72);
1397
+ border: 1px solid rgba(156, 181, 197, 0.12);
1398
+ color: var(--muted);
1399
+ font-size: 0.76rem;
1400
+ line-height: 1.2;
1401
+ }
1402
+
1403
+ .file-ref-chip__icon {
1404
+ width: 0.82rem;
1405
+ height: 0.82rem;
1406
+ color: rgba(202, 220, 233, 0.72);
1407
+ flex: 0 0 auto;
1408
+ }
1409
+
1410
+ .file-ref-chip__label {
1411
+ min-width: 0;
1412
+ overflow: hidden;
1413
+ text-overflow: ellipsis;
1414
+ white-space: nowrap;
1415
+ max-width: 13.5rem;
1416
+ }
1417
+
1093
1418
  .timeline-entry__image-frame {
1094
1419
  display: block;
1095
1420
  border-radius: 14px;
@@ -1118,6 +1443,11 @@ code {
1118
1443
  line-height: 1.45;
1119
1444
  }
1120
1445
 
1446
+ .timeline-entry--kind-file-event .timeline-entry__title {
1447
+ font-size: 0.94rem;
1448
+ line-height: 1.38;
1449
+ }
1450
+
1121
1451
  .timeline-entry__summary {
1122
1452
  color: var(--muted);
1123
1453
  line-height: 1.5;
@@ -1127,6 +1457,24 @@ code {
1127
1457
  -webkit-box-orient: vertical;
1128
1458
  }
1129
1459
 
1460
+ .timeline-entry__file-summary,
1461
+ .timeline-entry__file-diff-stats {
1462
+ margin: 0;
1463
+ overflow-wrap: anywhere;
1464
+ }
1465
+
1466
+ .timeline-entry__file-summary {
1467
+ color: rgba(236, 248, 255, 0.82);
1468
+ font-size: 0.85rem;
1469
+ line-height: 1.42;
1470
+ }
1471
+
1472
+ .timeline-entry__file-diff-stats {
1473
+ color: var(--muted);
1474
+ font-size: 0.76rem;
1475
+ line-height: 1.3;
1476
+ }
1477
+
1130
1478
  .timeline-entry__footer {
1131
1479
  display: flex;
1132
1480
  align-items: center;
@@ -1463,6 +1811,24 @@ code {
1463
1811
  padding: 0.5rem;
1464
1812
  }
1465
1813
 
1814
+ .detail-card--files {
1815
+ margin-top: 0.24rem;
1816
+ gap: 0.62rem;
1817
+ padding: 0.72rem;
1818
+ }
1819
+
1820
+ .detail-card--diff {
1821
+ margin-top: 0.24rem;
1822
+ gap: 0.62rem;
1823
+ padding: 0.72rem;
1824
+ }
1825
+
1826
+ .detail-card--diff-thread {
1827
+ margin-top: 0.24rem;
1828
+ gap: 0.72rem;
1829
+ padding: 0.72rem;
1830
+ }
1831
+
1466
1832
  .detail-card--reply {
1467
1833
  margin-top: 0.32rem;
1468
1834
  gap: 0.72rem;
@@ -1475,6 +1841,253 @@ code {
1475
1841
  width: 100%;
1476
1842
  }
1477
1843
 
1844
+ .detail-files-card__header {
1845
+ display: inline-flex;
1846
+ align-items: center;
1847
+ gap: 0.42rem;
1848
+ font-size: 0.84rem;
1849
+ color: var(--muted);
1850
+ }
1851
+
1852
+ .detail-files-card__icon {
1853
+ width: 0.92rem;
1854
+ height: 0.92rem;
1855
+ color: rgba(202, 220, 233, 0.72);
1856
+ }
1857
+
1858
+ .detail-file-grid {
1859
+ display: grid;
1860
+ gap: 0.52rem;
1861
+ }
1862
+
1863
+ .detail-diff-card__header {
1864
+ display: grid;
1865
+ grid-template-columns: minmax(0, 1fr) auto;
1866
+ gap: 0.75rem;
1867
+ align-items: center;
1868
+ }
1869
+
1870
+ .detail-diff-card__title-wrap {
1871
+ display: inline-flex;
1872
+ align-items: center;
1873
+ gap: 0.42rem;
1874
+ min-width: 0;
1875
+ color: var(--muted);
1876
+ font-size: 0.84rem;
1877
+ }
1878
+
1879
+ .detail-diff-card__icon {
1880
+ width: 0.92rem;
1881
+ height: 0.92rem;
1882
+ color: rgba(202, 220, 233, 0.72);
1883
+ }
1884
+
1885
+ .detail-diff-card__stats {
1886
+ color: var(--muted);
1887
+ font-size: 0.78rem;
1888
+ line-height: 1.3;
1889
+ }
1890
+
1891
+ .detail-diff-card__notice {
1892
+ margin: 0;
1893
+ color: var(--muted);
1894
+ font-size: 0.88rem;
1895
+ line-height: 1.5;
1896
+ }
1897
+
1898
+ .detail-page-copy {
1899
+ margin: 0;
1900
+ padding: 0 0.2rem;
1901
+ color: var(--muted);
1902
+ line-height: 1.55;
1903
+ }
1904
+
1905
+ .detail-page-copy--mobile {
1906
+ padding-inline: 0.1rem;
1907
+ }
1908
+
1909
+ .detail-diff-thread__header {
1910
+ width: 100%;
1911
+ display: grid;
1912
+ grid-template-columns: minmax(0, 1fr) auto;
1913
+ gap: 0.72rem;
1914
+ align-items: start;
1915
+ padding: 0;
1916
+ border: 0;
1917
+ background: transparent;
1918
+ color: inherit;
1919
+ text-align: left;
1920
+ cursor: pointer;
1921
+ }
1922
+
1923
+ .detail-diff-thread__title-wrap {
1924
+ min-width: 0;
1925
+ display: grid;
1926
+ grid-template-columns: auto minmax(0, 1fr);
1927
+ gap: 0.56rem;
1928
+ align-items: start;
1929
+ }
1930
+
1931
+ .detail-diff-thread__icon {
1932
+ width: 0.92rem;
1933
+ height: 0.92rem;
1934
+ color: rgba(202, 220, 233, 0.72);
1935
+ margin-top: 0.16rem;
1936
+ }
1937
+
1938
+ .detail-diff-thread__title-text {
1939
+ display: grid;
1940
+ gap: 0.14rem;
1941
+ min-width: 0;
1942
+ }
1943
+
1944
+ .detail-diff-thread__label {
1945
+ font-size: 0.94rem;
1946
+ font-weight: 700;
1947
+ line-height: 1.35;
1948
+ color: var(--text);
1949
+ overflow-wrap: anywhere;
1950
+ }
1951
+
1952
+ .detail-diff-thread__path {
1953
+ font-size: 0.76rem;
1954
+ line-height: 1.45;
1955
+ color: var(--muted);
1956
+ overflow-wrap: anywhere;
1957
+ }
1958
+
1959
+ .detail-diff-thread__stats {
1960
+ color: var(--muted);
1961
+ font-size: 0.78rem;
1962
+ line-height: 1.3;
1963
+ white-space: nowrap;
1964
+ }
1965
+
1966
+ .detail-diff-thread__header-right {
1967
+ display: inline-flex;
1968
+ align-items: center;
1969
+ gap: 0.52rem;
1970
+ }
1971
+
1972
+ .detail-diff-thread__chevron {
1973
+ width: 0.92rem;
1974
+ height: 0.92rem;
1975
+ color: rgba(202, 220, 233, 0.72);
1976
+ transition: transform 160ms ease;
1977
+ }
1978
+
1979
+ .detail-diff-thread__header.is-open .detail-diff-thread__chevron {
1980
+ transform: rotate(90deg);
1981
+ }
1982
+
1983
+ .detail-diff-thread__sections {
1984
+ display: grid;
1985
+ gap: 0.72rem;
1986
+ }
1987
+
1988
+ .detail-diff-thread__section {
1989
+ display: grid;
1990
+ gap: 0.46rem;
1991
+ }
1992
+
1993
+ .detail-diff-thread__section-meta {
1994
+ display: grid;
1995
+ grid-template-columns: minmax(0, 1fr) auto;
1996
+ gap: 0.72rem;
1997
+ align-items: center;
1998
+ }
1999
+
2000
+ .detail-diff-thread__section-right {
2001
+ display: inline-flex;
2002
+ align-items: center;
2003
+ gap: 0.52rem;
2004
+ justify-content: flex-end;
2005
+ }
2006
+
2007
+ .detail-diff-thread__section-label {
2008
+ font-size: 0.8rem;
2009
+ line-height: 1.3;
2010
+ color: var(--muted);
2011
+ }
2012
+
2013
+ .detail-diff-thread__section-stats,
2014
+ .detail-diff-thread__section-time {
2015
+ font-size: 0.74rem;
2016
+ line-height: 1.3;
2017
+ color: var(--muted);
2018
+ }
2019
+
2020
+ .detail-diff-viewer {
2021
+ overflow: auto;
2022
+ border: 1px solid rgba(156, 181, 197, 0.12);
2023
+ border-radius: 16px;
2024
+ background: rgba(8, 14, 19, 0.82);
2025
+ }
2026
+
2027
+ .detail-diff-line {
2028
+ margin: 0;
2029
+ padding: 0.18rem 0.72rem;
2030
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
2031
+ font-size: 0.76rem;
2032
+ line-height: 1.55;
2033
+ white-space: pre;
2034
+ color: #dceaf2;
2035
+ }
2036
+
2037
+ .detail-diff-line--meta {
2038
+ color: rgba(184, 204, 218, 0.76);
2039
+ background: rgba(255, 255, 255, 0.02);
2040
+ }
2041
+
2042
+ .detail-diff-line--file {
2043
+ color: #d9eafb;
2044
+ background: rgba(93, 149, 194, 0.08);
2045
+ }
2046
+
2047
+ .detail-diff-line--hunk {
2048
+ color: #94d6ff;
2049
+ background: rgba(55, 95, 134, 0.16);
2050
+ }
2051
+
2052
+ .detail-diff-line--add {
2053
+ color: #d7ffe8;
2054
+ background: rgba(40, 110, 76, 0.34);
2055
+ }
2056
+
2057
+ .detail-diff-line--remove {
2058
+ color: #ffe1e1;
2059
+ background: rgba(116, 48, 48, 0.34);
2060
+ }
2061
+
2062
+ .detail-diff-line--context {
2063
+ color: #dceaf2;
2064
+ }
2065
+
2066
+ .detail-file-chip {
2067
+ display: grid;
2068
+ gap: 0.14rem;
2069
+ padding: 0.68rem 0.78rem;
2070
+ border-radius: 16px;
2071
+ background:
2072
+ linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02)),
2073
+ rgba(10, 17, 22, 0.76);
2074
+ border: 1px solid rgba(156, 181, 197, 0.12);
2075
+ }
2076
+
2077
+ .detail-file-chip__label {
2078
+ font-size: 0.88rem;
2079
+ line-height: 1.35;
2080
+ color: var(--text);
2081
+ overflow-wrap: anywhere;
2082
+ }
2083
+
2084
+ .detail-file-chip__path {
2085
+ font-size: 0.76rem;
2086
+ line-height: 1.45;
2087
+ color: var(--muted);
2088
+ overflow-wrap: anywhere;
2089
+ }
2090
+
1478
2091
  .detail-image-link {
1479
2092
  display: block;
1480
2093
  padding: 0;
@@ -2257,6 +2870,26 @@ button:disabled {
2257
2870
  transform 160ms ease;
2258
2871
  }
2259
2872
 
2873
+ .tab-icon-wrap {
2874
+ position: relative;
2875
+ display: inline-flex;
2876
+ align-items: center;
2877
+ justify-content: center;
2878
+ }
2879
+
2880
+ .bottom-nav__attention-dot {
2881
+ position: absolute;
2882
+ top: -0.12rem;
2883
+ right: -0.18rem;
2884
+ width: 0.52rem;
2885
+ height: 0.52rem;
2886
+ border-radius: 999px;
2887
+ background: #ff6b6b;
2888
+ box-shadow:
2889
+ 0 0 0 2px rgba(9, 16, 21, 0.92),
2890
+ 0 0.22rem 0.5rem rgba(255, 107, 107, 0.35);
2891
+ }
2892
+
2260
2893
  .tab-label {
2261
2894
  font-size: 0.74rem;
2262
2895
  }