@newskit-render/core 0.0.0-caeaa514b → 0.0.0-cc45b00ad

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.
Files changed (34) hide show
  1. package/CHANGELOG.md +840 -0
  2. package/Dockerfile.withNewRelic +1 -2
  3. package/__tests__/pages/__snapshots__/home.test.tsx.snap +0 -3
  4. package/components/article/__tests__/__snapshots__/index.test.tsx.snap +0 -3
  5. package/components/header/banner-messages.ts +4 -0
  6. package/cypress/e2e/account/holiday-stops.cy.js +4 -4
  7. package/cypress/e2e/account/newsletters-page.cy.js +30 -9
  8. package/cypress/e2e/account/subscription-and-billing.cy.js +10 -41
  9. package/cypress/support/commands.js +1 -1
  10. package/cypress/support/users.js +6 -2
  11. package/helpers/getProviderPropsUtil.ts +20 -0
  12. package/next.config.js +55 -57
  13. package/package.json +12 -13
  14. package/pages/account/add/[field].tsx +13 -56
  15. package/pages/account/{family → bonus-accounts}/index.tsx +9 -4
  16. package/pages/account/cancellation/index.tsx +3 -2
  17. package/pages/account/delete/confirm/index.tsx +3 -5
  18. package/pages/account/delete/error/index.tsx +3 -5
  19. package/pages/account/delete/index.tsx +3 -5
  20. package/pages/account/delete/success/index.tsx +3 -5
  21. package/pages/account/dream-team/index.tsx +3 -2
  22. package/pages/account/edit/[field].tsx +17 -5
  23. package/pages/account/holiday-stop/index.tsx +3 -6
  24. package/pages/account/holiday-stop/previous-holiday-stops.tsx +3 -6
  25. package/pages/account/holiday-stop/upcoming-holiday-stops.tsx +3 -6
  26. package/pages/account/index.tsx +3 -6
  27. package/pages/account/newsletters/index.tsx +3 -2
  28. package/pages/account/newsletters-and-alerts/index.tsx +3 -6
  29. package/pages/account/payment/[paymentMethod].tsx +2 -3
  30. package/pages/account/payment/index.tsx +3 -2
  31. package/pages/account/payment-methods/index.tsx +3 -6
  32. package/pages/account/subscription-and-billing/index.tsx +13 -6
  33. package/pages/account/user-hub/index.tsx +4 -6
  34. package/temp/_document.tsx +1 -0
@@ -1,9 +1,7 @@
1
1
  import React from 'react'
2
- import {
3
- ConfirmAccountDeletion,
4
- getProviderProps,
5
- } from '@newskit-render/my-account'
2
+ import { ConfirmAccountDeletion } from '@newskit-render/my-account'
6
3
  import { replaceConsoleAndSetTransactionName } from '../../../../helpers/logger'
4
+ import { getProviderPropsUtil } from '../../../../helpers/getProviderPropsUtil'
7
5
 
8
6
  const ConfirmDeletion = (props) => <ConfirmAccountDeletion {...props} />
9
7
 
@@ -12,5 +10,5 @@ export default ConfirmDeletion
12
10
  export const getServerSideProps = async (context) => {
13
11
  replaceConsoleAndSetTransactionName('Account: Deletion - Confirmation')
14
12
 
15
- return getProviderProps({ ...context })
13
+ return getProviderPropsUtil({ ...context })
16
14
  }
@@ -1,9 +1,7 @@
1
1
  import React from 'react'
2
- import {
3
- AccountDeletionError,
4
- getProviderProps,
5
- } from '@newskit-render/my-account'
2
+ import { AccountDeletionError } from '@newskit-render/my-account'
6
3
  import { replaceConsoleAndSetTransactionName } from '../../../../helpers/logger'
4
+ import { getProviderPropsUtil } from '../../../../helpers/getProviderPropsUtil'
7
5
 
8
6
  const Error = (props) => <AccountDeletionError {...props} />
9
7
 
@@ -12,5 +10,5 @@ export default Error
12
10
  export const getServerSideProps = async (context) => {
13
11
  replaceConsoleAndSetTransactionName('Account: Deletion - Error')
14
12
 
15
- return getProviderProps({ ...context })
13
+ return getProviderPropsUtil({ ...context })
16
14
  }
