Skip to content

Commit 19add19

Browse files
authored
Merge branch 'master' into internship
2 parents 2bda501 + 807d3a5 commit 19add19

14 files changed

Lines changed: 720 additions & 195 deletions

File tree

onRenderBody.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,14 @@ const MagicScriptTag = (props) => {
2626
}
2727
const root = document.documentElement;
2828
const iterate = (obj) => {
29-
Object.keys(obj).forEach(key => {
30-
if (typeof obj[key] === 'object') {
31-
iterate(obj[key])
32-
} else {
33-
root.style.setProperty("--" + key, obj[key])
34-
}
35-
})
29+
if (!obj) return;
30+
Object.keys(obj).forEach(key => {
31+
if (typeof obj[key] === 'object') {
32+
iterate(obj[key])
33+
} else {
34+
root.style.setProperty("--" + key, obj[key])
35+
}
36+
})
3637
}
3738
const parsedTheme = JSON.parse('${JSON.stringify(props.theme)}')
3839
const theme = parsedTheme[colorMode]

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,14 @@
3535
"@fullcalendar/interaction": "^6.0.1",
3636
"@fullcalendar/react": "^6.1.8",
3737
"@layer5/meshery-design-embed": "^0.4.0",
38-
"@sistent/sistent": "^0.14.201",
3938
"@loadable/component": "^5.16.4",
4039
"@mdx-js/mdx": "1.6.22",
4140
"@mdx-js/react": "1.6.22",
4241
"@mediacurrent/gatsby-plugin-silence-css-order-warning": "^1.0.0",
4342
"@mui/icons-material": "^6.4.6",
4443
"@mui/material": "^5.15.11",
4544
"@react-icons/all-files": "^4.1.0",
45+
"@sistent/sistent": "^0.14.219",
4646
"@svgr/webpack": "^8.0.1",
4747
"@types/mui-datatables": "^4.3.12",
4848
"ajv": "^8.17.1",
Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 1 addition & 0 deletions
Loading

