import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types" import baseStyle from "./styles/footer.scss" import { useEffect, useState } from "preact/hooks" // Import the JSON data import buttonsData from "../buttons.json" export default (() => { // Define the component const Btn8831: QuartzComponent = ({ displayClass, cfg }: QuartzComponentProps) => { // Since the data is static, you can directly use buttonsData const [buttons, setButtons] = useState(buttonsData) // Optional: If you need to perform any data manipulation or sorting, you can do it here // For example, if buttonsData isn't sorted, but you need to sort it: // useEffect(() => { // const sortedButtons = [...buttonsData].sort(/* your sorting function */); // setButtons(sortedButtons); // }, []); return (
{buttons.map((button, index) => ( {button.alt} ))}
) } // Define custom styles const customStyle = ` .btn8831-container { display: flex; flex-wrap: wrap; max-width: 60%; margin: 0 auto; } .btn8831-container a { margin: 5px; } .btn8831-container img { width: 88px; height: 31px; } ` // Combine base styles with custom styles Btn8831.css = baseStyle + customStyle return Btn8831 })() satisfies QuartzComponentConstructor