@newskit-render/core 2.9.0 → 2.10.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 +32 -0
- package/README.md +21 -1
- package/__tests__/pages/[articleSlug].test.tsx +16 -1
- package/__tests__/pages/home.test.tsx +9 -0
- package/__tests__/pages/relatedArticles.test.tsx +16 -1
- package/package.json +12 -12
- package/pages/[section]/[articleId]/[articleSlug].tsx +4 -0
- package/pages/[section]/[articleId]/relatedArticles.tsx +4 -0
- package/pages/[section]/index.tsx +8 -1
- package/pages/_app.tsx +14 -31
- package/pages/_document.tsx +4 -2
- package/pages/account/cancellation/index.tsx +7 -1
- package/pages/account/edit/[field].tsx +7 -1
- package/pages/account/holiday-stop/book.tsx +7 -1
- package/pages/account/index.tsx +7 -1
- package/pages/account/newsletters-and-alerts/index.tsx +7 -1
- package/pages/account/payment/index.tsx +11 -5
- package/pages/account/subscription-and-billing/index.tsx +10 -4
- package/pages/index.tsx +8 -1
- package/temp/_document.tsx +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,38 @@
|
|
|
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
|
+
# [2.10.0](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@2.10.0-alpha.0...@newskit-render/core@2.10.0) (2022-10-26)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @newskit-render/core
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [2.9.3](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@2.9.3-alpha.0...@newskit-render/core@2.9.3) (2022-10-20)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @newskit-render/core
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [2.9.2](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@2.9.2-alpha.0...@newskit-render/core@2.9.2) (2022-10-20)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @newskit-render/core
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## [2.9.1](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@2.9.1-alpha.0...@newskit-render/core@2.9.1) (2022-10-20)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @newskit-render/core
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
6
38
|
# [2.9.0](https://github.com/newscorp-ghfb/ncu-newskit-render/compare/@newskit-render/core@2.9.0-alpha.0...@newskit-render/core@2.9.0) (2022-10-17)
|
|
7
39
|
|
|
8
40
|
**Note:** Version bump only for package @newskit-render/core
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @newskit-render/core
|
|
2
2
|
|
|
3
|
-
А template website built using Next.js framework
|
|
3
|
+
А template website built using Next.js framework
|
|
4
4
|
|
|
5
5
|
This package is used by [@newskit-render/create-render-app](https://www.npmjs.com/package/@newskit-render/create-render-app) as a template structure to scaffold the newly created project which the users of @newskit-render/create-render-app can use and modify for their purposes.
|
|
6
6
|
|
|
@@ -258,3 +258,23 @@ const AppContextProvider = ({ children }: { children: JSX.Element }) => {
|
|
|
258
258
|
|
|
259
259
|
export { AppContextProvider, AppContext }
|
|
260
260
|
```
|
|
261
|
+
|
|
262
|
+
### create-render-app effected comments
|
|
263
|
+
|
|
264
|
+
You may see some lines of code that have comments next to them:
|
|
265
|
+
|
|
266
|
+
```
|
|
267
|
+
code here // create-render-app effected
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
Or around them:
|
|
271
|
+
|
|
272
|
+
```
|
|
273
|
+
// start create-render-app effected
|
|
274
|
+
code here
|
|
275
|
+
// end create-render-app effected
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
This comment is to denote that the line or lines in between are effected by the running of the [@newskit-render/create-render-app package](https://github.com/newscorp-ghfb/ncu-newskit-render/tree/master/packages/create-render-app).
|
|
279
|
+
|
|
280
|
+
If you our touching / modifiying code with these comments you need to be aware that you may affect the successful running of the [@newskit-render/create-render-app package](https://github.com/newscorp-ghfb/ncu-newskit-render/tree/master/packages/create-render-app).
|
|
@@ -96,6 +96,14 @@ jest.mock('newrelic', () => {
|
|
|
96
96
|
}
|
|
97
97
|
})
|
|
98
98
|
|
|
99
|
+
// start create-render-app effected
|
|
100
|
+
jest.mock('@newskit-render/feature-flags', () => ({
|
|
101
|
+
initAndGetFeatureFlag: jest
|
|
102
|
+
.fn()
|
|
103
|
+
.mockImplementation(() => Promise.resolve({ test: 'test' })),
|
|
104
|
+
}))
|
|
105
|
+
// end create-render-app effected
|
|
106
|
+
|
|
99
107
|
jest.mock('@newskit-render/api', () => ({
|
|
100
108
|
ClientTypes: { nkapi: 'nkapi' },
|
|
101
109
|
createApolloClient: jest.fn().mockImplementation(() => {
|
|
@@ -133,7 +141,14 @@ describe('Article', () => {
|
|
|
133
141
|
req: { headers: { cookie: 'some-cookie', host: 'hostname' } },
|
|
134
142
|
res: { setHeader: setHeaderMock },
|
|
135
143
|
})
|
|
136
|
-
expect(response).toEqual({
|
|
144
|
+
expect(response).toEqual({
|
|
145
|
+
props: {
|
|
146
|
+
...props,
|
|
147
|
+
showAds: true,
|
|
148
|
+
user,
|
|
149
|
+
featureFlags: { test: 'test' }, // create-render-app effected
|
|
150
|
+
},
|
|
151
|
+
})
|
|
137
152
|
expect(setHeaderMock).toHaveBeenCalledWith(
|
|
138
153
|
'Cache-Control',
|
|
139
154
|
'public, s-maxage=10, stale-while-revalidate=59'
|
|
@@ -25,6 +25,14 @@ jest.mock('cross-fetch', () =>
|
|
|
25
25
|
)
|
|
26
26
|
)
|
|
27
27
|
|
|
28
|
+
// start create-render-app effected
|
|
29
|
+
jest.mock('@newskit-render/feature-flags', () => ({
|
|
30
|
+
initAndGetFeatureFlag: jest
|
|
31
|
+
.fn()
|
|
32
|
+
.mockImplementation(() => Promise.resolve({ test: 'test' })),
|
|
33
|
+
}))
|
|
34
|
+
// end create-render-app effected
|
|
35
|
+
|
|
28
36
|
jest.mock('@newskit-render/api', () => ({
|
|
29
37
|
ClientTypes: { nkapi: 'nkapi' },
|
|
30
38
|
createApolloClient: jest.fn().mockImplementation(() => {
|
|
@@ -82,6 +90,7 @@ describe('getServerSideProps', () => {
|
|
|
82
90
|
},
|
|
83
91
|
showAds: true,
|
|
84
92
|
user,
|
|
93
|
+
featureFlags: { test: 'test' }, // create-render-app effected
|
|
85
94
|
},
|
|
86
95
|
})
|
|
87
96
|
)
|
|
@@ -34,6 +34,14 @@ jest.mock('cross-fetch', () =>
|
|
|
34
34
|
)
|
|
35
35
|
)
|
|
36
36
|
|
|
37
|
+
// start create-render-app effected
|
|
38
|
+
jest.mock('@newskit-render/feature-flags', () => ({
|
|
39
|
+
initAndGetFeatureFlag: jest
|
|
40
|
+
.fn()
|
|
41
|
+
.mockImplementation(() => Promise.resolve({ test: 'test' })),
|
|
42
|
+
}))
|
|
43
|
+
// end create-render-app effected
|
|
44
|
+
|
|
37
45
|
jest.mock('@newskit-render/api', () => ({
|
|
38
46
|
ClientTypes: { nkapi: 'nkapi' },
|
|
39
47
|
getAcsCookie: jest.fn().mockReturnValue({ Cookie: 'something' }),
|
|
@@ -61,7 +69,14 @@ describe('Article', () => {
|
|
|
61
69
|
req: { headers: { cookie: 'some-cookie' } },
|
|
62
70
|
res: { setHeader: setHeaderMock },
|
|
63
71
|
})
|
|
64
|
-
expect(response).toEqual({
|
|
72
|
+
expect(response).toEqual({
|
|
73
|
+
props: {
|
|
74
|
+
...props,
|
|
75
|
+
showAds: true,
|
|
76
|
+
user,
|
|
77
|
+
featureFlags: { test: 'test' }, // create-render-app effected
|
|
78
|
+
},
|
|
79
|
+
})
|
|
65
80
|
expect(setHeaderMock).toHaveBeenCalledWith(
|
|
66
81
|
'Cache-Control',
|
|
67
82
|
'public, s-maxage=10, stale-while-revalidate=59'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@newskit-render/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.10.0",
|
|
4
4
|
"description": "Newskit Render - Core package",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -33,24 +33,24 @@
|
|
|
33
33
|
"analyze": "ANALYZE=true next build"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@apollo/client": "3.
|
|
36
|
+
"@apollo/client": "3.4.16",
|
|
37
37
|
"@emotion-icons/material": "3.14.0",
|
|
38
38
|
"@emotion-icons/material-outlined": "3.14.0",
|
|
39
39
|
"@emotion/react": "11.10.4",
|
|
40
40
|
"@emotion/styled": "11.10.4",
|
|
41
|
-
"@newskit-render/api": "^1.2.
|
|
42
|
-
"@newskit-render/auth": "^1.1.
|
|
43
|
-
"@newskit-render/checkout": "^1.3.
|
|
44
|
-
"@newskit-render/feature-flags": "^1.
|
|
45
|
-
"@newskit-render/feed": "^1.1.
|
|
46
|
-
"@newskit-render/my-account": "^3.
|
|
47
|
-
"@newskit-render/shared-components": "^1.6.
|
|
48
|
-
"@newskit-render/standalone-components": "^1.5.
|
|
49
|
-
"@newskit-render/validation": "^1.2.
|
|
41
|
+
"@newskit-render/api": "^1.2.1",
|
|
42
|
+
"@newskit-render/auth": "^1.1.1",
|
|
43
|
+
"@newskit-render/checkout": "^1.3.2",
|
|
44
|
+
"@newskit-render/feature-flags": "^1.2.0",
|
|
45
|
+
"@newskit-render/feed": "^1.1.1",
|
|
46
|
+
"@newskit-render/my-account": "^3.7.0",
|
|
47
|
+
"@newskit-render/shared-components": "^1.6.1",
|
|
48
|
+
"@newskit-render/standalone-components": "^1.5.1",
|
|
49
|
+
"@newskit-render/validation": "^1.2.1",
|
|
50
50
|
"cross-fetch": "3.1.5",
|
|
51
51
|
"graphql": "15.6.0",
|
|
52
52
|
"lodash.get": "4.4.2",
|
|
53
|
-
"newrelic": "
|
|
53
|
+
"newrelic": "7.1.0",
|
|
54
54
|
"newskit": "6.1.0",
|
|
55
55
|
"next": "12.3.0",
|
|
56
56
|
"react": "18.2.0",
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
import { UserData } from '@newskit-render/my-account'
|
|
10
10
|
import { Article } from '@newskit-render/standalone-components'
|
|
11
11
|
import { getHost } from '@newskit-render/shared-components'
|
|
12
|
+
import { initAndGetFeatureFlag } from '@newskit-render/feature-flags' // create-render-app effected
|
|
12
13
|
import { GET_UNIVERSAL_ARTICLE } from '../../../queries'
|
|
13
14
|
import ArticlePage, { UniversalArticle } from '../../../components/article'
|
|
14
15
|
import { fetchUser } from '../../../helpers/getUser'
|
|
@@ -17,6 +18,7 @@ import { addCacheHeaders } from '../../../helpers/addCacheHeaders'
|
|
|
17
18
|
import {
|
|
18
19
|
twitterUsername as configTwitterUsername,
|
|
19
20
|
gscId as configGscId,
|
|
21
|
+
optimizelysdkKey, // create-render-app effected
|
|
20
22
|
} from '../../../config'
|
|
21
23
|
import { fetcher } from '../../../helpers/getRecommendations'
|
|
22
24
|
|
|
@@ -89,6 +91,7 @@ export async function getServerSideProps(context) {
|
|
|
89
91
|
}),
|
|
90
92
|
await fetchUser(acsCookie, getAccountQueryUrl(siteHost)),
|
|
91
93
|
])
|
|
94
|
+
const featureFlags = await initAndGetFeatureFlag(optimizelysdkKey) // create-render-app effected
|
|
92
95
|
|
|
93
96
|
addCacheHeaders(context.res)
|
|
94
97
|
return {
|
|
@@ -101,6 +104,7 @@ export async function getServerSideProps(context) {
|
|
|
101
104
|
showAds: true,
|
|
102
105
|
user,
|
|
103
106
|
articleId,
|
|
107
|
+
featureFlags, // create-render-app effected
|
|
104
108
|
},
|
|
105
109
|
}
|
|
106
110
|
}
|
|
@@ -6,6 +6,8 @@ import { Article } from '@newskit-render/standalone-components'
|
|
|
6
6
|
import { getHost } from '@newskit-render/shared-components'
|
|
7
7
|
import { Block, Cell, TitleBar } from 'newskit'
|
|
8
8
|
import { UserData } from '@newskit-render/my-account'
|
|
9
|
+
import { initAndGetFeatureFlag } from '@newskit-render/feature-flags' // create-render-app effected
|
|
10
|
+
import { optimizelysdkKey } from '../../../config' // create-render-app effected
|
|
9
11
|
import { fetchUser } from '../../../helpers/getUser'
|
|
10
12
|
import { getAccountQueryUrl } from '../../../constants'
|
|
11
13
|
import { addCacheHeaders } from '../../../helpers/addCacheHeaders'
|
|
@@ -83,6 +85,7 @@ export async function getServerSideProps(context) {
|
|
|
83
85
|
const [user] = await Promise.all([
|
|
84
86
|
await fetchUser(acsCookie, getAccountQueryUrl(siteHost)),
|
|
85
87
|
])
|
|
88
|
+
const featureFlags = await initAndGetFeatureFlag(optimizelysdkKey) // create-render-app effected
|
|
86
89
|
|
|
87
90
|
addCacheHeaders(context.res)
|
|
88
91
|
|
|
@@ -91,6 +94,7 @@ export async function getServerSideProps(context) {
|
|
|
91
94
|
showAds: true,
|
|
92
95
|
user,
|
|
93
96
|
articleId,
|
|
97
|
+
featureFlags, // create-render-app effected
|
|
94
98
|
},
|
|
95
99
|
}
|
|
96
100
|
}
|
|
@@ -5,6 +5,8 @@ import {
|
|
|
5
5
|
ClientTypes,
|
|
6
6
|
} from '@newskit-render/api'
|
|
7
7
|
import { getHost } from '@newskit-render/shared-components'
|
|
8
|
+
import { initAndGetFeatureFlag } from '@newskit-render/feature-flags' // create-render-app effected
|
|
9
|
+
import { optimizelysdkKey } from '../../config' // create-render-app effected
|
|
8
10
|
import { GET_PAGE } from '../../queries'
|
|
9
11
|
import SectionPage from '../../components/section'
|
|
10
12
|
import { fetchUser } from '../../helpers/getUser'
|
|
@@ -30,7 +32,10 @@ export async function getServerSideProps(context) {
|
|
|
30
32
|
const [{ data: pageData }, pageUser] = await Promise.all([
|
|
31
33
|
apolloClient.query({
|
|
32
34
|
query: GET_PAGE,
|
|
33
|
-
variables: {
|
|
35
|
+
variables: {
|
|
36
|
+
channel: section,
|
|
37
|
+
publisher: 'DEMO',
|
|
38
|
+
},
|
|
34
39
|
}),
|
|
35
40
|
await fetchUser(acsCookie, getAccountQueryUrl(siteHost)),
|
|
36
41
|
])
|
|
@@ -41,6 +46,7 @@ export async function getServerSideProps(context) {
|
|
|
41
46
|
notFound: true,
|
|
42
47
|
}
|
|
43
48
|
}
|
|
49
|
+
const featureFlags = await initAndGetFeatureFlag(optimizelysdkKey) // create-render-app effected
|
|
44
50
|
|
|
45
51
|
addCacheHeaders(context.res)
|
|
46
52
|
return {
|
|
@@ -49,6 +55,7 @@ export async function getServerSideProps(context) {
|
|
|
49
55
|
isIndexPage: true,
|
|
50
56
|
showAds: true,
|
|
51
57
|
user,
|
|
58
|
+
featureFlags, // create-render-app effected
|
|
52
59
|
},
|
|
53
60
|
}
|
|
54
61
|
}
|
package/pages/_app.tsx
CHANGED
|
@@ -2,17 +2,10 @@ import React from 'react'
|
|
|
2
2
|
import { AppContext as AppContextType, AppProps } from 'next/app'
|
|
3
3
|
import Head from 'next/head'
|
|
4
4
|
import { ThemeProvider, Global, styled } from 'newskit'
|
|
5
|
-
import {
|
|
6
|
-
getFeatureFlags,
|
|
7
|
-
FeatureFlagsContextProvider,
|
|
8
|
-
FeatureFlag,
|
|
9
|
-
createFeatureFlagsInstance,
|
|
10
|
-
} from '@newskit-render/feature-flags'
|
|
11
5
|
import { Publisher } from '@newskit-render/api'
|
|
12
6
|
import { AppContextProvider, AppContext } from '../context/app-context'
|
|
13
7
|
import { logger } from '../helpers/logger'
|
|
14
8
|
|
|
15
|
-
import { optimizelysdkKey } from '../config'
|
|
16
9
|
import { InstrumentationContextProvider } from '../app-context/InstrumentationContextProvider'
|
|
17
10
|
import { getTenant } from '../helpers/multiTenancy'
|
|
18
11
|
import { GlobalStyling } from '../css'
|
|
@@ -24,23 +17,16 @@ if (!process.browser) {
|
|
|
24
17
|
logger()
|
|
25
18
|
}
|
|
26
19
|
|
|
27
|
-
if (optimizelysdkKey) {
|
|
28
|
-
createFeatureFlagsInstance({
|
|
29
|
-
optimizelyConfig: { sdkKey: optimizelysdkKey },
|
|
30
|
-
})
|
|
31
|
-
}
|
|
32
|
-
|
|
33
20
|
const PageContainer = styled.div`
|
|
34
21
|
position: relative;
|
|
35
22
|
min-height: 100vh;
|
|
36
23
|
`
|
|
37
24
|
|
|
38
25
|
interface MyAppProps extends AppProps {
|
|
39
|
-
featureFlags?: FeatureFlag
|
|
40
26
|
tenant: Publisher
|
|
41
27
|
}
|
|
42
28
|
|
|
43
|
-
function MyApp({ Component, pageProps,
|
|
29
|
+
function MyApp({ Component, pageProps, tenant }: MyAppProps) {
|
|
44
30
|
return (
|
|
45
31
|
<MultiTenancyProvider tenant={tenant}>
|
|
46
32
|
<AppContextProvider>
|
|
@@ -56,18 +42,16 @@ function MyApp({ Component, pageProps, featureFlags, tenant }: MyAppProps) {
|
|
|
56
42
|
/>
|
|
57
43
|
</Head>
|
|
58
44
|
<InstrumentationContextProvider>
|
|
59
|
-
<
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
<
|
|
63
|
-
|
|
64
|
-
<
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
</AppContext.Consumer>
|
|
70
|
-
</FeatureFlagsContextProvider>
|
|
45
|
+
<AppContext.Consumer>
|
|
46
|
+
{({ theme }) => (
|
|
47
|
+
<ThemeProvider theme={theme}>
|
|
48
|
+
<Global styles={GlobalStyling} />
|
|
49
|
+
<PageContainer>
|
|
50
|
+
<Component {...pageProps} />
|
|
51
|
+
</PageContainer>
|
|
52
|
+
</ThemeProvider>
|
|
53
|
+
)}
|
|
54
|
+
</AppContext.Consumer>
|
|
71
55
|
</InstrumentationContextProvider>
|
|
72
56
|
</>
|
|
73
57
|
</AppContextProvider>
|
|
@@ -82,11 +66,10 @@ MyApp.getInitialProps = async ({ Component, ctx }: AppContextType) => {
|
|
|
82
66
|
pageProps = await Component.getInitialProps(ctx)
|
|
83
67
|
}
|
|
84
68
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
69
|
+
return {
|
|
70
|
+
pageProps,
|
|
71
|
+
tenant,
|
|
88
72
|
}
|
|
89
|
-
return { pageProps, tenant }
|
|
90
73
|
}
|
|
91
74
|
|
|
92
75
|
export default MyApp
|
package/pages/_document.tsx
CHANGED
|
@@ -53,7 +53,7 @@ export default class MyDocument extends Document {
|
|
|
53
53
|
? this.props.__NEXT_DATA__.props.pageProps.showAds
|
|
54
54
|
: false
|
|
55
55
|
|
|
56
|
-
const { featureFlags } = this.props.__NEXT_DATA__.props
|
|
56
|
+
const { featureFlags } = this.props.__NEXT_DATA__.props.pageProps
|
|
57
57
|
return (
|
|
58
58
|
<Html lang="en">
|
|
59
59
|
<Head>
|
|
@@ -75,7 +75,9 @@ export default class MyDocument extends Document {
|
|
|
75
75
|
featureFlags &&
|
|
76
76
|
featureFlags.experimentation_web_flag && (
|
|
77
77
|
<ExperimentationWeb
|
|
78
|
-
optimizelyWebConfig={{
|
|
78
|
+
optimizelyWebConfig={{
|
|
79
|
+
scriptCdn: experimentationWeb,
|
|
80
|
+
}}
|
|
79
81
|
reactHelmet={Helmet}
|
|
80
82
|
/>
|
|
81
83
|
)}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React, { useContext } from 'react'
|
|
2
2
|
import { Cancellation, getProviderProps } from '@newskit-render/my-account'
|
|
3
3
|
import newrelic from 'newrelic'
|
|
4
|
+
import { initAndGetFeatureFlag } from '@newskit-render/feature-flags' // create-render-app effected
|
|
5
|
+
import { optimizelysdkKey } from '../../../config' // create-render-app effected
|
|
4
6
|
import { AppContext } from '../../../context/app-context'
|
|
5
7
|
import { createThemeDropdownObject } from '../../../helpers/createThemeDropdownObject'
|
|
6
8
|
import validation from '../../../validation'
|
|
@@ -22,5 +24,9 @@ export default AccountCancellation
|
|
|
22
24
|
|
|
23
25
|
export const getServerSideProps = async (context) => {
|
|
24
26
|
newrelic.setTransactionName('Account: Cancellation')
|
|
25
|
-
|
|
27
|
+
const featureFlags = await initAndGetFeatureFlag(optimizelysdkKey) // create-render-app effected
|
|
28
|
+
return getProviderProps(
|
|
29
|
+
{ ...context, provider: 'Cancellation' },
|
|
30
|
+
{ featureFlags } // create-render-app effected
|
|
31
|
+
)
|
|
26
32
|
}
|
|
@@ -6,6 +6,8 @@ import {
|
|
|
6
6
|
NotFound,
|
|
7
7
|
componentMap,
|
|
8
8
|
} from '@newskit-render/my-account'
|
|
9
|
+
import { initAndGetFeatureFlag } from '@newskit-render/feature-flags' // create-render-app effected
|
|
10
|
+
import { optimizelysdkKey } from '../../../config' // create-render-app effected
|
|
9
11
|
import validation from '../../../validation'
|
|
10
12
|
import { AppContext } from '../../../context/app-context'
|
|
11
13
|
import { createThemeDropdownObject } from '../../../helpers/createThemeDropdownObject'
|
|
@@ -43,5 +45,9 @@ export const getServerSideProps = async (context) => {
|
|
|
43
45
|
// Logging the error for being captured by New Relic
|
|
44
46
|
console.error(`An error ${context.res.statusCode} occurred on server`)
|
|
45
47
|
}
|
|
46
|
-
|
|
48
|
+
const featureFlags = await initAndGetFeatureFlag(optimizelysdkKey) // create-render-app effected
|
|
49
|
+
return getProviderProps(
|
|
50
|
+
{ ...context, provider: 'EditField' },
|
|
51
|
+
{ featureFlags } // create-render-app effected
|
|
52
|
+
)
|
|
47
53
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { getProviderProps, HolidayStop } from '@newskit-render/my-account'
|
|
2
2
|
import newrelic from 'newrelic'
|
|
3
3
|
import React, { useContext } from 'react'
|
|
4
|
+
import { initAndGetFeatureFlag } from '@newskit-render/feature-flags' // create-render-app effected
|
|
5
|
+
import { optimizelysdkKey } from '../../../config' // create-render-app effected
|
|
4
6
|
import { AppContext } from '../../../context/app-context'
|
|
5
7
|
import { createThemeDropdownObject } from '../../../helpers/createThemeDropdownObject'
|
|
6
8
|
|
|
@@ -20,5 +22,9 @@ export default AccountHolidayStop
|
|
|
20
22
|
|
|
21
23
|
export const getServerSideProps = async (context) => {
|
|
22
24
|
newrelic.setTransactionName('Account: Book a Holiday Stop')
|
|
23
|
-
|
|
25
|
+
const featureFlags = await initAndGetFeatureFlag(optimizelysdkKey) // create-render-app effected
|
|
26
|
+
return getProviderProps(
|
|
27
|
+
{ ...context, provider: 'HolidayStop' },
|
|
28
|
+
{ featureFlags } // create-render-app effected
|
|
29
|
+
)
|
|
24
30
|
}
|
package/pages/account/index.tsx
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import newrelic from 'newrelic'
|
|
2
2
|
import { PersonalDetails, getProviderProps } from '@newskit-render/my-account'
|
|
3
3
|
import React, { useContext } from 'react'
|
|
4
|
+
import { initAndGetFeatureFlag } from '@newskit-render/feature-flags' // create-render-app effected
|
|
5
|
+
import { optimizelysdkKey } from '../../config' // create-render-app effected
|
|
4
6
|
import { AppContext } from '../../context/app-context'
|
|
5
7
|
import { createThemeDropdownObject } from '../../helpers/createThemeDropdownObject'
|
|
6
8
|
|
|
@@ -19,6 +21,10 @@ const AccountPersonalDetails = (props) => {
|
|
|
19
21
|
export default AccountPersonalDetails
|
|
20
22
|
|
|
21
23
|
export const getServerSideProps = async (context) => {
|
|
24
|
+
const featureFlags = await initAndGetFeatureFlag(optimizelysdkKey) // create-render-app effected
|
|
22
25
|
newrelic.setTransactionName('Account: Personal details')
|
|
23
|
-
return getProviderProps(
|
|
26
|
+
return getProviderProps(
|
|
27
|
+
{ ...context, provider: 'PersonalDetails' },
|
|
28
|
+
{ featureFlags } // create-render-app effected
|
|
29
|
+
)
|
|
24
30
|
}
|
|
@@ -4,6 +4,8 @@ import {
|
|
|
4
4
|
} from '@newskit-render/my-account'
|
|
5
5
|
import newrelic from 'newrelic'
|
|
6
6
|
import React, { useContext } from 'react'
|
|
7
|
+
import { initAndGetFeatureFlag } from '@newskit-render/feature-flags' // create-render-app effected
|
|
8
|
+
import { optimizelysdkKey } from '../../../config' // create-render-app effected
|
|
7
9
|
import { AppContext } from '../../../context/app-context'
|
|
8
10
|
import { createThemeDropdownObject } from '../../../helpers/createThemeDropdownObject'
|
|
9
11
|
|
|
@@ -23,5 +25,9 @@ export default AccountNewslettersAndAlerts
|
|
|
23
25
|
|
|
24
26
|
export const getServerSideProps = async (context) => {
|
|
25
27
|
newrelic.setTransactionName('Account: Newsletters and Alerts')
|
|
26
|
-
|
|
28
|
+
const featureFlags = await initAndGetFeatureFlag(optimizelysdkKey) // create-render-app effected
|
|
29
|
+
return getProviderProps(
|
|
30
|
+
{ ...context, provider: 'NewslettersAndAlerts' },
|
|
31
|
+
{ featureFlags } // create-render-app effected
|
|
32
|
+
)
|
|
27
33
|
}
|
|
@@ -5,6 +5,8 @@ import {
|
|
|
5
5
|
PaymentProvider,
|
|
6
6
|
} from '@newskit-render/my-account'
|
|
7
7
|
import React, { useContext } from 'react'
|
|
8
|
+
import { initAndGetFeatureFlag } from '@newskit-render/feature-flags' // create-render-app effected
|
|
9
|
+
import { optimizelysdkKey } from '../../../config' // create-render-app effected
|
|
8
10
|
import { AppContext } from '../../../context/app-context'
|
|
9
11
|
import { createThemeDropdownObject } from '../../../helpers/createThemeDropdownObject'
|
|
10
12
|
|
|
@@ -24,10 +26,14 @@ export default AccountCancellation
|
|
|
24
26
|
|
|
25
27
|
export const getServerSideProps = async (context) => {
|
|
26
28
|
newrelic.setTransactionName('Edit Payment method')
|
|
29
|
+
const featureFlags = await initAndGetFeatureFlag(optimizelysdkKey) // create-render-app effected
|
|
27
30
|
|
|
28
|
-
return getProviderProps(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
return getProviderProps(
|
|
32
|
+
{
|
|
33
|
+
...context,
|
|
34
|
+
provider: 'Payment',
|
|
35
|
+
paymentProvider: PaymentProvider.Zuora,
|
|
36
|
+
},
|
|
37
|
+
{ featureFlags } // create-render-app effected
|
|
38
|
+
)
|
|
33
39
|
}
|
|
@@ -4,6 +4,8 @@ import {
|
|
|
4
4
|
} from '@newskit-render/my-account'
|
|
5
5
|
import newrelic from 'newrelic'
|
|
6
6
|
import React, { useContext } from 'react'
|
|
7
|
+
import { initAndGetFeatureFlag } from '@newskit-render/feature-flags' // create-render-app effected
|
|
8
|
+
import { optimizelysdkKey } from '../../../config' // create-render-app effected
|
|
7
9
|
import { AppContext } from '../../../context/app-context'
|
|
8
10
|
import { createThemeDropdownObject } from '../../../helpers/createThemeDropdownObject'
|
|
9
11
|
|
|
@@ -23,10 +25,14 @@ export default AccountSubscriptionAndBilling
|
|
|
23
25
|
|
|
24
26
|
export const getServerSideProps = async (context) => {
|
|
25
27
|
newrelic.setTransactionName('Account: Subscription and Billing')
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
const featureFlags = await initAndGetFeatureFlag(optimizelysdkKey) // create-render-app effected
|
|
29
|
+
const result = await getProviderProps(
|
|
30
|
+
{
|
|
31
|
+
...context,
|
|
32
|
+
provider: 'SubscriptionAndBilling',
|
|
33
|
+
},
|
|
34
|
+
{ featureFlags } // create-render-app effected
|
|
35
|
+
)
|
|
30
36
|
|
|
31
37
|
return result
|
|
32
38
|
}
|
package/pages/index.tsx
CHANGED
|
@@ -5,6 +5,8 @@ import {
|
|
|
5
5
|
ClientTypes,
|
|
6
6
|
} from '@newskit-render/api'
|
|
7
7
|
import { getHost } from '@newskit-render/shared-components'
|
|
8
|
+
import { initAndGetFeatureFlag } from '@newskit-render/feature-flags' // create-render-app effected
|
|
9
|
+
import { optimizelysdkKey } from '../config' // create-render-app effected
|
|
8
10
|
import { GET_PAGE } from '../queries'
|
|
9
11
|
import SectionPage from '../components/section'
|
|
10
12
|
import { fetchUser } from '../helpers/getUser'
|
|
@@ -24,10 +26,14 @@ export async function getServerSideProps(context) {
|
|
|
24
26
|
const [{ data }, user] = await Promise.all([
|
|
25
27
|
apolloClient.query({
|
|
26
28
|
query: GET_PAGE,
|
|
27
|
-
variables: {
|
|
29
|
+
variables: {
|
|
30
|
+
channel: 'homepage',
|
|
31
|
+
publisher: 'DEMO',
|
|
32
|
+
},
|
|
28
33
|
}),
|
|
29
34
|
await fetchUser(acsCookie, getAccountQueryUrl(siteHost)),
|
|
30
35
|
])
|
|
36
|
+
const featureFlags = await initAndGetFeatureFlag(optimizelysdkKey) // create-render-app effected
|
|
31
37
|
|
|
32
38
|
addCacheHeaders(context.res)
|
|
33
39
|
const { page } = data
|
|
@@ -36,6 +42,7 @@ export async function getServerSideProps(context) {
|
|
|
36
42
|
page,
|
|
37
43
|
showAds: true,
|
|
38
44
|
user,
|
|
45
|
+
featureFlags, // create-render-app effected
|
|
39
46
|
},
|
|
40
47
|
}
|
|
41
48
|
}
|