@newskit-render/core 1.2.4 → 1.6.0

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/CHANGELOG.md CHANGED
@@ -3,6 +3,186 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.6.0](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.5.7...@newskit-render/core@1.6.0) (2021-12-15)
7
+
8
+
9
+ ### Features
10
+
11
+ * **PPDSR-520:** Add SEO Component ([#539](https://github.com/newscorp-ghfb/ncu-newskit-render/issues/539)) ([f9a7103](https://github.com/newscorp-ghfb/ncu-newskit-render/commit/f9a71034e9e7224975d785fb47c68b907b4e5935))
12
+
13
+
14
+
15
+
16
+
17
+ ## [1.5.7](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.5.6...@newskit-render/core@1.5.7) (2021-12-14)
18
+
19
+ **Note:** Version bump only for package @newskit-render/core
20
+
21
+
22
+
23
+
24
+
25
+ ## [1.5.6](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.5.5...@newskit-render/core@1.5.6) (2021-12-13)
26
+
27
+ **Note:** Version bump only for package @newskit-render/core
28
+
29
+
30
+
31
+
32
+
33
+ ## [1.5.5](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.5.4...@newskit-render/core@1.5.5) (2021-12-13)
34
+
35
+ **Note:** Version bump only for package @newskit-render/core
36
+
37
+
38
+
39
+
40
+
41
+ ## [1.5.4](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.5.3...@newskit-render/core@1.5.4) (2021-12-10)
42
+
43
+ **Note:** Version bump only for package @newskit-render/core
44
+
45
+
46
+
47
+
48
+
49
+ ## [1.5.3](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.5.2...@newskit-render/core@1.5.3) (2021-12-08)
50
+
51
+ **Note:** Version bump only for package @newskit-render/core
52
+
53
+
54
+
55
+
56
+
57
+ ## [1.5.2](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.5.1...@newskit-render/core@1.5.2) (2021-12-03)
58
+
59
+ **Note:** Version bump only for package @newskit-render/core
60
+
61
+
62
+
63
+
64
+
65
+ ## [1.5.1](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.5.0...@newskit-render/core@1.5.1) (2021-12-02)
66
+
67
+ **Note:** Version bump only for package @newskit-render/core
68
+
69
+
70
+
71
+
72
+
73
+ # [1.5.0](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.4.6...@newskit-render/core@1.5.0) (2021-12-02)
74
+
75
+
76
+ ### Features
77
+
78
+ * **PPDSR-517:** Add Grid Component ([#528](https://github.com/newscorp-ghfb/ncu-newskit-render/issues/528)) ([0f8082d](https://github.com/newscorp-ghfb/ncu-newskit-render/commit/0f8082d1490750f408c0c5ec2c7bd6af3a1ace18))
79
+
80
+
81
+
82
+
83
+
84
+ ## [1.4.6](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.4.5...@newskit-render/core@1.4.6) (2021-11-30)
85
+
86
+ **Note:** Version bump only for package @newskit-render/core
87
+
88
+
89
+
90
+
91
+
92
+ ## [1.4.5](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.4.4...@newskit-render/core@1.4.5) (2021-11-30)
93
+
94
+ **Note:** Version bump only for package @newskit-render/core
95
+
96
+
97
+
98
+
99
+
100
+ ## [1.4.4](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.4.3...@newskit-render/core@1.4.4) (2021-11-29)
101
+
102
+ **Note:** Version bump only for package @newskit-render/core
103
+
104
+
105
+
106
+
107
+
108
+ ## [1.4.3](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.4.2...@newskit-render/core@1.4.3) (2021-11-29)
109
+
110
+ **Note:** Version bump only for package @newskit-render/core
111
+
112
+
113
+
114
+
115
+
116
+ ## [1.4.2](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.4.1...@newskit-render/core@1.4.2) (2021-11-26)
117
+
118
+ **Note:** Version bump only for package @newskit-render/core
119
+
120
+
121
+
122
+
123
+
124
+ ## [1.4.1](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.4.0...@newskit-render/core@1.4.1) (2021-11-25)
125
+
126
+ **Note:** Version bump only for package @newskit-render/core
127
+
128
+
129
+
130
+
131
+
132
+ # [1.4.0](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.3.4...@newskit-render/core@1.4.0) (2021-11-24)
133
+
134
+
135
+ ### Features
136
+
137
+ * Stop storing cancellation reason in local storage ([#517](https://github.com/newscorp-ghfb/ncu-newskit-render/issues/517)) ([8d602db](https://github.com/newscorp-ghfb/ncu-newskit-render/commit/8d602db6fa16078f792f543d5715815cc202822c))
138
+
139
+
140
+
141
+
142
+
143
+ ## [1.3.4](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.3.3...@newskit-render/core@1.3.4) (2021-11-23)
144
+
145
+ **Note:** Version bump only for package @newskit-render/core
146
+
147
+
148
+
149
+
150
+
151
+ ## [1.3.3](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.3.2...@newskit-render/core@1.3.3) (2021-11-23)
152
+
153
+ **Note:** Version bump only for package @newskit-render/core
154
+
155
+
156
+
157
+
158
+
159
+ ## [1.3.2](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.3.1...@newskit-render/core@1.3.2) (2021-11-22)
160
+
161
+ **Note:** Version bump only for package @newskit-render/core
162
+
163
+
164
+
165
+
166
+
167
+ ## [1.3.1](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.3.0...@newskit-render/core@1.3.1) (2021-11-22)
168
+
169
+ **Note:** Version bump only for package @newskit-render/core
170
+
171
+
172
+
173
+
174
+
175
+ # [1.3.0](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.2.4...@newskit-render/core@1.3.0) (2021-11-22)
176
+
177
+
178
+ ### Features
179
+
180
+ * **PPDSR-0:** fix broken dependecy ([#521](https://github.com/newscorp-ghfb/ncu-newskit-render/issues/521)) ([2690dd3](https://github.com/newscorp-ghfb/ncu-newskit-render/commit/2690dd3bc6cf61a88740a0ff935adf461be02416))
181
+
182
+
183
+
184
+
185
+
6
186
  ## [1.2.4](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@1.2.3...@newskit-render/core@1.2.4) (2021-11-18)
7
187
 
8
188
 
@@ -13,13 +13,13 @@ import {
13
13
  TextBlock,
14
14
  Divider,
15
15
  } from 'newskit'
16
+ import { SEOComponent } from '@newskit-render/shared-components'
16
17
  import MetaBoxComponent from './MetaBox'
17
18
  import Ad from '../ad'
18
19
  import Highlights from './Highlights'
19
20
  import RelatedArticles from './RelatedArticles'
20
21
  import RelatedTopics from './RelatedTopics'
21
22
  import ShareBarComponent from './ShareBarComponent'
22
- import SEOComponent from '../seo'
23
23
  import {
24
24
  URL,
25
25
  Slug,
@@ -68,7 +68,7 @@ const pastDueBanner = {
68
68
  },
69
69
  cancelled: {
70
70
  title: 'Your subscription has been cancelled.',
71
- text: 'You will lose access to all benefits on ##DATE##. To re-activate your subscription call 0800 555 1234.',
71
+ text: 'You’ll no longer have access to subscription benefits. To re-activate call 0800 555 1234.',
72
72
  },
73
73
  treshold: {
74
74
  firstNotice: 26,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@newskit-render/core",
3
- "version": "1.2.4",
3
+ "version": "1.6.0",
4
4
  "description": "Newskit Render - Core package",
5
5
  "author": "",
6
6
  "license": "UNLICENSED",
@@ -28,22 +28,22 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@apollo/client": "^3.4.16",
31
- "@newskit-render/api": "^0.3.3",
32
- "@newskit-render/auth": "^0.21.1",
33
- "@newskit-render/checkout": "^0.4.3",
34
- "@newskit-render/my-account": "^0.105.3",
35
- "@newskit-render/shared-components": "^0.8.5",
36
- "@newskit-render/sitemap": "^0.24.3",
37
- "@newskit-render/validation": "^0.25.0",
31
+ "@newskit-render/api": "^0.4.2",
32
+ "@newskit-render/auth": "^0.22.2",
33
+ "@newskit-render/checkout": "^0.7.0",
34
+ "@newskit-render/my-account": "^0.114.2",
35
+ "@newskit-render/shared-components": "^0.18.0",
36
+ "@newskit-render/sitemap": "^0.25.2",
37
+ "@newskit-render/validation": "^0.26.2",
38
38
  "cross-fetch": "^3.1.4",
39
39
  "graphql": "^15.6.0",
40
40
  "newrelic": "^7.1.0",
41
- "newskit": "^4.0.1",
41
+ "newskit": "4.0.1",
42
42
  "next": "^12.0.2",
43
43
  "react": "^17.0.1",
44
44
  "react-dom": "^17.0.2",
45
45
  "react-helmet": "^6.1.0",
46
- "striptags": "^3.1.1"
46
+ "react-hook-form": "7.8.4"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@apollo/react-testing": "^4.0.0",
@@ -57,7 +57,7 @@
57
57
  "@typescript-eslint/eslint-plugin": "^3.7.1",
58
58
  "@typescript-eslint/parser": "^3.7.1",
59
59
  "babel-jest": "^26.3.0",
60
- "cypress": "^5.1.0",
60
+ "cypress": "9.0.0",
61
61
  "eslint": "^6.6.0",
62
62
  "eslint-config-airbnb": "^18.2.0",
63
63
  "eslint-config-airbnb-typescript": "^9.0.0",
@@ -85,5 +85,8 @@
85
85
  },
86
86
  "publishConfig": {
87
87
  "access": "public"
88
+ },
89
+ "resolutions": {
90
+ "newskit/react-hook-form": "7.8.4"
88
91
  }
89
92
  }
@@ -0,0 +1,18 @@
1
+ import newrelic from 'newrelic'
2
+ import {
3
+ Payment,
4
+ getProviderProps,
5
+ PaymentProvider,
6
+ } from '@newskit-render/my-account'
7
+
8
+ export default Payment
9
+
10
+ export const getServerSideProps = async (context) => {
11
+ newrelic.setTransactionName('Edit Payment method')
12
+
13
+ return getProviderProps({
14
+ ...context,
15
+ provider: 'Payment',
16
+ paymentProvider: PaymentProvider.Zuora,
17
+ })
18
+ }
@@ -0,0 +1,7 @@
1
+ import { CheckoutPage, getProviderProps } from '@newskit-render/checkout'
2
+
3
+ export default CheckoutPage
4
+
5
+ export const getServerSideProps = async (context) => {
6
+ return getProviderProps(context)
7
+ }
package/temp/header.tsx CHANGED
@@ -103,7 +103,7 @@ const pastDueBanner = {
103
103
  },
104
104
  cancelled: {
105
105
  title: 'Your subscription has been cancelled.',
106
- text: 'You will lose access to all benefits on ##DATE##. To re-activate your subscription call 0800 555 1234.',
106
+ text: 'You’ll no longer have access to subscription benefits. To re-activate call 0800 555 1234.',
107
107
  },
108
108
  treshold: {
109
109
  firstNotice: 26,
@@ -152,87 +152,87 @@ const Header: React.FC<{ user: UserData }> = ({ user }) => {
152
152
 
153
153
  return (
154
154
  <>
155
- <StyledHeader aria-label="StyledHeader">
156
- <MainGrid>
157
- <Cell xs={12}>
158
- <Stack
159
- flow="horizontal-center"
160
- stackDistribution="space-between"
161
- wrap="nowrap"
162
- >
163
- <NextLink
164
- type="standalone"
165
- overrides={{ stylePreset: 'linkStandaloneInverse' }}
166
- href="/"
167
- aria-label="Logo Link"
168
- >
169
- <Visible md lg xl>
170
- <NewsKitLogoFull color="white" size="sizing120" />
171
- </Visible>
172
- <Visible xs sm>
173
- <NewsKitLogoShort color="white" size="sizing120" />
174
- </Visible>
175
- </NextLink>
155
+ <StyledHeader aria-label="StyledHeader">
156
+ <MainGrid>
157
+ <Cell xs={12}>
176
158
  <Stack
177
159
  flow="horizontal-center"
178
- stackDistribution="flex-end"
160
+ stackDistribution="space-between"
179
161
  wrap="nowrap"
180
162
  >
181
- <NavigationContainer show={showMenu}>
182
- <Navigation>
183
- {showMenu && (
184
- <Block
185
- spaceStack="space050"
186
- data-testid="mobile-block-space"
163
+ <NextLink
164
+ type="standalone"
165
+ overrides={{ stylePreset: 'linkStandaloneInverse' }}
166
+ href="/"
167
+ aria-label="Logo Link"
168
+ >
169
+ <Visible md lg xl>
170
+ <NewsKitLogoFull color="white" size="sizing120" />
171
+ </Visible>
172
+ <Visible xs sm>
173
+ <NewsKitLogoShort color="white" size="sizing120" />
174
+ </Visible>
175
+ </NextLink>
176
+ <Stack
177
+ flow="horizontal-center"
178
+ stackDistribution="flex-end"
179
+ wrap="nowrap"
180
+ >
181
+ <NavigationContainer show={showMenu}>
182
+ <Navigation>
183
+ {showMenu && (
184
+ <Block
185
+ spaceStack="space050"
186
+ data-testid="mobile-block-space"
187
+ />
188
+ )}
189
+ <NavButton
190
+ buttonText="Section One"
191
+ href="/section-one"
192
+ isMobile={showMenu}
193
+ ariaLabel="Section One Link"
194
+ />
195
+ <NavButton
196
+ buttonText="Section Two"
197
+ href="/section-two"
198
+ isMobile={showMenu}
199
+ ariaLabel="Section Two Link"
200
+ />
201
+ <NavButton
202
+ buttonText="Section Three"
203
+ href="/section-three"
204
+ isMobile={showMenu}
205
+ ariaLabel="Section Three Link"
206
+ />
207
+ </Navigation>
208
+ </NavigationContainer>
209
+ <Visible xs sm>
210
+ <Block spaceInline="space050">
211
+ <IconFilledMenu
212
+ overrides={{
213
+ size: 'iconSize030',
214
+ stylePreset: 'linkStandaloneInverse',
215
+ }}
216
+ onClick={mobileMenuControl}
217
+ onKeyDown={handleEnterKeyPress(mobileMenuControl)}
218
+ role="button"
219
+ tabIndex={0}
220
+ aria-label="Mobile Menu Button"
221
+ data-testid="mobile-menu-btn"
187
222
  />
188
- )}
189
- <NavButton
190
- buttonText="Section One"
191
- href="/section-one"
192
- isMobile={showMenu}
193
- ariaLabel="Section One Link"
194
- />
195
- <NavButton
196
- buttonText="Section Two"
197
- href="/section-two"
198
- isMobile={showMenu}
199
- ariaLabel="Section Two Link"
200
- />
201
- <NavButton
202
- buttonText="Section Three"
203
- href="/section-three"
204
- isMobile={showMenu}
205
- ariaLabel="Section Three Link"
206
- />
207
- </Navigation>
208
- </NavigationContainer>
209
- <Visible xs sm>
210
- <Block spaceInline="space050">
211
- <IconFilledMenu
212
- overrides={{
213
- size: 'iconSize030',
214
- stylePreset: 'linkStandaloneInverse',
215
- }}
216
- onClick={mobileMenuControl}
217
- onKeyDown={handleEnterKeyPress(mobileMenuControl)}
218
- role="button"
219
- tabIndex={0}
220
- aria-label="Mobile Menu Button"
221
- data-testid="mobile-menu-btn"
222
- />
223
- </Block>
224
- </Visible>
223
+ </Block>
224
+ </Visible>
225
+ </Stack>
225
226
  </Stack>
226
- </Stack>
227
- </Cell>
228
- </MainGrid>
229
- </StyledHeader>
230
- <PastDueBannerExternal
231
- pastDueBanner={pastDueBanner}
232
- vxInstances={user?.vxInstances}
233
- wrapper={BannerContainer}
234
- />
235
- </>
227
+ </Cell>
228
+ </MainGrid>
229
+ </StyledHeader>
230
+ <PastDueBannerExternal
231
+ pastDueBanner={pastDueBanner}
232
+ vxInstances={user?.vxInstances}
233
+ wrapper={BannerContainer}
234
+ />
235
+ </>
236
236
  )
237
237
  }
238
238
 
@@ -1,106 +0,0 @@
1
- import React from 'react'
2
- import { render } from '@testing-library/react'
3
- import SEOComponent, { limitString } from './index'
4
-
5
- const getMeta = (metaName: string) => {
6
- const metas = document.getElementsByTagName('meta')
7
- for (let i = 0; i < metas.length; i += 1) {
8
- if (
9
- metas[i].getAttribute('name') === metaName ||
10
- metas[i].getAttribute('property') === metaName
11
- ) {
12
- return metas[i].getAttribute('content')
13
- }
14
- }
15
- return false
16
- }
17
-
18
- const getLink = (linkRel: string, attr: string) => {
19
- const link = document.getElementsByTagName('link')
20
- for (let i = 0; i < link.length; i += 1) {
21
- if (link[i].getAttribute('rel') === linkRel) {
22
- return link[i].getAttribute(attr)
23
- }
24
- }
25
- return false
26
- }
27
-
28
- jest.mock('next/head', () => {
29
- return {
30
- __esModule: true,
31
- default: ({ children }: { children: Array<React.ReactElement> }) => {
32
- return <>{children}</>
33
- },
34
- }
35
- })
36
-
37
- describe('SEOComponent tests', () => {
38
- const Props = {
39
- title: 'test title for SEOComponent',
40
- description:
41
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tincidunt blandit orci vel elementum. Integer malesuada quam in ullamcorper condimentum. Integer sollicitudin non enim sed posuere.',
42
- url: 'https://test-url/test',
43
- siteHost: 'https://siteHost.co.uk',
44
- fbType: 'article',
45
- fbImageUrl: 'https://test-uri/image',
46
- }
47
-
48
- test('SEOComponent with mandatory props', () => {
49
- render(<SEOComponent {...Props} />, {
50
- container: document.head,
51
- })
52
- expect(document.title).toBe(Props.title)
53
- expect(getMeta('description')).toBe(limitString(Props.description, 155))
54
- expect(getMeta('robots')).toBe('max-image-preview:large')
55
- expect(getMeta('og:title')).toBe(Props.title)
56
- expect(getMeta('og:type')).toBe(Props.fbType)
57
- expect(getMeta('og:url')).toBe(Props.url)
58
- expect(getMeta('twitter:card')).toBe('summary')
59
- expect(getMeta('twitter:title')).toBe(Props.title)
60
- expect(getMeta('twitter:site')).toBe(false)
61
- expect(getMeta('twitter:description')).toBe(false)
62
- expect(getMeta('twitter:image')).toBe(false)
63
- expect(getMeta('twitter:image:alt')).toBe(false)
64
- expect(getLink('canonical', 'href')).toBe(Props.url)
65
- expect(getLink('alternate', 'href')).toBe(Props.siteHost)
66
- expect(getLink('alternate', 'hreflang')).toBe('en')
67
- })
68
-
69
- test('SEOComponent with optional props', () => {
70
- const extraProps = {
71
- ...Props,
72
- gscId: 'asfdrtsdvs',
73
- fbTitle: 'test facebook title',
74
- twUsername: '@username',
75
- twTitle: 'test twitter title',
76
- twDescription:
77
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tincidunt blandit orci vel elementum. Integer malesuada quam in ullamcorper condimentum.',
78
- twImageUrl: 'https://test-uri/image-twitter',
79
- twImageAlt: 'test alt',
80
- hrefLang: 'en-GB',
81
- maxImagePreview: 'standard' as 'none' | 'standard' | 'large',
82
- }
83
- render(<SEOComponent {...extraProps} />, {
84
- container: document.head,
85
- })
86
- expect(document.title).toBe(extraProps.title)
87
- expect(getMeta('description')).toBe(
88
- limitString(extraProps.description, 155)
89
- )
90
- expect(getMeta('robots')).toBe(
91
- `max-image-preview:${extraProps.maxImagePreview}`
92
- )
93
- expect(getMeta('og:title')).toBe(extraProps.fbTitle)
94
- expect(getMeta('og:type')).toBe(extraProps.fbType)
95
- expect(getMeta('og:url')).toBe(extraProps.url)
96
- expect(getMeta('twitter:card')).toBe('summary')
97
- expect(getMeta('twitter:title')).toBe(extraProps.twTitle)
98
- expect(getMeta('twitter:site')).toBe(extraProps.twUsername)
99
- expect(getMeta('twitter:description')).toBe(extraProps.twDescription)
100
- expect(getMeta('twitter:image')).toBe(extraProps.twImageUrl)
101
- expect(getMeta('twitter:image:alt')).toBe(extraProps.twImageAlt)
102
- expect(getLink('canonical', 'href')).toBe(extraProps.url)
103
- expect(getLink('alternate', 'href')).toBe(extraProps.siteHost)
104
- expect(getLink('alternate', 'hreflang')).toBe(extraProps.hrefLang)
105
- })
106
- })
@@ -1,89 +0,0 @@
1
- import React from 'react'
2
- import Head from 'next/head'
3
- import striptags from 'striptags'
4
-
5
- export const limitString = (text: string, limit: number) =>
6
- text.length > limit ? text.substr(0, limit) : text
7
-
8
- type Props = {
9
- title: string
10
- description: string
11
- url: string
12
- siteHost: string
13
- hrefLang?: string
14
- maxImagePreview?: 'none' | 'standard' | 'large'
15
- gscId?: string
16
- fbTitle?: string
17
- fbType: string
18
- fbImageUrl: string
19
- twUsername?: string
20
- twTitle?: string
21
- twDescription?: string
22
- twImageUrl?: string
23
- twImageAlt?: string
24
- }
25
-
26
- const SEOComponent: React.FC<Props> = ({
27
- title,
28
- description,
29
- url,
30
- siteHost,
31
- hrefLang = 'en',
32
- maxImagePreview = 'large',
33
- gscId,
34
- fbTitle,
35
- fbType,
36
- fbImageUrl,
37
- twUsername,
38
- twTitle,
39
- twDescription,
40
- twImageUrl,
41
- twImageAlt,
42
- }) => (
43
- <Head>
44
- <title>{title}</title>
45
- <meta
46
- name="description"
47
- content={limitString(striptags(description), 155)}
48
- key="description"
49
- />
50
- <link rel="canonical" href={url} />
51
- <link rel="alternate" href={siteHost} hrefLang={hrefLang} />
52
- <meta
53
- name="robots"
54
- content={`max-image-preview:${maxImagePreview}`}
55
- key="max-image-preview"
56
- />
57
- {gscId && <meta name="google-site-verification" content={gscId} />}
58
-
59
- <meta property="og:title" content={fbTitle || title} key="ogtitle" />
60
- <meta property="og:type" content={fbType} key="ogtype" />
61
- <meta property="og:url" content={url} key="ogurl" />
62
- <meta property="og:image" content={fbImageUrl} key="ogimage" />
63
-
64
- <meta name="twitter:card" content="summary" key="twcard" />
65
- <meta
66
- name="twitter:title"
67
- content={limitString(twTitle || title, 70)}
68
- key="twtitle"
69
- />
70
- {twUsername && (
71
- <meta name="twitter:site" content={twUsername} key="twsite" />
72
- )}
73
- {twDescription && (
74
- <meta
75
- name="twitter:description"
76
- content={limitString(striptags(twDescription), 200)}
77
- key="twdescription"
78
- />
79
- )}
80
- {twImageUrl && (
81
- <meta name="twitter:image" content={twImageUrl} key="twImage" />
82
- )}
83
- {twImageAlt && (
84
- <meta name="twitter:image:alt" content={twImageAlt} key="twImageAlt" />
85
- )}
86
- </Head>
87
- )
88
-
89
- export default SEOComponent
@@ -1,5 +0,0 @@
1
- import { NextApiRequest, NextApiResponse } from 'next'
2
- import { generateRSASignature } from '@newskit-render/my-account'
3
-
4
- export default (req: NextApiRequest, res: NextApiResponse) =>
5
- generateRSASignature(req, res)