@raketa-cloud/admin 1.8.18 → 1.8.20
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/application.css +288 -11
- package/package.json +8 -6
- package/src/cloud/Resources.js +16 -4
- package/src/handlers/resources/ReportsAPIHandler.js +27 -0
- package/src/handlers/resources/ResourcesHandler.js +16 -0
- package/src/handlers/resources/TranslationsHandler.js +1 -1
- package/src/helpers/reports/cwv.js +217 -0
- package/src/helpers/reports/googleAuth.js +149 -0
- package/src/helpers/reports/quick-insights.js +294 -0
- package/src/helpers/reports/reportsUtils.js +181 -0
- package/src/index.js +8 -0
- package/src/localCache.js +112 -0
- package/src/report/analytics.js +107 -0
- package/src/report/reports.js +390 -0
- package/src/routeAssets.js +74 -0
- package/src/routeResourceModule.js +24 -0
- package/src/routeStandard.js +7 -1
- package/src/styles/application.css +1 -1
- package/src/tests/handlers/RedirectsHandler.test/notes.test.js +56 -0
- package/src/tests/handlers/_shared/SettingsHandler.test/global_variables.test.js +54 -0
- package/src/tests/handlers/categories/update_defaults.test.js +35 -0
- package/src/tests/handlers/content_tasks/ContentTasksHandler.test/editors.test.js +29 -0
- package/src/tests/handlers/resource_revisions/PublishesHandler.test/schedule.test.js +137 -0
- package/src/tests/handlers/resource_revisions/TagHandler.test/default_locale_tags.test.js +162 -0
- package/src/tests/handlers/resource_revisions/WidgetHandler.test/defaults.test.js +61 -0
- package/src/tests/handlers/resources/DeletesHandler.test/no_redirect.test.js +55 -0
- package/src/tests/handlers/resources/ReportsAPIHandler.test/show.test.js +156 -0
- package/src/tests/handlers/resources/ResourcesHandler.test/show.test.js +8 -0
- package/src/tests/handlers/resources/ResourcesHandler.test/show_reports.test.js +94 -0
- package/src/tests/handlers/resources/TranslationsHandler.test/edge_cases.test.js +213 -0
- package/src/tests/helpers/CSVExportHelper.branches.test.js +57 -0
- package/src/tests/helpers/FormBuilder.branches.test.js +151 -0
- package/src/tests/helpers/HTMLBuilder.test.js +51 -0
- package/src/tests/helpers/historyUtils.branches.test.js +36 -0
- package/src/tests/helpers/reports/cwv.test.js +239 -0
- package/src/tests/helpers/reports/quick-insights.test.js +593 -0
- package/src/tests/helpers/reports/reportsUtils.test.js +425 -0
- package/src/tests/helpers/utils.test.js +37 -0
- package/src/tests/helpers/view_helpers.test.js +87 -0
- package/src/tests/index.test.js +74 -0
- package/src/tests/localCache.test.js +236 -0
- package/src/tests/report/analytics.test.js +230 -0
- package/src/tests/report/reports.test.js +831 -0
- package/src/tests/routeAssets.test.js +120 -0
- package/src/tests/routeResourceModule.test.js +99 -2
- package/src/tests/routeStandard.test.js +3 -3
- package/src/tests/support/fakeDom.js +164 -0
- package/src/views/resources/_shared/_core_web_vitals.ejs +27 -0
- package/src/views/resources/_shared/_quick_insights.ejs +64 -0
- package/src/views/resources/_shared/_scheduled_revisions.ejs +88 -0
- package/src/views/resources/_shared/_title.ejs +16 -12
- package/src/views/resources/_shared/_toolbar.ejs +11 -21
- package/src/views/resources/_shared/_traffic_chart.ejs +27 -0
- package/src/views/resources/_shared/_translations_strip.ejs +13 -25
- package/src/views/resources/_shared/_vital_meter.ejs +54 -0
- package/src/views/resources/show.ejs +88 -98
- package/src/views/resources/translations/create_form.ejs +31 -1
package/dist/application.css
CHANGED
|
@@ -749,6 +749,40 @@ select {
|
|
|
749
749
|
--tw-contain-style: ;
|
|
750
750
|
}
|
|
751
751
|
|
|
752
|
+
.container {
|
|
753
|
+
width: 100%;
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
@media (min-width: 640px) {
|
|
757
|
+
.container {
|
|
758
|
+
max-width: 640px;
|
|
759
|
+
}
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
@media (min-width: 768px) {
|
|
763
|
+
.container {
|
|
764
|
+
max-width: 768px;
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
@media (min-width: 1024px) {
|
|
769
|
+
.container {
|
|
770
|
+
max-width: 1024px;
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
|
|
774
|
+
@media (min-width: 1280px) {
|
|
775
|
+
.container {
|
|
776
|
+
max-width: 1280px;
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
@media (min-width: 1536px) {
|
|
781
|
+
.container {
|
|
782
|
+
max-width: 1536px;
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
|
|
752
786
|
/* Utils */
|
|
753
787
|
|
|
754
788
|
.chip {
|
|
@@ -1494,7 +1528,6 @@ select {
|
|
|
1494
1528
|
|
|
1495
1529
|
.page-title {
|
|
1496
1530
|
margin-top: 1.5rem;
|
|
1497
|
-
margin-bottom: 1.5rem;
|
|
1498
1531
|
display: flex;
|
|
1499
1532
|
align-items: center;
|
|
1500
1533
|
justify-content: space-between;
|
|
@@ -1570,6 +1603,18 @@ select {
|
|
|
1570
1603
|
visibility: visible;
|
|
1571
1604
|
}
|
|
1572
1605
|
|
|
1606
|
+
.invisible {
|
|
1607
|
+
visibility: hidden;
|
|
1608
|
+
}
|
|
1609
|
+
|
|
1610
|
+
.collapse {
|
|
1611
|
+
visibility: collapse;
|
|
1612
|
+
}
|
|
1613
|
+
|
|
1614
|
+
.static {
|
|
1615
|
+
position: static;
|
|
1616
|
+
}
|
|
1617
|
+
|
|
1573
1618
|
.absolute {
|
|
1574
1619
|
position: absolute;
|
|
1575
1620
|
}
|
|
@@ -1582,6 +1627,10 @@ select {
|
|
|
1582
1627
|
position: sticky;
|
|
1583
1628
|
}
|
|
1584
1629
|
|
|
1630
|
+
.inset-0 {
|
|
1631
|
+
inset: 0px;
|
|
1632
|
+
}
|
|
1633
|
+
|
|
1585
1634
|
.-right-0 {
|
|
1586
1635
|
right: -0px;
|
|
1587
1636
|
}
|
|
@@ -1654,21 +1703,11 @@ select {
|
|
|
1654
1703
|
z-index: 50;
|
|
1655
1704
|
}
|
|
1656
1705
|
|
|
1657
|
-
.-my-4 {
|
|
1658
|
-
margin-top: -1rem;
|
|
1659
|
-
margin-bottom: -1rem;
|
|
1660
|
-
}
|
|
1661
|
-
|
|
1662
1706
|
.my-4 {
|
|
1663
1707
|
margin-top: 1rem;
|
|
1664
1708
|
margin-bottom: 1rem;
|
|
1665
1709
|
}
|
|
1666
1710
|
|
|
1667
|
-
.my-8 {
|
|
1668
|
-
margin-top: 2rem;
|
|
1669
|
-
margin-bottom: 2rem;
|
|
1670
|
-
}
|
|
1671
|
-
|
|
1672
1711
|
.mb-0 {
|
|
1673
1712
|
margin-bottom: 0px;
|
|
1674
1713
|
}
|
|
@@ -1697,6 +1736,14 @@ select {
|
|
|
1697
1736
|
margin-bottom: 1.5rem;
|
|
1698
1737
|
}
|
|
1699
1738
|
|
|
1739
|
+
.ml-1 {
|
|
1740
|
+
margin-left: 0.25rem;
|
|
1741
|
+
}
|
|
1742
|
+
|
|
1743
|
+
.ml-1\.5 {
|
|
1744
|
+
margin-left: 0.375rem;
|
|
1745
|
+
}
|
|
1746
|
+
|
|
1700
1747
|
.ml-10 {
|
|
1701
1748
|
margin-left: 2.5rem;
|
|
1702
1749
|
}
|
|
@@ -1717,6 +1764,10 @@ select {
|
|
|
1717
1764
|
margin-top: 0.5rem;
|
|
1718
1765
|
}
|
|
1719
1766
|
|
|
1767
|
+
.mt-3 {
|
|
1768
|
+
margin-top: 0.75rem;
|
|
1769
|
+
}
|
|
1770
|
+
|
|
1720
1771
|
.mt-4 {
|
|
1721
1772
|
margin-top: 1rem;
|
|
1722
1773
|
}
|
|
@@ -1771,6 +1822,16 @@ select {
|
|
|
1771
1822
|
height: 3.5rem;
|
|
1772
1823
|
}
|
|
1773
1824
|
|
|
1825
|
+
.size-3 {
|
|
1826
|
+
width: 0.75rem;
|
|
1827
|
+
height: 0.75rem;
|
|
1828
|
+
}
|
|
1829
|
+
|
|
1830
|
+
.size-3\.5 {
|
|
1831
|
+
width: 0.875rem;
|
|
1832
|
+
height: 0.875rem;
|
|
1833
|
+
}
|
|
1834
|
+
|
|
1774
1835
|
.size-4 {
|
|
1775
1836
|
width: 1rem;
|
|
1776
1837
|
height: 1rem;
|
|
@@ -1791,10 +1852,18 @@ select {
|
|
|
1791
1852
|
height: 2rem;
|
|
1792
1853
|
}
|
|
1793
1854
|
|
|
1855
|
+
.h-2 {
|
|
1856
|
+
height: 0.5rem;
|
|
1857
|
+
}
|
|
1858
|
+
|
|
1794
1859
|
.h-3 {
|
|
1795
1860
|
height: 0.75rem;
|
|
1796
1861
|
}
|
|
1797
1862
|
|
|
1863
|
+
.h-4 {
|
|
1864
|
+
height: 1rem;
|
|
1865
|
+
}
|
|
1866
|
+
|
|
1798
1867
|
.h-5 {
|
|
1799
1868
|
height: 1.25rem;
|
|
1800
1869
|
}
|
|
@@ -1803,6 +1872,10 @@ select {
|
|
|
1803
1872
|
height: 2.25rem;
|
|
1804
1873
|
}
|
|
1805
1874
|
|
|
1875
|
+
.h-\[320px\] {
|
|
1876
|
+
height: 320px;
|
|
1877
|
+
}
|
|
1878
|
+
|
|
1806
1879
|
.h-\[calc\(100vh-56px\)\] {
|
|
1807
1880
|
height: calc(100vh - 56px);
|
|
1808
1881
|
}
|
|
@@ -1840,6 +1913,14 @@ select {
|
|
|
1840
1913
|
width: 4rem;
|
|
1841
1914
|
}
|
|
1842
1915
|
|
|
1916
|
+
.w-2 {
|
|
1917
|
+
width: 0.5rem;
|
|
1918
|
+
}
|
|
1919
|
+
|
|
1920
|
+
.w-2\.5 {
|
|
1921
|
+
width: 0.625rem;
|
|
1922
|
+
}
|
|
1923
|
+
|
|
1843
1924
|
.w-3 {
|
|
1844
1925
|
width: 0.75rem;
|
|
1845
1926
|
}
|
|
@@ -1884,6 +1965,11 @@ select {
|
|
|
1884
1965
|
flex: none;
|
|
1885
1966
|
}
|
|
1886
1967
|
|
|
1968
|
+
.-translate-x-1\/2 {
|
|
1969
|
+
--tw-translate-x: -50%;
|
|
1970
|
+
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1971
|
+
}
|
|
1972
|
+
|
|
1887
1973
|
.rotate-180 {
|
|
1888
1974
|
--tw-rotate: 180deg;
|
|
1889
1975
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
@@ -1904,6 +1990,16 @@ select {
|
|
|
1904
1990
|
animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
|
|
1905
1991
|
}
|
|
1906
1992
|
|
|
1993
|
+
@keyframes spin {
|
|
1994
|
+
to {
|
|
1995
|
+
transform: rotate(360deg);
|
|
1996
|
+
}
|
|
1997
|
+
}
|
|
1998
|
+
|
|
1999
|
+
.animate-spin {
|
|
2000
|
+
animation: spin 1s linear infinite;
|
|
2001
|
+
}
|
|
2002
|
+
|
|
1907
2003
|
.cursor-not-allowed {
|
|
1908
2004
|
cursor: not-allowed;
|
|
1909
2005
|
}
|
|
@@ -1912,6 +2008,14 @@ select {
|
|
|
1912
2008
|
cursor: pointer;
|
|
1913
2009
|
}
|
|
1914
2010
|
|
|
2011
|
+
.grid-cols-1 {
|
|
2012
|
+
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
2013
|
+
}
|
|
2014
|
+
|
|
2015
|
+
.grid-cols-2 {
|
|
2016
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
2017
|
+
}
|
|
2018
|
+
|
|
1915
2019
|
.flex-col {
|
|
1916
2020
|
flex-direction: column;
|
|
1917
2021
|
}
|
|
@@ -1960,6 +2064,10 @@ select {
|
|
|
1960
2064
|
gap: 1rem;
|
|
1961
2065
|
}
|
|
1962
2066
|
|
|
2067
|
+
.gap-6 {
|
|
2068
|
+
gap: 1.5rem;
|
|
2069
|
+
}
|
|
2070
|
+
|
|
1963
2071
|
.overflow-hidden {
|
|
1964
2072
|
overflow: hidden;
|
|
1965
2073
|
}
|
|
@@ -1990,6 +2098,10 @@ select {
|
|
|
1990
2098
|
border-radius: 9999px;
|
|
1991
2099
|
}
|
|
1992
2100
|
|
|
2101
|
+
.rounded-xl {
|
|
2102
|
+
border-radius: 0.75rem;
|
|
2103
|
+
}
|
|
2104
|
+
|
|
1993
2105
|
.rounded-l {
|
|
1994
2106
|
border-top-left-radius: 0.25rem;
|
|
1995
2107
|
border-bottom-left-radius: 0.25rem;
|
|
@@ -1999,6 +2111,10 @@ select {
|
|
|
1999
2111
|
border-width: 1px;
|
|
2000
2112
|
}
|
|
2001
2113
|
|
|
2114
|
+
.border-2 {
|
|
2115
|
+
border-width: 2px;
|
|
2116
|
+
}
|
|
2117
|
+
|
|
2002
2118
|
.border-\[2px\] {
|
|
2003
2119
|
border-width: 2px;
|
|
2004
2120
|
}
|
|
@@ -2029,6 +2145,11 @@ select {
|
|
|
2029
2145
|
border-color: rgb(240 240 248 / var(--tw-border-opacity));
|
|
2030
2146
|
}
|
|
2031
2147
|
|
|
2148
|
+
.border-neutral-200 {
|
|
2149
|
+
--tw-border-opacity: 1;
|
|
2150
|
+
border-color: rgb(229 229 229 / var(--tw-border-opacity));
|
|
2151
|
+
}
|
|
2152
|
+
|
|
2032
2153
|
.border-neutral-300 {
|
|
2033
2154
|
--tw-border-opacity: 1;
|
|
2034
2155
|
border-color: rgb(212 212 212 / var(--tw-border-opacity));
|
|
@@ -2039,15 +2160,34 @@ select {
|
|
|
2039
2160
|
border-color: rgba(var(--primary), var(--tw-border-opacity));
|
|
2040
2161
|
}
|
|
2041
2162
|
|
|
2163
|
+
.border-raketa-primary\/20 {
|
|
2164
|
+
border-color: rgba(var(--primary), 0.2);
|
|
2165
|
+
}
|
|
2166
|
+
|
|
2042
2167
|
.border-transparent {
|
|
2043
2168
|
border-color: transparent;
|
|
2044
2169
|
}
|
|
2045
2170
|
|
|
2171
|
+
.border-yellow-500 {
|
|
2172
|
+
--tw-border-opacity: 1;
|
|
2173
|
+
border-color: rgb(234 179 8 / var(--tw-border-opacity));
|
|
2174
|
+
}
|
|
2175
|
+
|
|
2176
|
+
.border-t-raketa-primary {
|
|
2177
|
+
--tw-border-opacity: 1;
|
|
2178
|
+
border-top-color: rgba(var(--primary), var(--tw-border-opacity));
|
|
2179
|
+
}
|
|
2180
|
+
|
|
2046
2181
|
.bg-\[\#F7F7FC\] {
|
|
2047
2182
|
--tw-bg-opacity: 1;
|
|
2048
2183
|
background-color: rgb(247 247 252 / var(--tw-bg-opacity));
|
|
2049
2184
|
}
|
|
2050
2185
|
|
|
2186
|
+
.bg-amber-500 {
|
|
2187
|
+
--tw-bg-opacity: 1;
|
|
2188
|
+
background-color: rgb(245 158 11 / var(--tw-bg-opacity));
|
|
2189
|
+
}
|
|
2190
|
+
|
|
2051
2191
|
.bg-black {
|
|
2052
2192
|
--tw-bg-opacity: 1;
|
|
2053
2193
|
background-color: rgb(0 0 0 / var(--tw-bg-opacity));
|
|
@@ -2063,6 +2203,16 @@ select {
|
|
|
2063
2203
|
background-color: rgb(209 250 229 / var(--tw-bg-opacity));
|
|
2064
2204
|
}
|
|
2065
2205
|
|
|
2206
|
+
.bg-emerald-500 {
|
|
2207
|
+
--tw-bg-opacity: 1;
|
|
2208
|
+
background-color: rgb(16 185 129 / var(--tw-bg-opacity));
|
|
2209
|
+
}
|
|
2210
|
+
|
|
2211
|
+
.bg-mono-25 {
|
|
2212
|
+
--tw-bg-opacity: 1;
|
|
2213
|
+
background-color: rgb(234 234 234 / var(--tw-bg-opacity));
|
|
2214
|
+
}
|
|
2215
|
+
|
|
2066
2216
|
.bg-orange-100 {
|
|
2067
2217
|
--tw-bg-opacity: 1;
|
|
2068
2218
|
background-color: rgb(255 237 213 / var(--tw-bg-opacity));
|
|
@@ -2082,6 +2232,10 @@ select {
|
|
|
2082
2232
|
background-color: rgba(var(--primary), var(--tw-bg-opacity));
|
|
2083
2233
|
}
|
|
2084
2234
|
|
|
2235
|
+
.bg-raketa-primary\/10 {
|
|
2236
|
+
background-color: rgba(var(--primary), 0.1);
|
|
2237
|
+
}
|
|
2238
|
+
|
|
2085
2239
|
.bg-raketa-primary\/5 {
|
|
2086
2240
|
background-color: rgba(var(--primary), 0.05);
|
|
2087
2241
|
}
|
|
@@ -2091,11 +2245,21 @@ select {
|
|
|
2091
2245
|
background-color: rgb(254 226 226 / var(--tw-bg-opacity));
|
|
2092
2246
|
}
|
|
2093
2247
|
|
|
2248
|
+
.bg-red-500 {
|
|
2249
|
+
--tw-bg-opacity: 1;
|
|
2250
|
+
background-color: rgb(239 68 68 / var(--tw-bg-opacity));
|
|
2251
|
+
}
|
|
2252
|
+
|
|
2094
2253
|
.bg-white {
|
|
2095
2254
|
--tw-bg-opacity: 1;
|
|
2096
2255
|
background-color: rgb(255 255 255 / var(--tw-bg-opacity));
|
|
2097
2256
|
}
|
|
2098
2257
|
|
|
2258
|
+
.bg-yellow-400 {
|
|
2259
|
+
--tw-bg-opacity: 1;
|
|
2260
|
+
background-color: rgb(250 204 21 / var(--tw-bg-opacity));
|
|
2261
|
+
}
|
|
2262
|
+
|
|
2099
2263
|
.fill-\[\#34a853\] {
|
|
2100
2264
|
fill: #34a853;
|
|
2101
2265
|
}
|
|
@@ -2124,6 +2288,14 @@ select {
|
|
|
2124
2288
|
padding: 1rem;
|
|
2125
2289
|
}
|
|
2126
2290
|
|
|
2291
|
+
.p-5 {
|
|
2292
|
+
padding: 1.25rem;
|
|
2293
|
+
}
|
|
2294
|
+
|
|
2295
|
+
.p-6 {
|
|
2296
|
+
padding: 1.5rem;
|
|
2297
|
+
}
|
|
2298
|
+
|
|
2127
2299
|
.px-3 {
|
|
2128
2300
|
padding-left: 0.75rem;
|
|
2129
2301
|
padding-right: 0.75rem;
|
|
@@ -2187,6 +2359,14 @@ select {
|
|
|
2187
2359
|
padding-top: 0.25rem;
|
|
2188
2360
|
}
|
|
2189
2361
|
|
|
2362
|
+
.pt-2 {
|
|
2363
|
+
padding-top: 0.5rem;
|
|
2364
|
+
}
|
|
2365
|
+
|
|
2366
|
+
.pt-6 {
|
|
2367
|
+
padding-top: 1.5rem;
|
|
2368
|
+
}
|
|
2369
|
+
|
|
2190
2370
|
.text-center {
|
|
2191
2371
|
text-align: center;
|
|
2192
2372
|
}
|
|
@@ -2196,11 +2376,24 @@ select {
|
|
|
2196
2376
|
line-height: 2.25rem;
|
|
2197
2377
|
}
|
|
2198
2378
|
|
|
2379
|
+
.text-\[10px\] {
|
|
2380
|
+
font-size: 10px;
|
|
2381
|
+
}
|
|
2382
|
+
|
|
2383
|
+
.text-\[11px\] {
|
|
2384
|
+
font-size: 11px;
|
|
2385
|
+
}
|
|
2386
|
+
|
|
2199
2387
|
.text-sm {
|
|
2200
2388
|
font-size: 0.875rem;
|
|
2201
2389
|
line-height: 1.25rem;
|
|
2202
2390
|
}
|
|
2203
2391
|
|
|
2392
|
+
.text-xl {
|
|
2393
|
+
font-size: 1.25rem;
|
|
2394
|
+
line-height: 1.75rem;
|
|
2395
|
+
}
|
|
2396
|
+
|
|
2204
2397
|
.text-xs {
|
|
2205
2398
|
font-size: 0.75rem;
|
|
2206
2399
|
line-height: 1rem;
|
|
@@ -2214,6 +2407,10 @@ select {
|
|
|
2214
2407
|
font-weight: 500;
|
|
2215
2408
|
}
|
|
2216
2409
|
|
|
2410
|
+
.font-normal {
|
|
2411
|
+
font-weight: 400;
|
|
2412
|
+
}
|
|
2413
|
+
|
|
2217
2414
|
.font-semibold {
|
|
2218
2415
|
font-weight: 600;
|
|
2219
2416
|
}
|
|
@@ -2234,6 +2431,10 @@ select {
|
|
|
2234
2431
|
font-style: italic;
|
|
2235
2432
|
}
|
|
2236
2433
|
|
|
2434
|
+
.leading-tight {
|
|
2435
|
+
line-height: 1.25;
|
|
2436
|
+
}
|
|
2437
|
+
|
|
2237
2438
|
.tracking-wider {
|
|
2238
2439
|
letter-spacing: 0.05em;
|
|
2239
2440
|
}
|
|
@@ -2243,11 +2444,21 @@ select {
|
|
|
2243
2444
|
color: rgb(60 64 67 / var(--tw-text-opacity));
|
|
2244
2445
|
}
|
|
2245
2446
|
|
|
2447
|
+
.text-amber-500 {
|
|
2448
|
+
--tw-text-opacity: 1;
|
|
2449
|
+
color: rgb(245 158 11 / var(--tw-text-opacity));
|
|
2450
|
+
}
|
|
2451
|
+
|
|
2246
2452
|
.text-blue-700 {
|
|
2247
2453
|
--tw-text-opacity: 1;
|
|
2248
2454
|
color: rgb(29 78 216 / var(--tw-text-opacity));
|
|
2249
2455
|
}
|
|
2250
2456
|
|
|
2457
|
+
.text-emerald-500 {
|
|
2458
|
+
--tw-text-opacity: 1;
|
|
2459
|
+
color: rgb(16 185 129 / var(--tw-text-opacity));
|
|
2460
|
+
}
|
|
2461
|
+
|
|
2251
2462
|
.text-emerald-600 {
|
|
2252
2463
|
--tw-text-opacity: 1;
|
|
2253
2464
|
color: rgb(5 150 105 / var(--tw-text-opacity));
|
|
@@ -2263,6 +2474,11 @@ select {
|
|
|
2263
2474
|
color: rgb(156 163 175 / var(--tw-text-opacity));
|
|
2264
2475
|
}
|
|
2265
2476
|
|
|
2477
|
+
.text-orange-500 {
|
|
2478
|
+
--tw-text-opacity: 1;
|
|
2479
|
+
color: rgb(249 115 22 / var(--tw-text-opacity));
|
|
2480
|
+
}
|
|
2481
|
+
|
|
2266
2482
|
.text-orange-700 {
|
|
2267
2483
|
--tw-text-opacity: 1;
|
|
2268
2484
|
color: rgb(194 65 12 / var(--tw-text-opacity));
|
|
@@ -2359,6 +2575,11 @@ select {
|
|
|
2359
2575
|
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
|
|
2360
2576
|
}
|
|
2361
2577
|
|
|
2578
|
+
.grayscale {
|
|
2579
|
+
--tw-grayscale: grayscale(100%);
|
|
2580
|
+
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
2581
|
+
}
|
|
2582
|
+
|
|
2362
2583
|
.filter {
|
|
2363
2584
|
filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
|
|
2364
2585
|
}
|
|
@@ -3149,6 +3370,10 @@ body {
|
|
|
3149
3370
|
background-color: rgba(var(--primary), var(--tw-bg-opacity));
|
|
3150
3371
|
}
|
|
3151
3372
|
|
|
3373
|
+
.hover\:bg-raketa-primary\/20:hover {
|
|
3374
|
+
background-color: rgba(var(--primary), 0.2);
|
|
3375
|
+
}
|
|
3376
|
+
|
|
3152
3377
|
.hover\:text-raketa-foreground:hover {
|
|
3153
3378
|
--tw-text-opacity: 1;
|
|
3154
3379
|
color: rgba(var(--foreground), var(--tw-text-opacity));
|
|
@@ -3213,6 +3438,10 @@ body {
|
|
|
3213
3438
|
}
|
|
3214
3439
|
|
|
3215
3440
|
@media (min-width: 768px) {
|
|
3441
|
+
.md\:grid-cols-2 {
|
|
3442
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
3443
|
+
}
|
|
3444
|
+
|
|
3216
3445
|
.md\:grid-cols-3 {
|
|
3217
3446
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
3218
3447
|
}
|
|
@@ -3234,6 +3463,42 @@ body {
|
|
|
3234
3463
|
.lg\:grid-cols-3 {
|
|
3235
3464
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
3236
3465
|
}
|
|
3466
|
+
|
|
3467
|
+
.lg\:grid-cols-4 {
|
|
3468
|
+
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
3469
|
+
}
|
|
3470
|
+
|
|
3471
|
+
.lg\:grid-cols-5 {
|
|
3472
|
+
grid-template-columns: repeat(5, minmax(0, 1fr));
|
|
3473
|
+
}
|
|
3474
|
+
|
|
3475
|
+
.lg\:gap-0 {
|
|
3476
|
+
gap: 0px;
|
|
3477
|
+
}
|
|
3478
|
+
|
|
3479
|
+
.lg\:divide-x > :not([hidden]) ~ :not([hidden]) {
|
|
3480
|
+
--tw-divide-x-reverse: 0;
|
|
3481
|
+
border-right-width: calc(1px * var(--tw-divide-x-reverse));
|
|
3482
|
+
border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
|
|
3483
|
+
}
|
|
3484
|
+
|
|
3485
|
+
.lg\:divide-neutral-200 > :not([hidden]) ~ :not([hidden]) {
|
|
3486
|
+
--tw-divide-opacity: 1;
|
|
3487
|
+
border-color: rgb(229 229 229 / var(--tw-divide-opacity));
|
|
3488
|
+
}
|
|
3489
|
+
|
|
3490
|
+
.lg\:px-5 {
|
|
3491
|
+
padding-left: 1.25rem;
|
|
3492
|
+
padding-right: 1.25rem;
|
|
3493
|
+
}
|
|
3494
|
+
|
|
3495
|
+
.lg\:first\:pl-0:first-child {
|
|
3496
|
+
padding-left: 0px;
|
|
3497
|
+
}
|
|
3498
|
+
|
|
3499
|
+
.lg\:last\:pr-0:last-child {
|
|
3500
|
+
padding-right: 0px;
|
|
3501
|
+
}
|
|
3237
3502
|
}
|
|
3238
3503
|
|
|
3239
3504
|
.dark\:border-neutral-500:where(.dark, .dark *) {
|
|
@@ -3254,6 +3519,11 @@ body {
|
|
|
3254
3519
|
background-color: rgb(6 78 59 / 0.5);
|
|
3255
3520
|
}
|
|
3256
3521
|
|
|
3522
|
+
.dark\:bg-neutral-800:where(.dark, .dark *) {
|
|
3523
|
+
--tw-bg-opacity: 1;
|
|
3524
|
+
background-color: rgb(38 38 38 / var(--tw-bg-opacity));
|
|
3525
|
+
}
|
|
3526
|
+
|
|
3257
3527
|
.dark\:bg-orange-900\/50:where(.dark, .dark *) {
|
|
3258
3528
|
background-color: rgb(124 45 18 / 0.5);
|
|
3259
3529
|
}
|
|
@@ -3295,3 +3565,10 @@ body {
|
|
|
3295
3565
|
--tw-bg-opacity: 1;
|
|
3296
3566
|
background-color: rgb(64 64 64 / var(--tw-bg-opacity));
|
|
3297
3567
|
}
|
|
3568
|
+
|
|
3569
|
+
@media (min-width: 1024px) {
|
|
3570
|
+
.dark\:lg\:divide-neutral-700:where(.dark, .dark *) > :not([hidden]) ~ :not([hidden]) {
|
|
3571
|
+
--tw-divide-opacity: 1;
|
|
3572
|
+
border-color: rgb(64 64 64 / var(--tw-divide-opacity));
|
|
3573
|
+
}
|
|
3574
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@raketa-cloud/admin",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.20",
|
|
4
4
|
"main": "src/index.js",
|
|
5
5
|
"files": [
|
|
6
6
|
"src/",
|
|
@@ -21,17 +21,19 @@
|
|
|
21
21
|
"@tailwindcss/forms": "0.5.7",
|
|
22
22
|
"@tailwindcss/typography": "0.5.13",
|
|
23
23
|
"@types/node": "24.10.1",
|
|
24
|
-
"babel-jest": "
|
|
25
|
-
"jest": "
|
|
26
|
-
"jest-environment-node": "
|
|
24
|
+
"babel-jest": "29.7.0",
|
|
25
|
+
"jest": "29.7.0",
|
|
26
|
+
"jest-environment-node": "29.7.0",
|
|
27
27
|
"tailwindcss": "3.4.4",
|
|
28
28
|
"typescript": "5.9.3"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@hono/node-server": "2.0.12",
|
|
32
|
-
"
|
|
32
|
+
"chart.js": "4.5.1",
|
|
33
|
+
"ejs": "6.0.1",
|
|
33
34
|
"graphql-request": "7.4.0",
|
|
34
|
-
"hono": "4.12.34"
|
|
35
|
+
"hono": "4.12.34",
|
|
36
|
+
"lru-cache": "11.5.2"
|
|
35
37
|
},
|
|
36
38
|
"overrides": {
|
|
37
39
|
"error-ex": "1.3.4"
|
package/src/cloud/Resources.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { toDateInput, toDateTimeInput } from "../utils";
|
|
1
|
+
import { toDateInput, toDateTimeInput, toUTCISO8601String } from "../utils";
|
|
2
2
|
import RaketaClient from "./RaketaClient";
|
|
3
3
|
import {
|
|
4
4
|
ChangeResourceSlugDocument,
|
|
@@ -155,6 +155,20 @@ export default class Resources extends RaketaClient {
|
|
|
155
155
|
return { resource, errors };
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
+
appendWorkflow(input, workflow) {
|
|
159
|
+
if (!workflow?.type) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
input.workflow = {
|
|
164
|
+
type: workflow.type,
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
if (workflow.due_date) {
|
|
168
|
+
input.workflow.dueDate = toUTCISO8601String(workflow.due_date);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
158
172
|
async translateBatch(
|
|
159
173
|
sourceResourceId,
|
|
160
174
|
locales,
|
|
@@ -178,9 +192,7 @@ export default class Resources extends RaketaClient {
|
|
|
178
192
|
resource: paramsCopy,
|
|
179
193
|
};
|
|
180
194
|
|
|
181
|
-
|
|
182
|
-
input.workflow = workflow;
|
|
183
|
-
}
|
|
195
|
+
this.appendWorkflow(input, workflow);
|
|
184
196
|
|
|
185
197
|
variables[`input${i}`] = input;
|
|
186
198
|
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { resourceReports } from "../../helpers/reports/reportsUtils";
|
|
2
|
+
|
|
3
|
+
// Nothing is cached here: the upstream calls cache themselves per page (GA and
|
|
4
|
+
// CrUX, 3 hours each), so a second cache of the assembled payload would only
|
|
5
|
+
// hold the resource's own publish dates back for the same 3 hours.
|
|
6
|
+
const show = async (ctx) => {
|
|
7
|
+
const { id } = ctx.params;
|
|
8
|
+
const { resourceType } = ctx.resourceConfig;
|
|
9
|
+
|
|
10
|
+
const resource = await ctx.client.resources.find(
|
|
11
|
+
id,
|
|
12
|
+
ctx.locale,
|
|
13
|
+
resourceType,
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
if (!resource) {
|
|
17
|
+
throw new Error(`Missing ${resourceType} #${id}`);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
// Either side comes back null when it isn't configured and { error } when its
|
|
21
|
+
// request failed, so there is nothing left for this handler to fall back to.
|
|
22
|
+
return {
|
|
23
|
+
json: await resourceReports(ctx, resource, resourceType),
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export default { show };
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { CWV_METRICS } from "../../helpers/reports/cwv";
|
|
2
|
+
import { reportsAvailability } from "../../helpers/reports/reportsUtils";
|
|
3
|
+
|
|
1
4
|
const index = async (ctx) => {
|
|
2
5
|
const { resourceType } = ctx.resourceConfig;
|
|
3
6
|
|
|
@@ -58,9 +61,22 @@ const show = async (ctx) => {
|
|
|
58
61
|
resourceType,
|
|
59
62
|
);
|
|
60
63
|
|
|
64
|
+
// The reports are fetched client-side from the JSON endpoint below — GA and
|
|
65
|
+
// CrUX round-trips used to hold up this render.
|
|
66
|
+
const available = reportsAvailability(ctx);
|
|
67
|
+
|
|
61
68
|
return {
|
|
62
69
|
assigns: {
|
|
63
70
|
resource,
|
|
71
|
+
reports: {
|
|
72
|
+
insights: available.insights,
|
|
73
|
+
webVitals: available.webVitals,
|
|
74
|
+
path:
|
|
75
|
+
available.insights || available.webVitals
|
|
76
|
+
? `/${ctx.locale}/report/${resourceTypePlural}/${resource.id}`
|
|
77
|
+
: null,
|
|
78
|
+
vitalsMeta: available.webVitals ? CWV_METRICS : [],
|
|
79
|
+
},
|
|
64
80
|
revisions: revisions.list,
|
|
65
81
|
changes: changes,
|
|
66
82
|
_translations: Object.keys(ctx.locales)
|