Skip to main content
Glama
deleonio
by deleonio
toolbar-item-order.tsx2.23 kB
import type { ToolbarItemsPropType } from '@public-ui/components'; import { KolHeading, KolToolbar } from '@public-ui/react-v19'; import type { FC } from 'react'; import React, { useEffect, useMemo, useState } from 'react'; export const ToolbarItemOrder: FC = () => { const [isSubmitting, setIsSubmitting] = useState(false); const [isSubmitting2, setIsSubmitting2] = useState(false); useEffect(() => { let timer: ReturnType<typeof setTimeout>; if (isSubmitting) { timer = setTimeout(() => { setIsSubmitting(false); }, 2000); } return () => clearTimeout(timer); }, [isSubmitting]); useEffect(() => { let timer: ReturnType<typeof setTimeout>; if (isSubmitting2) { timer = setTimeout(() => { setIsSubmitting2(false); }, 2000); } return () => clearTimeout(timer); }, [isSubmitting2]); const handleSubmit = () => setIsSubmitting(true); const handleSubmit2 = () => setIsSubmitting2(true); const toolbarItems = useMemo(() => { const items: ToolbarItemsPropType = Array.from({ length: 5 }, (_item, index) => ({ type: 'button', _label: `Button ${index + 1}`, _on: { onClick: handleSubmit }, _icons: isSubmitting ? 'codicon codicon-loading codicon-modifier-spin' : void 0, _disabled: isSubmitting, })); return items; }, [isSubmitting]); const brokenToolbarItems = useMemo(() => { const items: ToolbarItemsPropType = Array.from({ length: 5 }, (_item, index) => ({ type: 'button', _label: `Button ${index + 1}`, _on: { onClick: handleSubmit2 }, _disabled: isSubmitting2, _icons: isSubmitting2 ? 'codicon codicon-loading codicon-modifier-spin' : void 0, })); return items; }, [isSubmitting2]); return ( <div style={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}> <KolHeading _label="Disabled Toolbar Buttons Bug (solved)" /> <KolHeading _label="icon vor disabled" _level={2} /> <KolToolbar _label="KolToolbar A" _items={toolbarItems} /> <KolHeading _label="disabled vor icon" _level={2} /> <p>Klicke auf einen der {brokenToolbarItems.length - 1} ersten Buttons hatte zur Folge, dass die nachfolgenden Buttons kaputt gehen.</p> <KolToolbar _label="KolToolbar B" _items={brokenToolbarItems} /> </div> ); };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/deleonio/public-ui-kolibri'

If you have feedback or need assistance with the MCP directory API, please join our Discord server