Procházet zdrojové kódy

adjusted endpoint selector, added solana endpoints, removed some languages

tonyboylehub před 11 měsíci
rodič
revize
02b45a391f

+ 2 - 4
src/components/Header.jsx

@@ -1,16 +1,14 @@
-import React from 'react'
 import clsx from 'clsx'
 import Link from 'next/link'
-import { useEffect, useState } from 'react'
+import React, { useEffect, useState } from 'react'
 
 import { MobileNavigation } from '@/components/MobileNavigation'
 import { Search } from '@/components/Search'
 import { ThemeSelector } from '@/components/ThemeSelector'
+import { categoryToColor, IconWithName } from '@/components/products/IconWithName'
 import { Sections } from '@/components/products/Sections'
 import { SwitcherDialog } from '@/components/products/SwitcherDialog'
-import { IconWithName } from '@/components/products/IconWithName'
 import NavList from './NavList'
-import { categoryToColor } from '@/components/products/IconWithName'
 import { Logo } from './products/global/Logo'
 
 export function Header({ page }) {

+ 4 - 3
src/components/apiComponents/apiComponentWrapper.jsx

@@ -6,6 +6,7 @@ import { Fence } from '../Fence'
 import Spinner from '../icons/spinner'
 import { Totem, TotemAccordion } from '../Totem'
 import ApiParameterDisplay from './apiParams'
+import { endPoints } from './endPointSelector'
 import ApiExampleSelector from './exampleSelector'
 import LanguageRenderer from './languageRenderer'
 import Responce from './responce'
@@ -18,14 +19,14 @@ const ApiComponentWrapper = (args) => {
   const [isLoading, setIsLoading] = useState(false)
   const [selectedExample, setSelectedExample] = useState(-1)
   const [activeEndpoint, setActiveEndpoint] = useState(
-    'https://aura-eclipse-mainnet.metaplex.com'
+    'https://aura-mainnet.metaplex.com'
   )
 
   const handleSetExample = (index) => {
-    console.log(index)
+
+
 
     if (index == -1) {
-      console.log('clear')
 
       setBody((prev) => {
         let newBody = { ...prev }

+ 0 - 1
src/components/apiComponents/apiParams.jsx

@@ -198,7 +198,6 @@ const ParamRenderer = ({ param, subValue, setParam, path = [], value }) => {
 }
 
 const ApiParameterDisplay = ({ params, setParam, body }) => {
-  console.log(body)
 
   return (
     <div className="flex w-full flex-col gap-4 rounded-xl border border-gray-200 bg-white py-4 pb-0 dark:border-neutral-700/50 dark:bg-neutral-800/50">

+ 34 - 27
src/components/apiComponents/endPointSelector.jsx

@@ -1,9 +1,17 @@
 import { Select } from '@headlessui/react'
 import { ChevronDownIcon } from '@heroicons/react/20/solid'
 import clsx from 'clsx'
-import { act, useState } from 'react'
+import { useState } from 'react'
 
-const endPoints = {
+export const endpoints = {
+  solanaMainnet: {
+    name: 'Solana Mainnet',
+    uri: 'https://aura-mainnet.metaplex.com',
+  },
+  solanaDevnet: {
+    name: 'Solana Devnet',
+    uri: 'https://aura-devnet.metaplex.com',
+  },
   eclipseAuraMainnet: {
     name: 'Eclipse Mainnet',
     uri: 'https://aura-eclipse-mainnet.metaplex.com',
@@ -23,21 +31,20 @@ const EndPointSelector = ({ setActiveEndpoint, activeEndpoint }) => {
   // read endpoint from local storage
 
   const handleSelectEndpoint = (e) => {
-    console.log(e.target.name)
+
     if (e.target.name === 'selectEndPoint') {
       if (e.target.value === 'custom') {
         setIsCustom(true)
         const endpoint = localStorage.getItem('customEndPoint') || ''
-        console.log(endpoint)
+
         setActiveEndpoint(endpoint)
         setCustomEndPoint(endpoint)
       } else {
         setIsCustom(false)
-        setActiveEndpoint(e.target.value)
+        setActiveEndpoint(endpoints[e.target.value].uri)
       }
     }
     if (e.target.name === 'customEndPoint') {
-      console.log(e.target.value)
       setActiveEndpoint(e.target.value)
       setCustomEndPoint(e.target.value)
     }
@@ -55,16 +62,16 @@ const EndPointSelector = ({ setActiveEndpoint, activeEndpoint }) => {
         <Select
           id="endPoint"
           name="selectEndPoint"
-        className={clsx(
-                      'dark:white block w-full appearance-none rounded-lg border border-black/10 bg-white/5 px-3 py-1.5 text-sm/6 text-black dark:border-white/15 dark:bg-transparent',
-                      'focus:outline-none data-[focus]:outline-2 data-[focus]:-outline-offset-2 data-[focus]:outline-white/25',
-                      // Make the text of each option black on Windows
-                      '*:text-black dark:text-white'
-                    )}
+          className={clsx(
+            'dark:white block w-full appearance-none rounded-lg border border-black/10 bg-white/5 px-3 py-1.5 text-sm/6 text-black dark:border-white/15 dark:bg-transparent',
+            'focus:outline-none data-[focus]:outline-2 data-[focus]:-outline-offset-2 data-[focus]:outline-white/25',
+            // Make the text of each option black on Windows
+            '*:text-black dark:text-white'
+          )}
           onChange={(e) => handleSelectEndpoint(e)}
         >
-          {Object.entries(endPoints).map(([key, value]) => (
-            <option key={key} value={value.uri}>
+          {Object.entries(endpoints).map(([key, value]) => (
+            <option key={key} value={key}>
               {value.name}
             </option>
           ))}
@@ -74,19 +81,19 @@ const EndPointSelector = ({ setActiveEndpoint, activeEndpoint }) => {
           aria-hidden="true"
         />
       </div>
-    
-        <input
-          type="text"
-          name="customEndPoint"
-          placeholder="https://"
-          className="block w-full rounded-lg border border-gray-200 px-2 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/50 disabled:pointer-events-none disabled:opacity-50 dark:border-neutral-700 dark:bg-neutral-900 dark:text-neutral-300 dark:placeholder-neutral-500"
-          onChange={(e) => {
-            handleSelectEndpoint(e)
-            localStorage.setItem('customEndPoint', e.target.value)
-          }}
-          disabled={!isCustom}
-          value={isCustom ? customEndPoint : activeEndpoint}
-        />
+
+      <input
+        type="text"
+        name="customEndPoint"
+        placeholder="https://"
+        className="block w-full rounded-lg border border-gray-200 px-2 py-2 text-sm focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/50 disabled:pointer-events-none disabled:opacity-50 dark:border-neutral-700 dark:bg-neutral-900 dark:text-neutral-300 dark:placeholder-neutral-500"
+        onChange={(e) => {
+          handleSelectEndpoint(e)
+          localStorage.setItem('customEndPoint', e.target.value)
+        }}
+        disabled={!isCustom}
+        value={isCustom ? customEndPoint : activeEndpoint}
+      />
     </div>
   )
 }

+ 22 - 16
src/components/apiComponents/languageComponents/phpRenderer.jsx

@@ -1,30 +1,37 @@
-import { Fence } from '@/components/Fence';
+import { Fence } from '@/components/Fence'
 
-const PhpRequestRenderer = ({ url, headers, bodyMethod, rpcVersion, bodyParams, id }) => {
-  const httpBody = bodyParams;
+const PhpRequestRenderer = ({
+  url,
+  headers,
+  bodyMethod,
+  rpcVersion,
+  bodyParams,
+  id,
+}) => {
+  const httpBody = bodyParams
 
   // Handle default values for `rpcVersion` and `id`
-  const rpcVersionValue = rpcVersion || '2.0';
-  const idValue = id || 1;
+  const rpcVersionValue = rpcVersion || '2.0'
+  const idValue = id || 1
 
   // Convert httpBody to a PHP-compatible format
   const formatParamsForPhp = (params) => {
     if (Array.isArray(params)) {
-      return `[${params.map(item => `'${item}'`).join(', ')}]`; // Correct array formatting for PHP
+      return `[${params.map((item) => `'${item}'`).join(', ')}]` // Correct array formatting for PHP
     }
     if (typeof params === 'object') {
       return `[${Object.entries(params)
         .map(([key, value]) => `'${key}' => '${value}'`)
-        .join(', ')}]`; // Use PHP array syntax for key-value pairs
+        .join(', ')}]` // Use PHP array syntax for key-value pairs
     }
-    return `'${params}'`;
-  };
+    return `'${params}'`
+  }
 
-  const formattedParams = formatParamsForPhp(httpBody);
+  const formattedParams = formatParamsForPhp(httpBody)
 
   const headersCode = Object.entries(headers)
     .map(([key, value]) => `"${key}: ${value}"`)
-    .join(",\n    ");
+    .join(',\n    ')
 
   const code = `
 <?php
@@ -46,7 +53,6 @@ curl_setopt($ch, CURLOPT_POST, true);
 curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data, JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT));
 curl_setopt($ch, CURLOPT_HTTPHEADER, [
     "Content-Type: application/json",
-    ${headersCode}
 ]);
 
 // Execute cURL request
@@ -63,13 +69,13 @@ if ($response === false) {
 curl_close($ch);
 
 ?>
-`;
+`
 
   return (
     <Fence className="w-full" language="php">
       {code}
     </Fence>
-  );
-};
+  )
+}
 
-export default PhpRequestRenderer;
+export default PhpRequestRenderer

+ 0 - 1
src/components/apiComponents/languageComponents/pythonRequestRenderer.jsx

@@ -35,7 +35,6 @@ url = "${url}"
 
 headers = {
     "Content-Type": "application/json",
-    ${headersCode}
 }
 
 data = {

+ 2 - 2
src/components/apiComponents/languageSelector.jsx

@@ -6,10 +6,10 @@ const languages = [
   { name: 'python', icon: 'PythonIcon' },
   { name: 'php', icon: 'PhpIcon' },
   { name: 'go', icon: 'GoIcon' },
-  { name: 'ruby', icon: 'RubyIcon' },
+  // { name: 'ruby', icon: 'RubyIcon' },
   // { name: 'kotlin', icon: 'KotlinIcon' },
   { name: 'java', icon: 'JavaIcon' },
-  { name: 'swift', icon: 'SwiftIcon' },
+  // { name: 'swift', icon: 'SwiftIcon' },
   { name: 'rust', icon: 'RustIcon' },
   { name: 'csharp', icon: 'CSharpIcon' },
 ]

+ 0 - 1
src/components/apiComponents/responce.jsx

@@ -1,7 +1,6 @@
 import { Fence } from '../Fence'
 
 const Responce = ({ responce }) => {
-  console.log(responce)
   return (
     <div className="flex flex-col w-full overflow-hidden">
       <div className='-mb-3'>Response</div>

+ 1 - 1
src/components/icons/spinner.jsx

@@ -1,5 +1,5 @@
 const Spinner = ({className, style}) => {
-  return <span class={`loader ${className}`} style={style}></span>
+  return <span className={`loader ${className}`} style={style}></span>
 }
 
 export default Spinner