diff --git a/src/pages/client-implementation-guide/interactive.tsx b/src/pages/client-implementation-guide/interactive.tsx index f1cbd72..93f5dd6 100644 --- a/src/pages/client-implementation-guide/interactive.tsx +++ b/src/pages/client-implementation-guide/interactive.tsx @@ -137,11 +137,7 @@ const Fetcher: React.FC = ({ - {data && ( -
-            {JSON.stringify(data, null, 2)}
-          
- )} + {data && } {isError && ( @@ -300,6 +296,14 @@ export const OidcMetadataFetcher = () => { ); }; +const DataViewer: React.FC<{ data: unknown }> = ({ data }) => { + return ( +
+      {JSON.stringify(data, null, 2)}
+    
+ ); +}; + export const ClientMetadataForm = () => { const $serverMetadata = useStore(serverMetadata); const [clientName, setClientName] = useState("Client implementation guide"); @@ -375,19 +379,13 @@ export const ClientMetadataForm = () => { /> -
-          {JSON.stringify(clientMetadata, null, 2)}
-        
+ Submit client metadata - {response && ( -
-            {JSON.stringify(response, null, 2)}
-          
- )} + {response && } ); @@ -477,11 +475,7 @@ export const CodeExchangeForm = () => { Exchange code for access token - {response && ( -
-            {JSON.stringify(response, null, 2)}
-          
- )} + {response && } ); @@ -546,7 +540,7 @@ export const DisplayAuthorizationUrl: React.FC = () => { disabled={$clientId === null} href={fullUrl.toString()} size="sm" - kind="primary" + kind="secondary" target="_blank" > Start authorization flow @@ -560,9 +554,5 @@ export const CallbackParameters = () => { const stripped = hash.startsWith("#") ? hash.slice(1) : hash; const params = new URLSearchParams(stripped); - return ( -
-      {JSON.stringify(Object.fromEntries(params), null, 2)}
-    
- ); + return ; }; diff --git a/src/pages/client-implementation-guide/style.module.css b/src/pages/client-implementation-guide/style.module.css index a999bef..8802b3c 100644 --- a/src/pages/client-implementation-guide/style.module.css +++ b/src/pages/client-implementation-guide/style.module.css @@ -13,6 +13,10 @@ border-radius: var(--cpd-space-1x); padding: var(--cpd-space-4x); align-self: center; + + & .output-data { + margin: 0; + } } .mono { @@ -38,14 +42,18 @@ } } -.fetcher-output { - margin: 0; +.output-data { + margin: 0 var(--cpd-space-4x); font-family: var(--cpd-font-family-mono); padding: var(--cpd-space-4x); - background-color: var(--cpd-color-bg-action-primary-rest); - color: var(--cpd-color-text-on-solid-primary); + color: var(--cpd-color-text-primary); + background-color: var(--cpd-color-bg-subtle-primary); + border: solid 1px var(--cpd-color-border-interactive-secondary); + border-radius: var(--cpd-space-1x); max-height: 8em; overflow-y: auto; + white-space: pre-wrap; + word-break: break-all; } @keyframes spin { @@ -66,11 +74,13 @@ display: flex; flex-direction: column; gap: var(--cpd-space-1x); - margin: var(--cpd-space-4x) 0; + margin: var(--cpd-space-4x); font-family: var(--cpd-font-family-mono); padding: var(--cpd-space-6x); - background-color: var(--cpd-color-bg-canvas-default); color: var(--cpd-color-text-primary); + background-color: var(--cpd-color-bg-subtle-primary); + border: solid 1px var(--cpd-color-border-interactive-secondary); + border-radius: var(--cpd-space-1x); word-break: break-all; & a {