src/collections/integrations/aws-cloudwatch-controller/index.mdx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@ components: [
2626
"colorIcon": "icons/components/metric-alarm/icons/color/metric-alarm-color.svg",
2727
"whiteIcon": "icons/components/metric-alarm/icons/white/metric-alarm-white.svg",
2828
"description": "",
29+
},
30+
{
31+
"name": "metric-stream",
32+
"colorIcon": "icons/components/metric-stream/icons/color/metric-stream-color.svg",
33+
"whiteIcon": "icons/components/metric-stream/icons/white/metric-stream-white.svg",
34+
"description": "",
2935
}]
3036
featureList: [
3137
"Provides you with data and actionable insights to monitor your applications, respond to system-wide performance changes, and optimize resource utilization.",

src/components/SistentNavigation/toc.style.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,15 @@ const TOCWrapper = styled.div`
4242
margin-bottom: 1rem;
4343
}
4444
45+
.toc-list {
46+
flex-grow: 1;
47+
overflow-y: auto;
48+
padding-right: 0.5rem;
49+
max-height: 530px;
50+
position: sticky;
51+
z-index: 1000;
52+
}
53+
4554
.toc-sub-heading {
4655
color: ${(props) => props.theme.text};
4756
transition: 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);

src/sections/Devrel-platform/picture-slider.js

Lines changed: 43 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
import React from "react";
32
import Slider from "react-slick";
43
import styled from "styled-components";
@@ -7,25 +6,19 @@ import ChallangePNG from "./images/challange_mac.png";
76
import DesignPNG from "./images/design_mac.png";
87
import TutorialPNG from "./images/tutorial_mac.png";
98

10-
119
const PictureSliderWrapper = styled.div`
12-
display:flex;
13-
justify-content:center;
14-
align-items:center;
15-
text-align:center;
10+
width: 100%;
11+
max-width: 900px;
12+
margin: 0 auto;
13+
text-align: center;
1614
1715
.slick-slider {
1816
margin-top: 1rem;
19-
height:100%;
20-
width: 100%;
2117
22-
.slick-list{
23-
width:100%;
24-
}
25-
@media (max-width: 36rem) {
26-
margin: .5rem auto;
27-
max-width: 100%;
18+
.slick-list {
19+
width: 100%;
2820
}
21+
2922
.slick-prev,
3023
.slick-next {
3124
&:before {
@@ -39,30 +32,63 @@ const PictureSliderWrapper = styled.div`
3932
4033
.slick-slide {
4134
display: flex;
42-
height: auto;
4335
align-items: center;
4436
justify-content: center;
37+
38+
img {
39+
width: 100%;
40+
max-height: 500px;
41+
object-fit: contain;
42+
}
43+
}
44+
}
45+
46+
@media (max-width: 850px) {
47+
.slick-prev,
48+
.slick-next {
49+
display: none ;
4550
}
4651
}
4752
`;
4853

4954
const PictureSlider = () => {
5055
const data = [ChallangePNG, TutorialPNG, DesignPNG];
56+
5157
const settings = {
5258
dots: false,
5359
infinite: true,
5460
speed: 500,
5561
slidesToShow: 1,
5662
slidesToScroll: 1,
5763
autoplay: true,
58-
autoplaySpeed: 2000
64+
autoplaySpeed: 2000,
65+
responsive: [
66+
{
67+
breakpoint: 1024,
68+
settings: {
69+
slidesToShow: 1,
70+
slidesToScroll: 1,
71+
arrows: false,
72+
autoplay: true,
73+
},
74+
},
75+
{
76+
breakpoint: 600,
77+
settings: {
78+
slidesToShow: 1,
79+
slidesToScroll: 1,
80+
arrows: false,
81+
autoplay: true,
82+
},
83+
},
84+
],
5985
};
6086

6187
return (
6288
<PictureSliderWrapper>
6389
<Slider {...settings}>
6490
{data.map((image, index) => (
65-
<img key={index} src={image} alt="content" />
91+
<img key={index} src={image} alt={`slide-${index}`} />
6692
))}
6793
</Slider>
6894
</PictureSliderWrapper>

src/sections/Kanvas/Kanvas-visualize/kanvas-visualize-features.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import LogStream from "./images/log-stream.svg";
1616
import LogStreamSearch from "./images/log-stream-search.svg";
1717
import { useState } from "react";
1818
import { useStyledDarkMode } from "../../../theme/app/useStyledDarkMode";
19+
import DocsIcon from "../../Pricing/icons/docs.js";
1920

2021
const VisualizerFeaturesWrapper = styled.div`
2122
@@ -120,7 +121,7 @@ z-index: 10;
120121
transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out 0.3s;
121122
/* transition: transform 1s ease-in-out 0.2s; */
122123
}
123-
`;
124+
}`;
124125

125126
const KanvasisualizerFeatures = () => {
126127
const [isHovered, setisHovered] = useState(false);
@@ -163,14 +164,17 @@ const KanvasisualizerFeatures = () => {
163164
</div>
164165
</Col>
165166
<Col $sm={12} $md={6} $lg={4}>
167+
<a href="https://docs.layer5.io/kanvas/operator/" style={{ textDecoration: 'none', color: 'inherit', display: 'block' }}>
166168
<div className={(isHovered && hoveredFeature != "Feature3") ? "project__block__inner darken" : "project__block__inner"} onMouseOver={() => handleMouseOver(3)} onMouseOut={handleMouseOut}>
167169
<div className="feature-image">
168170
<img src={InteractiveTerminal} alt="Interactive Terminal" style={{ position: "absolute", width: "80%", zIndex: "0" }} />
169171
<img src={InteractiveTerminalCode} alt="" className={hoveredFeature == "Feature3" ? "secondary-image-visible" : "secondary-image"} style={{ position: "relative", width: "80%", zIndex: "10" }} />
170172
</div>
171173
<h3>Interactive Terminal</h3>
172174
<p>Establish sessions with one or more pods at a time.</p>
175+
<DocsIcon style={{ position: 'absolute', top: '16px', right: '16px', color: '#00D3A9' }} className="docs" />
173176
</div>
177+
</a>
174178
</Col>
175179
<Col $sm={12} $md={6} $lg={4}>
176180
<div className={(isHovered && hoveredFeature != "Feature4") ? "project__block__inner darken" : "project__block__inner"} onMouseOver={() => handleMouseOver(4)} onMouseOut={handleMouseOut}>

src/sections/Pricing/feature_data.json

Lines changed: 69 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1183,36 +1183,100 @@
11831183
},
11841184
"docs": ""
11851185
},
1186+
{
1187+
"theme": "",
1188+
"categoryOrder": "",
1189+
"category": "Academy",
1190+
"functionOrder": "",
1191+
"function": "Academy",
1192+
"feature": "Building, managing, and extending Layer5 Academy learning paths.",
1193+
"subscription_tier": "Enterprise",
1194+
"comparison_tiers": {
1195+
"free": "",
1196+
"teamDesigner": "",
1197+
"teamOperator": "",
1198+
"enterprise": "x"
1199+
},
1200+
"docs": "https://docs.layer5.io/cloud/academy/"
1201+
},
1202+
{
1203+
"theme": "",
1204+
"categoryOrder": "",
1205+
"category": "Academy",
1206+
"functionOrder": "",
1207+
"function": "Content Creator Guide",
1208+
"feature": "Learn how to create, manage, and publish learning paths, challenges, and certifications on the Layer5 Academy platform.",
1209+
"subscription_tier": "Enterprise",
1210+
"comparison_tiers": {
1211+
"free": "",
1212+
"teamDesigner": "",
1213+
"teamOperator": "",
1214+
"enterprise": "x"
1215+
},
1216+
"docs": "https://docs.layer5.io/cloud/academy/creating-content/"
1217+
},
11861218
{
11871219
"theme": "",
11881220
"categoryOrder": "",
11891221
"category": "Academy",
11901222
"functionOrder": "",
11911223
"function": "Extending the Academy",
1192-
"feature": "High-level guide to the Academy architecture and workflow",
1224+
"feature": "A high-level guide to understanding the architecture, features, and workflow for creating custom content on the Layer5 Academy platform.",
1225+
"subscription_tier": "Enterprise",
1226+
"comparison_tiers": {
1227+
"free": "",
1228+
"teamDesigner": "",
1229+
"teamOperator": "",
1230+
"enterprise": "x"
1231+
},
1232+
"docs": "https://docs.layer5.io/cloud/academy/creating-content/extending-the-academy/"
1233+
},
1234+
{
1235+
"theme": "",
1236+
"categoryOrder": "",
1237+
"category": "Academy",
1238+
"functionOrder": "",
1239+
"function": "Creating Your First Learning Path",
1240+
"feature": "A hands-on tutorial that walks you through creating, structuring, and testing a custom learning path for the Layer5 Academy.",
1241+
"subscription_tier": "Enterprise",
1242+
"comparison_tiers": {
1243+
"free": "",
1244+
"teamDesigner": "",
1245+
"teamOperator": "",
1246+
"enterprise": "x"
1247+
},
1248+
"docs": "https://docs.layer5.io/cloud/academy/creating-content/creating-your-learning-path/"
1249+
},
1250+
{
1251+
"theme": "",
1252+
"categoryOrder": "",
1253+
"category": "Academy",
1254+
"functionOrder": "",
1255+
"function": "Integrating Assessments in the Academy",
1256+
"feature": "Learn how to spice up the Academy with interactive assessments that keep learners engaged.",
11931257
"subscription_tier": "Enterprise",
11941258
"comparison_tiers": {
11951259
"free": "",
11961260
"teamDesigner": "",
11971261
"teamOperator": "",
11981262
"enterprise": "x"
11991263
},
1200-
"docs": "https://docs.layer5.io/cloud/academy/extending-the-academy/"
1264+
"docs": "https://docs.layer5.io/cloud/academy/creating-content/integrating-assessments-in-the-academy/"
12011265
},
12021266
{
12031267
"theme": "",
12041268
"categoryOrder": "",
12051269
"category": "Academy",
12061270
"functionOrder": "",
1207-
"function": "Creating a Learning Path",
1208-
"feature": "Step-by-step tutorial for creating custom learning paths",
1271+
"function": "Building Certifications",
1272+
"feature": "A step-by-step guide to building a professional certification in the Academy.",
12091273
"subscription_tier": "Enterprise",
12101274
"comparison_tiers": {
12111275
"free": "",
12121276
"teamDesigner": "",
12131277
"teamOperator": "",
12141278
"enterprise": "x"
12151279
},
1216-
"docs": "https://docs.layer5.io/cloud/academy/creating-your-learning-path/"
1280+
"docs": "https://docs.layer5.io/cloud/academy/creating-content/building-certifications/"
12171281
}
12181282
]

0 commit comments

Comments
 (0)