@@ -24,7 +24,7 @@ import Adopters from './adopters';
24
24
import Members from './members' ;
25
25
26
26
//---------- HEAD TAGS
27
- const HeadTags : FunctionComponent < { title ?: string , description ?: string , keywords ?: string , url ?: string , imageUrl ?: string , type ?: string } > = ( props ) => {
27
+ const HeadTags : FunctionComponent < { title ?: string , description ?: string , keywords ?: string , url ?: string , imageUrl ?: string , type ?: string } > = ( props ) => {
28
28
const handleChangeClientState = ( newState : any , addedTags : HelmetTags , removedTags : HelmetTags ) : void => {
29
29
if ( addedTags . metaTags ) {
30
30
addedTags . metaTags . forEach ( ( value : HTMLMetaElement ) => {
@@ -41,38 +41,38 @@ const HeadTags: FunctionComponent<{title?: string, description?: string, keyword
41
41
< title > { props . title } </ title >
42
42
43
43
{ /* SEO Meta Tags */ }
44
- < meta name = 'description' content = { props . description } />
45
- < meta name = 'keywords' content = { props . keywords } />
46
- < meta property = 'og:url' content = { props . url } />
47
- < meta property = 'og:type' content = { type } />
48
- < meta property = 'og:title' content = { props . title } />
49
- < meta property = 'og:description' content = { props . description } />
50
- < meta property = 'og:image' content = { props . imageUrl } />
44
+ < meta name = 'description' content = { props . description } />
45
+ < meta name = 'keywords' content = { props . keywords } />
46
+ < meta property = 'og:url' content = { props . url } />
47
+ < meta property = 'og:type' content = { type } />
48
+ < meta property = 'og:title' content = { props . title } />
49
+ < meta property = 'og:description' content = { props . description } />
50
+ < meta property = 'og:image' content = { props . imageUrl } />
51
51
52
52
{ /* Google Meta Tags */ }
53
- < meta itemProp = 'name' content = { props . title } />
54
- < meta itemProp = 'description' content = { props . description } />
55
- < meta itemProp = 'image' content = { props . imageUrl } />
53
+ < meta itemProp = 'name' content = { props . title } />
54
+ < meta itemProp = 'description' content = { props . description } />
55
+ < meta itemProp = 'image' content = { props . imageUrl } />
56
56
57
57
{ /* Twitter Meta Tags */ }
58
- < meta name = 'twitter:card' content = { twitterCard } />
59
- < meta name = 'twitter:title' content = { props . title } />
60
- < meta name = 'twitter:description' content = { props . description } />
61
- < meta name = 'twitter:image' content = { props . imageUrl } />
58
+ < meta name = 'twitter:card' content = { twitterCard } />
59
+ < meta name = 'twitter:title' content = { props . title } />
60
+ < meta name = 'twitter:description' content = { props . description } />
61
+ < meta name = 'twitter:image' content = { props . imageUrl } />
62
62
</ Helmet > ;
63
63
} ;
64
64
65
- const MainHeadTags : FunctionComponent < { pageSettings : PageSettings } > = ( props ) => {
65
+ const MainHeadTags : FunctionComponent < { pageSettings : PageSettings } > = ( props ) => {
66
66
const title = props . pageSettings . pageTitle ;
67
67
const description = 'Open VSX is an Eclipse open-source project and alternative to the Visual Studio Marketplace. It is deployed by the Eclipse Foundation at open-vsx.org.' ;
68
68
const keywords = 'eclipse,ide,open source,development environment,development,vs code,visual studio code,extension,plugin,plug-in,registry,theia' ;
69
69
const url = `${ location . protocol } //${ location . host } ` ;
70
70
const imageUrl = url + '/openvsx-preview.png' ;
71
71
72
- return ( < HeadTags title = { title } description = { description } keywords = { keywords } url = { url } imageUrl = { imageUrl } /> ) ;
72
+ return ( < HeadTags title = { title } description = { description } keywords = { keywords } url = { url } imageUrl = { imageUrl } /> ) ;
73
73
} ;
74
74
75
- const ExtensionHeadTags : FunctionComponent < { extension ?: Extension , pageSettings : PageSettings } > = ( props ) => {
75
+ const ExtensionHeadTags : FunctionComponent < { extension ?: Extension , pageSettings : PageSettings } > = ( props ) => {
76
76
const { name, namespace } = useParams ( ) ;
77
77
let title = ` – ${ props . pageSettings . pageTitle } ` ;
78
78
let url = `${ location . protocol } //${ location . host } /extension/` ;
@@ -96,19 +96,19 @@ const ExtensionHeadTags: FunctionComponent<{extension?: Extension, pageSettings:
96
96
url += `${ namespace } /${ name } ` ;
97
97
}
98
98
99
- return ( < HeadTags title = { title } url = { url } description = { description } keywords = { keywords } /> )
99
+ return ( < HeadTags title = { title } url = { url } description = { description } keywords = { keywords } /> )
100
100
} ;
101
101
102
- const NamespaceHeadTags : FunctionComponent < { namespaceDetails ?: NamespaceDetails , pageSettings : PageSettings } > = ( props ) => {
102
+ const NamespaceHeadTags : FunctionComponent < { namespaceDetails ?: NamespaceDetails , pageSettings : PageSettings } > = ( props ) => {
103
103
const { name } = useParams ( ) ;
104
104
const namespaceName = props . namespaceDetails ?. displayName ?? props . namespaceDetails ?. name ?? name
105
105
const title = `${ namespaceName } – ${ props . pageSettings . pageTitle } ` ;
106
106
const url = `${ location . protocol } //${ location . host } /namespace/${ namespaceName } ` ;
107
107
const description = props . namespaceDetails ?. description
108
- return ( < HeadTags title = { title } url = { url } description = { description } /> )
108
+ return ( < HeadTags title = { title } url = { url } description = { description } /> )
109
109
} ;
110
110
111
- export default function createPageSettings ( theme : Theme , prefersDarkMode : boolean , serverVersionPromise : Promise < string > ) : PageSettings {
111
+ export default function createPageSettings ( theme : Theme , prefersDarkMode : boolean , serverVersionPromise : Promise < string > ) : PageSettings {
112
112
113
113
//---------- SERVER VERSION
114
114
const ServerVersion = lazy ( async ( ) => {
@@ -123,7 +123,7 @@ export default function createPageSettings(theme: Theme, prefersDarkMode: boolea
123
123
< OpenVSXLogo width = 'auto' height = '40px' marginTop = '8px' prefersDarkMode = { prefersDarkMode } />
124
124
</ RouteLink >
125
125
< Suspense >
126
- < ServerVersion />
126
+ < ServerVersion />
127
127
</ Suspense >
128
128
</ > ;
129
129
@@ -146,14 +146,14 @@ export default function createPageSettings(theme: Theme, prefersDarkMode: boolea
146
146
147
147
//---------- DOWNLOAD TERMS
148
148
const downloadTerms : FunctionComponent = ( ) =>
149
- < Box mt = { 1 } >
150
- < Typography variant = 'body2' >
151
- By clicking download, you accept this website's
152
- < Link color = 'secondary' underline = 'hover' href = 'https://open-vsx.org/terms-of-use' >
153
- Terms of Use
154
- </ Link > .
155
- </ Typography >
156
- </ Box > ;
149
+ < Box mt = { 1 } >
150
+ < Typography variant = 'body2' >
151
+ By clicking download, you accept this website's
152
+ < Link color = 'secondary' underline = 'hover' href = 'https://open-vsx.org/terms-of-use' >
153
+ Terms of Use
154
+ </ Link > .
155
+ </ Typography >
156
+ </ Box > ;
157
157
158
158
//---------- ADDITIONAL PAGES
159
159
const additionalRoutes : ReactNode = < >
@@ -176,11 +176,11 @@ export default function createPageSettings(theme: Theme, prefersDarkMode: boolea
176
176
} ;
177
177
178
178
//---------- CLAIM NAMESPACE LINK
179
- const claimNamespace : FunctionComponent < { extension : Extension , sx : SxProps < Theme > } > = ( { sx } ) => < Link
180
- href = ' https://github.com/EclipseFdn/open-vsx.org/issues/new/choose'
181
- target = '_blank' variant = 'body2' color = 'secondary' underline = 'hover' sx = { sx } >
182
- Claim Ownership
183
- </ Link > ;
179
+ const claimNamespace : FunctionComponent < { extension : Extension , sx : SxProps < Theme > } > = ( { sx, extension } ) => < Link
180
+ href = { ` https://github.com/EclipseFdn/open-vsx.org/issues/new?labels=namespace&template=claim-namespace-ownership.md&title= ${ encodeURIComponent ( `Claiming namespace \` ${ extension . namespace } \`` ) } ` }
181
+ target = '_blank' variant = 'body2' color = 'secondary' underline = 'hover' sx = { sx } >
182
+ Claim Ownership
183
+ </ Link > ;
184
184
185
185
186
186
return {
0 commit comments