Skip to content
This repository was archived by the owner on Apr 21, 2026. It is now read-only.

Commit 770111f

Browse files
author
dpatanin
committed
recover lost commits: rework frontpage
1 parent d1a47df commit 770111f

13 files changed

Lines changed: 183 additions & 89 deletions

File tree

package-lock.json

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

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@
3535
"react-dom": "^16.13.1",
3636
"react-helmet": "^6.1.0",
3737
"react-icons": "^3.11.0",
38-
"react-tabs": "^3.1.1"
38+
"react-tabs": "^3.1.1",
39+
"react-tooltip": "^4.2.9"
3940
},
4041
"devDependencies": {
4142
"node-sass": "^4.14.1",

src/data/features.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
11
[
22
{
3-
"title": "Quick & Easy",
4-
"description": "It's a quick and straight forward installation. It works on every system and is ready to use.",
3+
"title": "Quick & easy installation",
4+
"description": "It's a quick and straight forward installation. It works on every system and is ready to use from start.",
55
"image": "/features/quick.svg",
66
"altText": "speed clock"
77
},
88
{
9-
"title": "Professionals & Rookies",
9+
"title": "For professionals & rookies",
1010
"description": "You can start scans without any configuration right away and use best practice tests. But each scanner also provides extensive configuration options.",
1111
"image": "/features/code.svg",
1212
"altText": "code terminal"
1313
},
1414
{
15-
"title": "Monitoring",
16-
"description": "We integrate Open Source Scanner ready to use",
17-
"image": "/features/scan.svg",
18-
"altText": "scanner icon"
15+
"title": "Monitor your results",
16+
"description": "Easily monitor each scanner's results through pre-designed (or self made) dashboards, use a tool integration such as e.g. DefectDojo or integrate the persistence tool of your choice.",
17+
"image": "/features/graph.svg",
18+
"altText": "graph icon"
1919
},
2020
{
21-
"title": "Scans behind firewalls",
22-
"description": "Our Scans can dig deeply into your Network",
23-
"image": "/features/firewall.svg",
24-
"altText": "firewall icon"
21+
"title": "Design your own process",
22+
"description": "Our architecture is designed for open flexibility and free adjustments. New tools can be integrated fairly simple and you can design your own scan and monitor process.",
23+
"image": "/features/content.svg",
24+
"altText": "content icon"
2525
}
2626
]

src/images/approved.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/images/close.svg

Lines changed: 40 additions & 0 deletions
Loading

src/images/not approved.svg

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/images/tick.svg

Lines changed: 38 additions & 0 deletions
Loading

src/pages/index.js

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import React from "react";
2-
import { withPrefix } from "gatsby";
3-
import Helmet from "react-helmet";
4-
import SEO from "../components/SEO";
5-
import Layout from "../components/Layout";
6-
import approved from "../images/approved.svg";
7-
import notApproved from "../images/not approved.svg";
8-
9-
import features from "../data/features.json";
1+
import { withPrefix } from 'gatsby';
2+
import React from 'react';
3+
import Helmet from 'react-helmet';
4+
import ReactTooltip from 'react-tooltip';
5+
import Layout from '../components/Layout';
6+
import SEO from '../components/SEO';
7+
import features from '../data/features.json';
8+
import tick from '../images/tick.svg';
9+
import close from '../images/close.svg';
1010

1111
const Home = () => {
1212
return (
@@ -32,13 +32,12 @@ const Home = () => {
3232

3333
<div className="container pt-3 pb-2 pt-md-3 pb-md-3">
3434
<div className="row justify-content-center">
35-
<div className="col-12">
36-
<h2 className="title-3 text-dark mb-2">
37-
What the secureCodeBox provides:
38-
</h2>
39-
</div>
4035
{features.map((feature) => (
41-
<div key={feature.title} className="col-12 col-md-3 col-lg-3 mb-2">
36+
<div
37+
key={feature.title}
38+
className="col-12 col-md-3 col-lg-3 mb-2"
39+
data-tip={feature.description}
40+
>
4241
<div className="feature hoverable">
4342
{feature.image && (
4443
<div className="feature-image">
@@ -59,40 +58,44 @@ const Home = () => {
5958
<div className="row justify-content-center">
6059
<div className="col-12">
6160
<h2 className="title-3 text-dark mb-2">
62-
When is the secureCodeBox the right toolset for your team?
61+
How does the secureCodeBox help our team?
6362
</h2>
6463
</div>
6564
</div>
6665
<div className="feature">
6766
<div className="feature-list">
6867
<ul className="pro">
6968
<li>
70-
<img src={approved} alt="checked icon" />
71-
Teams with an already medium to advanced security program
69+
<img src={tick} alt="checked icon" />
70+
SDLC support
7271
</li>
7372
<li>
74-
<img src={approved} alt="checked icon" />
75-
Multi-team setups
73+
<img src={tick} alt="checked icon" />
74+
Highly scalable: multiple teams, applications and whole
75+
networks.
7676
</li>
7777
<li>
78-
<img src={approved} alt="checked icon" />
79-
Integration into fast moving teams
78+
<img src={tick} alt="checked icon" />
79+
Scans can range from low-hanging fruits to pen testing.
8080
</li>
8181
</ul>
8282

8383
<ul className="con">
8484
<li>
85-
<img src={notApproved} alt="unchecked icon" />
86-
For the first security steps
85+
<img src={close} alt="unchecked icon" />
86+
We don't assign grades, someone needs to interpret the scan
87+
results.
8788
</li>
8889
<li>
89-
<img src={notApproved} alt="unchecked icon" />
90-
Organizations with separate dev, ops and security teams
90+
<img src={close} alt="unchecked icon" />
91+
Besides our examples, we do not provide many advanced,
92+
pre-configured scans.
9193
</li>
9294
</ul>
9395
</div>
9496
</div>
9597
</div>
98+
<ReactTooltip type="light" effect="solid" className="detailed-info" />
9699
</Layout>
97100
);
98101
};

src/scss/components/_feature.scss

Lines changed: 29 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
}
6868
}
6969
.feature-scanner-icon-right-gap {
70-
// If you want to use the scanner icon and still keep the other elements in the
70+
// If you want to use the scanner icon and still keep the other elements in the
7171
// feature element aligned in the center, use this element as well
7272
align-self: flex-end;
7373
justify-self: stretch;
@@ -76,59 +76,40 @@
7676
width: 80px; //Same as the widest of img.scanner-icon or img.release
7777
}
7878
.feature-list {
79-
ul.pro {
80-
display: inline-block;
79+
display: grid;
80+
ul {
8181
list-style: none;
82-
-webkit-columns: 1;
83-
-moz-columns: 1;
84-
margin: 0;
85-
padding: 0;
86-
float: left;
87-
max-width: 45%;
88-
@include media-breakpoint-down(sm) {
89-
max-width: 90%;
90-
float: unset;
82+
padding-left: 0px;
83+
}
84+
@include media-breakpoint-up(md) {
85+
ul.pro {
86+
grid-column: 1;
9187
}
92-
li {
93-
img {
94-
width: 40px;
95-
padding-right: 5px;
96-
}
97-
font-size: 1.1rem;
98-
color: $secondary;
99-
margin: 25px;
100-
line-height: 1.3;
101-
text-align: left;
102-
// Needs to be the negative of img-width
103-
text-indent: -40px;
88+
ul.con {
89+
grid-column: 2;
10490
}
10591
}
106-
ul.con {
107-
display: inline-block;
108-
list-style: none;
109-
-webkit-columns: 1;
110-
-moz-columns: 1;
111-
margin: 0;
112-
padding: 0;
113-
max-width: 45%;
114-
float: right;
115-
@include media-breakpoint-down(sm) {
116-
max-width: 90%;
117-
float: unset;
92+
@include media-breakpoint-down(md) {
93+
ul.pro {
94+
grid-row: 1;
11895
}
119-
li {
120-
img {
121-
width: 40px;
122-
padding-right: 5px;
96+
ul.con {
97+
grid-row: 2;
98+
}
99+
}
100+
li {
101+
img {
102+
width: 35px;
103+
margin-right: 10px;
104+
@include media-breakpoint-down(md) {
105+
width: 25px;
123106
}
124-
font-size: 1.1rem;
125-
color: $secondary;
126-
margin: 25px;
127-
line-height: 1.3;
128-
text-align: left;
129-
// Needs to be the negative of img-width
130-
text-indent: -40px;
131107
}
108+
font-size: 1.1rem;
109+
color: $secondary;
110+
margin: 25px;
111+
line-height: 1.3;
112+
text-align: left;
132113
}
133114
}
134115
}
@@ -147,4 +128,4 @@
147128
> a {
148129
text-decoration: none;
149130
}
150-
}
131+
}

src/scss/pages/_home.scss

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,18 @@
1717
background-position: 100% 130px;
1818
}
1919
}
20+
21+
// React-tooltip requires !important statement for custom styles
22+
.detailed-info {
23+
opacity: 100% !important;
24+
border: solid 1px $gray-600 !important;
25+
font-size: 20px !important;
26+
max-width: 600px !important;
27+
@include media-breakpoint-down(md) {
28+
font-size: 16px !important;
29+
max-width: 400px !important;
30+
}
31+
@include media-breakpoint-down(sm) {
32+
max-width: 80vw !important;
33+
}
34+
}

0 commit comments

Comments
 (0)