8
8
*/
9
9
10
10
import React from "react" ;
11
- import { css } from "styled-components" ;
12
11
13
- import { WaveFooter } from "atoms/core/vectors/divider" ;
14
- import { P } from "atoms/core/html-elements" ;
12
+ import Button from "atoms/core/Button" ;
15
13
import Link from "atoms/core/Link" ;
16
- import Section , { Content } from "containers/core/Section" ;
17
- import EmptyState from "molecules/core/EmptyState" ;
14
+ import { Image } from "atoms/core/mdx-elements" ;
15
+ import { Content } from "containers/core/Section" ;
16
+ import FeatureDuo , { Actions , Headline , Subline , Text , Visualization } from "molecules/page/shared/FeatureDuo" ;
17
+ import { usePortsAssetsPropTypes } from "hooks/shared/propTypes" ;
18
18
import { usePortsMetadata } from "hooks" ;
19
+ import { sectionIdFor } from "utils" ;
20
+ import { ROUTE_DOCS_PORTS_VISUAL_STUDIO_CODE , ROUTE_PORTS_VISUAL_STUDIO_CODE } from "config/routes/mappings" ;
19
21
20
- import { emptyStateIllustrationStyles } from "../../../shared/styles" ;
22
+ import { Section } from "../../../shared" ;
23
+ import WaveDivider from "./styled/WaveDivider" ;
24
+
25
+ const SECTION_ID = sectionIdFor ( ROUTE_PORTS_VISUAL_STUDIO_CODE , 0 ) ;
21
26
22
27
/**
23
28
* The component that represents the hero section for the landing page of the "Nord Visual Studio Code" port project.
@@ -26,32 +31,51 @@ import { emptyStateIllustrationStyles } from "../../../shared/styles";
26
31
* @author Sven Greb <[email protected] >
27
32
* @since 0.9.0
28
33
*/
29
- export default function SectionHero ( ) {
34
+ const SectionHero = ( { assets } ) => {
30
35
const portMetadata = usePortsMetadata ( ) ;
31
- const { gitHubRepositoryUrl } = portMetadata . find ( port => port . name === "nord-visual-studio-code" ) ;
36
+ const { extensionMarketplaceUrl, gitHubRepositoryUrl, projectUrl } = portMetadata . find (
37
+ port => port . name === "nord-visual-studio-code"
38
+ ) ;
32
39
33
40
return (
34
- < Section >
35
- < Content centered >
36
- < EmptyState
37
- headline = "Oh, there's nothing here yet"
38
- illustrationStyles = { emptyStateIllustrationStyles }
39
- illustrationVariant = "iglooHemisphere"
40
- subline = "Please check back later, we're working hard on this page!"
41
- />
42
- < P
43
- css = { css `
44
- text-align : center;
45
- ` }
46
- >
47
- In the meantime, please see the official{ " " }
48
- < Link href = { gitHubRepositoryUrl } target = "_blank" variant = "minimal" >
49
- repository on GitHub
50
- </ Link > { " " }
51
- for information about Nord Visual Studio Code.
52
- </ P >
41
+ < Section id = { SECTION_ID } >
42
+ < Content centered decorated >
43
+ < FeatureDuo verticalOnly >
44
+ < Text verticalOnly >
45
+ < Headline large > Nord Visual Studio Code</ Headline >
46
+ < Subline >
47
+ An arctic, north-bluish clean and elegant < Link href = { projectUrl } > Visual Studio Code</ Link > theme.
48
+ </ Subline >
49
+ < Subline >
50
+ Designed for a fluent and clear workflow with support for many languages and the workbench UI.
51
+ </ Subline >
52
+ < Actions >
53
+ < Button href = { extensionMarketplaceUrl } variant = "primary" >
54
+ Install Now
55
+ </ Button >
56
+ < Button ghost outlined quiet to = { ROUTE_DOCS_PORTS_VISUAL_STUDIO_CODE } variant = "primary" >
57
+ Documentation
58
+ </ Button >
59
+ < Button ghost href = { gitHubRepositoryUrl } outlined quiet variant = "primary" >
60
+ GitHub
61
+ </ Button >
62
+ </ Actions >
63
+ </ Text >
64
+ < Visualization >
65
+ < Image
66
+ alt = "Screenshot showing JSX syntax as part of a React component"
67
+ dropShadow
68
+ fluid = { assets . images [ "ui-overview-jsx.png" ] }
69
+ rounded
70
+ />
71
+ </ Visualization >
72
+ </ FeatureDuo >
53
73
</ Content >
54
- < WaveFooter />
74
+ < WaveDivider />
55
75
</ Section >
56
76
) ;
57
- }
77
+ } ;
78
+
79
+ SectionHero . propTypes = usePortsAssetsPropTypes ;
80
+
81
+ export default SectionHero ;
0 commit comments