Spaces:
Paused
Paused
Download docs/src/components/databases/DatabaseLogoWall.tsx from Leon4gr45/powerbi: direct link, hf CLI and curl.
- Browser
- Download file 2.32 kB
-
https://huggingface.co/spaces/Leon4gr45/powerbi/resolve/main/docs/src/components/databases/DatabaseLogoWall.tsx
- Command line
-
hf download hf://spaces/Leon4gr45/powerbi/docs/src/components/databases/DatabaseLogoWall.tsx
-
curl -L -o DatabaseLogoWall.tsx https://huggingface.co/spaces/Leon4gr45/powerbi/resolve/main/docs/src/components/databases/DatabaseLogoWall.tsx
2.32 kB
| /** | |
| * Licensed to the Apache Software Foundation (ASF) under one | |
| * or more contributor license agreements. See the NOTICE file | |
| * distributed with this work for additional information | |
| * regarding copyright ownership. The ASF licenses this file | |
| * to you under the Apache License, Version 2.0 (the | |
| * "License"); you may not use this file except in compliance | |
| * with the License. You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, | |
| * software distributed under the License is distributed on an | |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
| * KIND, either express or implied. See the License for the | |
| * specific language governing permissions and limitations | |
| * under the License. | |
| */ | |
| import React from 'react'; | |
| import databaseData from '../../data/databases.json'; | |
| import type { DatabaseData } from './types'; | |
| const typedData = databaseData as DatabaseData; | |
| const seenLogos = new Set<string>(); | |
| const databases = Object.entries(typedData.databases) | |
| .filter(([, db]) => db.documentation?.logo && db.documentation?.homepage_url) | |
| .sort(([a], [b]) => a.localeCompare(b)) | |
| .filter(([, db]) => { | |
| const logo = db.documentation.logo!; | |
| if (seenLogos.has(logo)) return false; | |
| seenLogos.add(logo); | |
| return true; | |
| }) | |
| .map(([name, db]) => ({ | |
| name, | |
| logo: db.documentation.logo!, | |
| docPath: `/user-docs/databases/supported/${name | |
| .toLowerCase() | |
| .replace(/[^a-z0-9]+/g, '-') | |
| .replace(/^-|-$/g, '')}`, | |
| })); | |
| export default function DatabaseLogoWall(): React.JSX.Element { | |
| return ( | |
| <div | |
| style={{ | |
| display: 'flex', | |
| flexWrap: 'wrap', | |
| justifyContent: 'center', | |
| alignItems: 'center', | |
| gap: '12px', | |
| margin: '20px auto', | |
| maxWidth: 900, | |
| }} | |
| > | |
| {databases.map(({ name, logo, docPath }) => ( | |
| <a | |
| key={name} | |
| href={docPath} | |
| title={name} | |
| style={{ display: 'inline-flex', alignItems: 'center', height: 40 }} | |
| > | |
| <img | |
| src={`/img/databases/${logo}`} | |
| alt={name} | |
| className="database-logo" | |
| style={{ height: 36, maxWidth: 120 }} | |
| /> | |
| </a> | |
| ))} | |
| </div> | |
| ); | |
| } | |