From 5800b63221b4f77d5a660826b2c4f7d586acc203 Mon Sep 17 00:00:00 2001
From: Peter Zimon <peter.zimon@gmail.com>
Date: Fri, 19 May 2023 08:12:21 +0200
Subject: [PATCH] Added static values to Admin X Settings

refs. https://github.com/TryGhost/Team/issues/3150
---
 .../settings/SettingGroupHeader.tsx           |  2 +-
 .../settings/email/DefaultRecipients.tsx      | 24 +++++++++++-
 .../src/components/settings/email/Mailgun.tsx | 25 +++++++++++-
 .../settings/general/SocialAccounts.tsx       |  2 +-
 .../components/settings/membership/Access.tsx | 32 +++++++++++++++-
 .../settings/membership/Analytics.tsx         | 38 ++++++++++++++++++-
 6 files changed, 115 insertions(+), 8 deletions(-)

diff --git a/ghost/admin-x-settings/src/admin-x-ds/settings/SettingGroupHeader.tsx b/ghost/admin-x-settings/src/admin-x-ds/settings/SettingGroupHeader.tsx
index 79f5502f4f..eddc8375b8 100644
--- a/ghost/admin-x-settings/src/admin-x-ds/settings/SettingGroupHeader.tsx
+++ b/ghost/admin-x-settings/src/admin-x-ds/settings/SettingGroupHeader.tsx
@@ -13,7 +13,7 @@ const SettingGroupHeader: React.FC<Props> = ({title, description, children}) =>
             {(title || description) && 
                 <div>
                     <Heading level={5}>{title}</Heading>
-                    {description && <p className="max-w-lg text-sm">{description}</p>}
+                    {description && <p className="mt-0.5 max-w-lg text-sm">{description}</p>}
                 </div>
             }
             {children}
diff --git a/ghost/admin-x-settings/src/components/settings/email/DefaultRecipients.tsx b/ghost/admin-x-settings/src/components/settings/email/DefaultRecipients.tsx
index ca6891e3e3..d5d4b4488d 100644
--- a/ghost/admin-x-settings/src/components/settings/email/DefaultRecipients.tsx
+++ b/ghost/admin-x-settings/src/components/settings/email/DefaultRecipients.tsx
@@ -1,5 +1,7 @@
 import React, {useState} from 'react';
 import SettingGroup from '../../../admin-x-ds/settings/SettingGroup';
+import SettingGroupInputs from '../../../admin-x-ds/settings/SettingGroupInputs';
+import SettingGroupValues from '../../../admin-x-ds/settings/SettingGroupValues';
 import {TSettingGroupStates} from '../../../admin-x-ds/settings/SettingGroup';
 
 const DefaultRecipients: React.FC = () => {
@@ -9,14 +11,32 @@ const DefaultRecipients: React.FC = () => {
         setCurrentState(newState);
     };
 
+    const values = (
+        <SettingGroupValues
+            values={[
+                {
+                    heading: 'Default Newsletter recipients',
+                    key: 'default-recipients',
+                    value: 'Whoever has access to the post'
+                }
+            ]}
+        />
+    );
+
+    const inputs = (
+        <SettingGroupInputs>
+            
+        </SettingGroupInputs>
+    );
+
     return (
         <SettingGroup 
             description='When you publish new content, who do you usually want to send it to?'
             state={currentState} 
-            title='Make site private' 
+            title='Default recipients' 
             onStateChange={handleStateChange}
         >
-            Values and inputs
+            {currentState === 'view' ? values : inputs}
         </SettingGroup>
     );
 };
diff --git a/ghost/admin-x-settings/src/components/settings/email/Mailgun.tsx b/ghost/admin-x-settings/src/components/settings/email/Mailgun.tsx
index 2a6ca0dd14..ef0526d340 100644
--- a/ghost/admin-x-settings/src/components/settings/email/Mailgun.tsx
+++ b/ghost/admin-x-settings/src/components/settings/email/Mailgun.tsx
@@ -1,6 +1,8 @@
 import Link from '../../../admin-x-ds/global/Link';
 import React, {useState} from 'react';
 import SettingGroup from '../../../admin-x-ds/settings/SettingGroup';
+import SettingGroupInputs from '../../../admin-x-ds/settings/SettingGroupInputs';
+import SettingGroupValues from '../../../admin-x-ds/settings/SettingGroupValues';
 import {TSettingGroupStates} from '../../../admin-x-ds/settings/SettingGroup';
 
 const MailGun: React.FC = () => {
@@ -10,14 +12,33 @@ const MailGun: React.FC = () => {
         setCurrentState(newState);
     };
 
+    const values = (
+        <SettingGroupValues
+            columns={2}
+            values={[
+                {
+                    heading: 'Status',
+                    key: 'status',
+                    value: 'Mailgun is not set up'
+                }
+            ]}
+        />
+    );
+
+    const inputs = (
+        <SettingGroupInputs>
+            
+        </SettingGroupInputs>
+    );
+
     return (
         <SettingGroup 
             description={<>The Mailgun API is used for bulk email newsletter delivery. <Link href='https://ghost.org/docs/faq/mailgun-newsletters/' target='_blank'>Why is this required?</Link></>}
             state={currentState} 
-            title='Make site private' 
+            title='Mailgun' 
             onStateChange={handleStateChange}
         >
-            Values and inputs
+            {currentState === 'view' ? values : inputs}
         </SettingGroup>
     );
 };