@@ -1,9 +1,7 @@
1
1
  import React from 'react'
2
- import {
3
- InitiateAccountDeletion,
4
- getProviderProps,
5
- } from '@newskit-render/my-account'
2
+ import { InitiateAccountDeletion } from '@newskit-render/my-account'
6
3
  import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
4
+ import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
7
5
 
8
6
  const AccountDeletion = (props) => <InitiateAccountDeletion {...props} />
9
7
 
@@ -12,5 +10,5 @@ export default AccountDeletion
12
10
  export const getServerSideProps = async (context) => {
13
11
  replaceConsoleAndSetTransactionName('Account: Deletion')
14
12
 
15
- return getProviderProps({ ...context })
13
+ return getProviderPropsUtil({ ...context })
16
14
  }
@@ -1,9 +1,7 @@
1
1
  import React from 'react'
2
- import {
3
- AccountDeletionSuccess,
4
- getProviderProps,
5
- } from '@newskit-render/my-account'
2
+ import { AccountDeletionSuccess } from '@newskit-render/my-account'
6
3
  import { replaceConsoleAndSetTransactionName } from '../../../../helpers/logger'
4
+ import { getProviderPropsUtil } from '../../../../helpers/getProviderPropsUtil'
7
5
 
8
6
  const Success = (props) => <AccountDeletionSuccess {...props} />
9
7
 
@@ -12,5 +10,5 @@ export default Success
12
10
  export const getServerSideProps = async (context) => {
13
11
  replaceConsoleAndSetTransactionName('Account: Deletion - Success')
14
12
 
15
- return getProviderProps({ ...context })
13
+ return getProviderPropsUtil({ ...context })
16
14
  }
@@ -1,7 +1,8 @@
1
1
  import React from 'react'
2
- import { DreamTeam, getProviderProps } from '@newskit-render/my-account'
2
+ import { DreamTeam } from '@newskit-render/my-account'
3
3
  import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
4
4
  import { getAllFeatureFlags } from '@newskit-render/feature-flags' /* cra-effected */
5
+ import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
5
6
 
6
7
  const AccountNewslettersAndAlerts = (props) => <DreamTeam {...props} />
7
8
 
