- Add Activepieces fork with SmoothSchedule custom piece - Create integrations app with Activepieces service layer - Add embed token endpoint for iframe integration - Create Automations page with embedded workflow builder - Add sidebar visibility fix for embed mode - Add list inactive customers endpoint to Public API - Include SmoothSchedule triggers: event created/updated/cancelled - Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
55 lines
1.4 KiB
TypeScript
55 lines
1.4 KiB
TypeScript
import { Input } from '@/components/ui/input';
|
|
import { Textarea } from '@/components/ui/textarea';
|
|
import { cn } from '@/lib/utils';
|
|
|
|
import { DownloadButton } from '../download-button';
|
|
|
|
import { CopyButton } from './copy-button';
|
|
|
|
type CopyToClipboardInputProps = {
|
|
textToCopy: string;
|
|
useInput: boolean;
|
|
fileName?: string;
|
|
};
|
|
|
|
const noBorderInputClass = `border-none w-full rfocus-visible:ring-0 focus-visible:ring-transparent focus-visible:ring-offset-0`;
|
|
|
|
const CopyToClipboardInput = ({
|
|
textToCopy,
|
|
fileName,
|
|
useInput,
|
|
}: CopyToClipboardInputProps) => {
|
|
return (
|
|
<div className="flex gap-2 items-center bg-background border border-solid text-sm rounded block w-full select-none pr-3">
|
|
{useInput ? (
|
|
<Input value={textToCopy} className={noBorderInputClass} readOnly />
|
|
) : (
|
|
<Textarea
|
|
value={textToCopy}
|
|
rows={6}
|
|
className={noBorderInputClass}
|
|
readOnly
|
|
/>
|
|
)}
|
|
<div
|
|
className={cn('flex gap-1', {
|
|
'flex-col': !useInput,
|
|
})}
|
|
>
|
|
<CopyButton textToCopy={textToCopy} variant="ghost" />
|
|
{fileName && (
|
|
<DownloadButton
|
|
textToDownload={textToCopy}
|
|
fileName={fileName}
|
|
variant="ghost"
|
|
tooltipSide="bottom"
|
|
/>
|
|
)}
|
|
</div>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
CopyToClipboardInput.displayName = 'CopyToClipboardInput';
|
|
export { CopyToClipboardInput };
|