diff --git a/ghost/admin-x-settings/src/components/settings/general/SocialAccounts.tsx b/ghost/admin-x-settings/src/components/settings/general/SocialAccounts.tsx
index 9a4b79d8aa..57983b8432 100644
--- a/ghost/admin-x-settings/src/components/settings/general/SocialAccounts.tsx
+++ b/ghost/admin-x-settings/src/components/settings/general/SocialAccounts.tsx
@@ -39,7 +39,7 @@ const SocialAccounts: React.FC = () => {
             />
             <TextField
                 placeholder="https://twitter.com/ghost"
-                title="URL of your TWITTER PROFILE"
+                title="URL of your Twitter profile"
                 value="https://twitter.com/ghost"
                 onChange={() => {}}
             />
diff --git a/ghost/admin-x-settings/src/components/settings/membership/Access.tsx b/ghost/admin-x-settings/src/components/settings/membership/Access.tsx
index 1210f34bcc..6dbe6413f0 100644
--- a/ghost/admin-x-settings/src/components/settings/membership/Access.tsx
+++ b/ghost/admin-x-settings/src/components/settings/membership/Access.tsx
@@ -1,5 +1,7 @@
 import React, {useState} from 'react';
 import SettingGroup from '../../../admin-x-ds/settings/SettingGroup';
+import SettingGroupInputs from '../../../admin-x-ds/settings/SettingGroupInputs';
+import SettingGroupValues from '../../../admin-x-ds/settings/SettingGroupValues';
 import {TSettingGroupStates} from '../../../admin-x-ds/settings/SettingGroup';
 
 const Access: React.FC = () => {
@@ -9,6 +11,34 @@ const Access: React.FC = () => {
         setCurrentState(newState);
     };
 
+    const values = (
+        <SettingGroupValues
+            values={[
+                {
+                    heading: 'Subscription access',
+                    key: 'subscription-access',
+                    value: 'Anyone'
+                },
+                {
+                    heading: 'Default post access',
+                    key: 'default-post-access',
+                    value: 'Public'
+                },
+                {
+                    heading: 'Commenting',
+                    key: 'commenting',
+                    value: 'Nobody'
+                }
+            ]}
+        />
+    );
+
+    const inputs = (
+        <SettingGroupInputs>
+            
+        </SettingGroupInputs>
+    );
+
     return (
         <SettingGroup 
             description='Set up default access options for subscription and posts'
@@ -16,7 +46,7 @@ const Access: React.FC = () => {
             title='Access' 
             onStateChange={handleStateChange}
         >
-            Values and inputs
+            {currentState === 'view' ? values : inputs}
         </SettingGroup>
     );
 };
diff --git a/ghost/admin-x-settings/src/components/settings/membership/Analytics.tsx b/ghost/admin-x-settings/src/components/settings/membership/Analytics.tsx
index f784ceb065..c4fd234464 100644
--- a/ghost/admin-x-settings/src/components/settings/membership/Analytics.tsx
+++ b/ghost/admin-x-settings/src/components/settings/membership/Analytics.tsx
@@ -1,5 +1,7 @@
 import React, {useState} from 'react';
 import SettingGroup from '../../../admin-x-ds/settings/SettingGroup';
+import SettingGroupInputs from '../../../admin-x-ds/settings/SettingGroupInputs';
+import SettingGroupValues from '../../../admin-x-ds/settings/SettingGroupValues';
 import {TSettingGroupStates} from '../../../admin-x-ds/settings/SettingGroup';
 
 const Analytics: React.FC = () => {
@@ -9,6 +11,40 @@ const Analytics: React.FC = () => {
         setCurrentState(newState);
     };
 
+    const values = (
+        <SettingGroupValues
+            columns={2}
+            values={[
+                {
+                    heading: 'Newsletter opens',
+                    key: 'opens',
+                    value: 'Enabled'
+                },
+                {
+                    heading: 'Newsletter clicks',
+                    key: 'clicks',
+                    value: 'Enabled'
+                },
+                {
+                    heading: 'Member sources',
+                    key: 'sources',
+                    value: 'Disabled'
+                },
+                {
+                    heading: 'Outbound link tagging',
+                    key: 'taggin',
+                    value: 'Enabled'
+                }
+            ]}
+        />
+    );
+
+    const inputs = (
+        <SettingGroupInputs>
+            
+        </SettingGroupInputs>
+    );
+
     return (
         <SettingGroup 
             description='Decide what data you collect from your members'
@@ -16,7 +52,7 @@ const Analytics: React.FC = () => {
             title='Analytics' 
             onStateChange={handleStateChange}
         >
-            Values and inputs
+            {currentState === 'view' ? values : inputs}
         </SettingGroup>
     );
 };