| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- import { BookOpen, Github } from 'lucide-react'
- import { Badge, Button } from 'ui'
- import { BASE_PATH } from '@/lib/constants'
- interface ClientLibraryProps {
- language: string
- officialSupport?: boolean
- docsUrl?: string
- gitUrl?: string
- altIconName?: string
- }
- export const ClientLibrary = ({
- language,
- officialSupport,
- docsUrl,
- gitUrl,
- altIconName,
- }: ClientLibraryProps) => {
- return (
- <div className="flex items-start md:space-x-6">
- <img
- src={`${BASE_PATH}/img/libraries/${
- altIconName ? `${altIconName}-icon.svg` : `${language.toLowerCase()}-icon.svg`
- }`}
- alt={`${language} logo`}
- width="21"
- className="hidden md:block"
- />
- <div className="space-y-4">
- <div className="flex items-center gap-2">
- <img
- src={`${BASE_PATH}/img/libraries/${
- altIconName ? `${altIconName}-icon.svg` : `${language.toLowerCase()}-icon.svg`
- }`}
- alt={`${language} logo`}
- width="21"
- className="block md:hidden"
- />
- <h5 className="flex items-center gap-2 text-base text-foreground">
- {language} {!officialSupport && <Badge variant="success">Community</Badge>}
- </h5>
- </div>
- <div className="flex gap-2">
- {docsUrl && (
- <a href={docsUrl} target="_blank" rel="noreferrer">
- <Button icon={<BookOpen />} type="default">
- Docs
- </Button>
- </a>
- )}
- {gitUrl && (
- <a href={gitUrl} target="_blank" rel="noreferrer">
- <Button icon={<Github />} type="default">
- <span className="hidden md:inline">See</span> GitHub
- </Button>
- </a>
- )}
- </div>
- </div>
- </div>
- )
- }
|