@@ -12,7 +13,7 @@ export const getServerSideProps = async (context) => {
12
13
  /* start cra-effected */
13
14
  const featureFlags = await getAllFeatureFlags()
14
15
  /* end cra-effected */
15
- return getProviderProps(
16
+ return getProviderPropsUtil(
16
17
  { ...context, provider: 'DreamTeam' },
17
18
  { featureFlags } /* cra-effected */
18
19
  )
@@ -2,17 +2,20 @@ import React from 'react'
2
2
  import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
3
3
  import {
4
4
  EditField,
5
- // getProviderProps,
6
- getProviderPropsTimes,
7
5
  editComponentMap,
6
+ broadcastingOnlyEditComponentMap,
8
7
  DynamicPage,
9
8
  } from '@newskit-render/my-account'
10
9
  import { getAllFeatureFlags } from '@newskit-render/feature-flags' /* cra-effected */
11
10
  import validation from '../../../validation'
11
+ import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
12
+ import { publisher } from '../../../config'
13
+ import { Publisher } from '@newskit-render/api'
12
14
 
13
15
  const AccountEditField = (props) => (
14
16
  <DynamicPage
15
17
  objectMap={editComponentMap}
18
+ isPageRestricted={props.isPageRestricted}
16
19
  pageName={props.data.type}
17
20
  Component={EditField}
18
21
  componentProps={props}
@@ -28,9 +31,15 @@ export const getServerSideProps = async (context) => {
28
31
  } = context
29
32
  const doesEditPageExist = Object.keys(editComponentMap).includes(field)
30
33
 
34
+ const isBroadcasting = publisher === Publisher.BROADCASTING
35
+ const broadcastingOnlyPages = Object.keys(broadcastingOnlyEditComponentMap)
36
+
37
+ const isPageRestricted =
38
+ !isBroadcasting && broadcastingOnlyPages.includes(field)
39
+
31
40
  replaceConsoleAndSetTransactionName(`Account: edit ${field}`)
32
41
 
33
- if (!doesEditPageExist) {
42
+ if (!doesEditPageExist || isPageRestricted) {
34
43
  context.res.statusCode = 404
35
44
  // Logging the error for being captured by New Relic
36
45
  console.error(`An error ${context.res.statusCode} occurred on server`)
@@ -39,8 +48,11 @@ export const getServerSideProps = async (context) => {
39
48
  const featureFlags = await getAllFeatureFlags()
40
49
  /* end cra-effected */
41
50
 
42
- return getProviderPropsTimes(
51
+ return getProviderPropsUtil(
43
52
  { ...context, provider: 'EditField' },
44
- { featureFlags } /* cra-effected */
53
+ {
54
+ featureFlags,
55
+ isPageRestricted,
56
+ } /* cra-effected */
45
57
  )
46
58
  }
@@ -1,11 +1,8 @@
1
1
  import React from 'react'
2
- import {
3
- // getProviderProps,
4
- getProviderPropsTimes,
5
- HolidayStop,
6
- } from '@newskit-render/my-account'
2
+ import { HolidayStop } from '@newskit-render/my-account'
7
3
  import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
8
4
  import { getAllFeatureFlags } from '@newskit-render/feature-flags' /* cra-effected */
5
+ import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
9
6
 
10
7
  const AccountHolidayStop = (props) => <HolidayStop {...props} />
11
8
 
@@ -16,7 +13,7 @@ export const getServerSideProps = async (context) => {
16
13
  /* start cra-effected */
17
14
  const featureFlags = await getAllFeatureFlags()
18
15
  /* end cra-effected */
19
- return getProviderPropsTimes(
16
+ return getProviderPropsUtil(
20
17
  { ...context, provider: 'HolidayStop' },
21
18
  { featureFlags } /* cra-effected */
22
19
  )
@@ -1,11 +1,8 @@
1
1
  import React from 'react'
2
- import {
3
- // getProviderProps,
4
- getProviderPropsTimes,
5
- HolidayStopList,
6
- } from '@newskit-render/my-account'
2
+ import { HolidayStopList } from '@newskit-render/my-account'
7
3
  import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
8
4
  import { holidayStopListContextOverrides } from '../../../context/app-context/holidayStopListContextOverrides'
5
+ import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
9
6
 
10
7
  const AccountPreviousHolidayStops = (props) => (
11
8
  <HolidayStopList
@@ -19,5 +16,5 @@ export default AccountPreviousHolidayStops
19
16
 
20
17
  export const getServerSideProps = async (context) => {
21
18
  replaceConsoleAndSetTransactionName('Account: Previous Holiday Stops')
22
- return getProviderPropsTimes({ ...context, provider: 'HolidayStop' })
19
+ return getProviderPropsUtil({ ...context, provider: 'HolidayStop' })
23
20
  }
@@ -1,11 +1,8 @@
1
1
  import React from 'react'
2
- import {
3
- // getProviderProps,
4
- getProviderPropsTimes,
5
- HolidayStopList,
6
- } from '@newskit-render/my-account'
2
+ import { HolidayStopList } from '@newskit-render/my-account'
7
3
  import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
8
4
  import { holidayStopListContextOverrides } from '../../../context/app-context/holidayStopListContextOverrides'
5
+ import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
9
6
 
10
7
  const AccountUpcomingHolidayStops = (props) => (
11
8
  <HolidayStopList
@@ -19,5 +16,5 @@ export default AccountUpcomingHolidayStops
19
16
 
20
17
  export const getServerSideProps = async (context) => {
21
18
  replaceConsoleAndSetTransactionName('Account: Upcoming Holiday Stops')
22
- return getProviderPropsTimes({ ...context, provider: 'HolidayStop' })
19
+ return getProviderPropsUtil({ ...context, provider: 'HolidayStop' })
23
20
  }
@@ -1,12 +1,9 @@
1
1
  import React from 'react'
2
- import {
3
- PersonalDetails,
4
- getProviderPropsTimes,
5
- // getProviderProps,
6
- } from '@newskit-render/my-account'
2
+ import { PersonalDetails } from '@newskit-render/my-account'
7
3
  import { getAllFeatureFlags } from '@newskit-render/feature-flags' /* cra-effected */
8
4
  import { AccountDropdown } from '../../components/AccountDropdown' /* cra-disabled */
9
5
  import { replaceConsoleAndSetTransactionName } from '../../helpers/logger'
6
+ import { getProviderPropsUtil } from '../../helpers/getProviderPropsUtil'
10
7
 
11
8
  const AccountPersonalDetails = (props) => {
12
9
  return (
@@ -28,7 +25,7 @@ export const getServerSideProps = async (context) => {
28
25
 
29
26
  const featureFlags = await getAllFeatureFlags()
30
27
 
31
- return getProviderPropsTimes(
28
+ return getProviderPropsUtil(
32
29
  { ...context, provider: 'PersonalDetails' },
33
30
  { featureFlags } /* cra-effected */
34
31
  )
@@ -1,7 +1,8 @@
1
1
  import React from 'react'
2
- import { Newsletters, getProviderPropsTimes } from '@newskit-render/my-account'
2
+ import { Newsletters } from '@newskit-render/my-account'
3
3
  import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
4
4
  import { getAllFeatureFlags } from '@newskit-render/feature-flags' /* cra-effected */
5
+ import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
5
6
 
6
7
  const AccountNewsletters = (props) => <Newsletters {...props} />
7
8
 
@@ -12,7 +13,7 @@ export const getServerSideProps = async (context) => {
12
13
  /* start cra-effected */
13
14
  const featureFlags = await getAllFeatureFlags()
14
15
  /* end cra-effected */
15
- return getProviderPropsTimes(
16
+ return getProviderPropsUtil(
16
17
  { ...context, provider: 'Newsletters' },
17
18
  { featureFlags } /* cra-effected */
18
19
  )
@@ -1,11 +1,8 @@
1
1
  import React from 'react'
2
- import {
3
- NewslettersAndAlerts,
4
- getProviderPropsTimes,
5
- // getProviderProps
6
- } from '@newskit-render/my-account'
2
+ import { NewslettersAndAlerts } from '@newskit-render/my-account'
7
3
  import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
8
4
  import { getAllFeatureFlags } from '@newskit-render/feature-flags' /* cra-effected */
5
+ import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
9
6
 
10
7
  const AccountNewslettersAndAlerts = (props) => (
11
8
  <NewslettersAndAlerts {...props} />
@@ -18,7 +15,7 @@ export const getServerSideProps = async (context) => {
18
15
  /* start cra-effected */
19
16
  const featureFlags = await getAllFeatureFlags()
20
17
  /* end cra-effected */
21
- return getProviderPropsTimes(
18
+ return getProviderPropsUtil(
22
19
  { ...context, provider: 'NewslettersAndAlerts' },
23
20
  { featureFlags } /* cra-effected */
24
21
  )
@@ -1,13 +1,12 @@
1
1
  import React from 'react'
2
2
  import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
3
3
  import {
4
- // getProviderProps,
5
- getProviderPropsTimes,
6
4
  Payment,
7
5
  paymentMethodsMap,
8
6
  DynamicPage,
9
7
  } from '@newskit-render/my-account'
10
8
  import { getAllFeatureFlags } from '@newskit-render/feature-flags' /* cra-effected */
9
+ import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
11
10
 
12
11
  const PaymentPage = (props) => {
13
12
  return (
@@ -28,7 +27,7 @@ export const getServerSideProps = async (context) => {
28
27
  const featureFlags = await getAllFeatureFlags()
29
28
  /* end cra-effected */
30
29
 
31
- return getProviderPropsTimes(
30
+ return getProviderPropsUtil(
32
31
  {
33
32
  ...context,
34
33
  provider: 'Payment',
@@ -1,7 +1,8 @@
1
1
  import React from 'react'
2
2
  import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
3
- import { Payment, getProviderProps } from '@newskit-render/my-account'
3
+ import { Payment } from '@newskit-render/my-account'
4
4
  import { getAllFeatureFlags } from '@newskit-render/feature-flags' /* cra-effected */
5
+ import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
5
6
 
6
7
  const AccountPayment = (props) => <Payment {...props} />
7
8
 
@@ -13,7 +14,7 @@ export const getServerSideProps = async (context) => {
13
14
  const featureFlags = await getAllFeatureFlags()
14
15
  /* end cra-effected */
15
16
 
16
- return getProviderProps(
17
+ return getProviderPropsUtil(
17
18
  {
18
19
  ...context,
19
20
  provider: 'Payment',
@@ -1,12 +1,9 @@
1
1
  import React from 'react'
2
- import {
3
- // getProviderProps,
4
- getProviderPropsTimes,
5
- PaymentMethods,
6
- } from '@newskit-render/my-account'
2
+ import { PaymentMethods } from '@newskit-render/my-account'
7
3
  import { getAllFeatureFlags } from '@newskit-render/feature-flags' // create-render-app effected
8
4
  import { paymentMethodContext } from '../../../context/app-context/paymentMethodContext'
9
5
  import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
6
+ import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
10
7
 
11
8
  const AccountPaymentMethods = (props) => (
12
9
  <PaymentMethods {...props} context={paymentMethodContext} />
@@ -18,7 +15,7 @@ export const getServerSideProps = async (context) => {
18
15
  replaceConsoleAndSetTransactionName('Account: Payment Methods')
19
16
  const featureFlags = await getAllFeatureFlags()
20
17
  // create-render-app effected
21
- return getProviderPropsTimes(
18
+ return getProviderPropsUtil(
22
19
  { ...context, provider: 'PaymentMethods' },
23
20
  { featureFlags } // create-render-app effected
24
21
  )
@@ -1,15 +1,22 @@
1
1
  import React from 'react'
2
2
  import {
3
3
  SubscriptionAndBilling,
4
- getProviderPropsTimes,
5
- // getProviderProps,
4
+ subscriptionAndBillingContextSun,
5
+ subscriptionAndBillingContext,
6
6
  } from '@newskit-render/my-account'
7
7
  import { getAllFeatureFlags } from '@newskit-render/feature-flags' /* cra-effected */
8
8
  import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
9
+ import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
10
+ import { Publisher } from '@newskit-render/api'
9
11
 
10
- const AccountSubscriptionAndBilling = (props) => (
11
- <SubscriptionAndBilling {...props} />
12
- )
12
+ const AccountSubscriptionAndBilling = (props) => {
13
+ const context =
14
+ props.env.PUBLISHER === Publisher.SUN_UK
15
+ ? subscriptionAndBillingContextSun
16
+ : subscriptionAndBillingContext
17
+
18
+ return <SubscriptionAndBilling {...props} context={context} />
19
+ }
13
20
 
14
21
  export default AccountSubscriptionAndBilling
15
22
 
@@ -18,7 +25,7 @@ export const getServerSideProps = async (context) => {
18
25
  /* start cra-effected */
19
26
  const featureFlags = await getAllFeatureFlags()
20
27
  /* end cra-effected */
21
- const result = await getProviderPropsTimes(
28
+ const result = await getProviderPropsUtil(
22
29
  {
23
30
  ...context,
24
31
  provider: 'SubscriptionAndBilling',
@@ -1,10 +1,8 @@
1
1
  import React from 'react'
2
- import {
3
- UserHub as UserHubPage,
4
- getProviderProps,
5
- } from '@newskit-render/my-account'
2
+ import { UserHub as UserHubPage } from '@newskit-render/my-account'
6
3
  import { replaceConsoleAndSetTransactionName } from '../../../helpers/logger'
7
4
  import { getAllFeatureFlags } from '@newskit-render/feature-flags' /* cra-effected */
5
+ import { getProviderPropsUtil } from '../../../helpers/getProviderPropsUtil'
8
6
 
9
7
  const UserHub = (props) => <UserHubPage {...props} />
10
8
 
@@ -15,8 +13,8 @@ export const getServerSideProps = async (context) => {
15
13
  /* start cra-effected */
16
14
  const featureFlags = await getAllFeatureFlags()
17
15
  /* end cra-effected */
18
- return getProviderProps(
19
- { ...context, provider: 'PersonalDetails' },
16
+ return getProviderPropsUtil(
17
+ { ...context, provider: 'UserHub' },
20
18
  { featureFlags } /* cra-effected */
21
19
  )
22
20
  }
@@ -1,3 +1,4 @@
1
+ // @ts-nocheck
1
2
  import React from 'react'
2
3
  import Script from 'next/script'
3
4
  import Document, {