Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

[]Questions:

  •  N/D

Technical Refinement

Description

  • rbi-whitelabel-cms

    • Task 1—Create Feature Account Updated Agreements page

      • path: rbi-whitelabel-cms/schemas/features/documents/

        export default {
          title: 'Feature Account Updated Agreements',
          name: 'featureAccountUpdatedAgreements',
          type: 'document',
        
          /**
           * Prevent creation or deletion of featureAccountUpdatedAgreements documents.
           * See deskStructure.js to find singleton instance.
           * https://www.sanity.io/docs/structure-builder-typical-use-cases#singletons-and-one-of-documents-c22ce054acba
           */
          __experimental_actions: ['update', 'publish', 'create'],
          __experimental_search: [],
          fields: [
            {
              title: 'Update Agreement Text',
              name: 'updateAgreementText',
              type: 'localeBlockContent',
              validation: (Rule: any) => Rule.required(),
            },
            {
              title: 'Marketing Communication Text',
              name: 'marketingCommunicationText',
              type: 'localeBlockContent',
              validation: (Rule: any) => Rule.required(),
            },
          ],
          preview: {
            prepare: () => ({ title: 'Feature Account Updated Agreements' }),
          },
        };
      • On file: rbi-whitelabel-cms/desk-structure/marketing-content.ts, we will add the page created previously:

        S.listItem()
        .title('Feature Account Updated Agreements')
        .child(
          S.document()
            .schemaType('featureAccountUpdatedAgreements')
            .documentId('feature-account-updated-agreements'),
        ),
  • intl-whitelabel-cms

    • Task 2—Duplicate all changes on rbi-whitelabel-cms repository

  • intl-whitelabel-app

    • Task 3—Create a feature flag

      enable-acceptance-agreements-description-from-sanity
    • Task 4—Create query on graphql

      • path: intl-whitelabel-app/workspaces/frontend/src/queries/sanity/feature-account-updated-agreements.graphql

        query featureAccountUpdatedAgreements($featureAccountUpdatedAgreementsId: ID!) {
          FeatureAccountUpdatedAgreements(id: $featureAccountUpdatedAgreementsId) {
            updateAgreementText {
              locale: enRaw
            }
            confirmButtonText {
              locale: enRaw
            }
          }
        }
      • On file: intl-whitelabel-app/workspaces/frontend/src/queries/sanity/all-feature-ids.graphql, we will add the query created on the and file:

        allFeatureAccountUpdatedAgreements(limit: 1) {
          _id
        }
    • After that, we will run:

      yarn run apollo:generate
      • On file: intl-whitelabel-app/workspaces/frontend/src/generated/sanity-graphql.tsx and intl-whitelabel-app/workspaces/frontend/src/state/graphql/sanity-fragments.json will be many changes, but we can to discard all, except of change locally in the interface FeatureAccountUpdatedAgreements:

    • On file: intl-whitelabel-app/workspaces/frontend/src/state/features/index.tsx, we will add the attribute on interface IFeatureIds

      interface IFeatureIds {
        ...
        featureAccountUpdatedAgreementsId?: string;
        // add new feature ids here
      }
    • On the same file, we will add the attribute on return

      return {
        ...
        featureAccountUpdatedAgreementsId: getSingletonId('allFeatureAccountUpdatedAgreements'),
      };

Screenshots

  • N/D

 POC

  • N/D

Impact Analysis

  • Modal Acceptance Agreements

Dependencies

  • N/D

Unit Test

  • N/D

  • N/D

  • No labels