Skip to main content
Glama
simple-contact-form.svelte2.92 kB
<!-- Last updated: 2025-11-06T05:40:53.467Z --> <script lang="ts"> let name = ''; let email = ''; let message = ''; let submitting = false; let submissionStatus = ''; // 'success' or 'error' async function handleSubmit() { submitting = true; submissionStatus = ''; // Simulate API call await new Promise(resolve => setTimeout(resolve, 1500)); // Replace with actual form submission logic if (name && email && message) { console.log('Form submitted:', { name, email, message }); submissionStatus = 'success'; // Reset form name = ''; email = ''; message = ''; } else { submissionStatus = 'error'; } submitting = false; } </script> <form on:submit|preventDefault={handleSubmit} class="space-y-6 p-6 bg-white shadow-md rounded-lg"> <h2 class="text-2xl font-semibold text-gray-800">Contact Us</h2> <div> <label for="name" class="block text-sm font-medium text-gray-700">Full Name</label> <input type="text" id="name" bind:value={name} required class="mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm" placeholder="John Doe" /> </div> <div> <label for="email" class="block text-sm font-medium text-gray-700">Email Address</label> <input type="email" id="email" bind:value={email} required class="mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm" placeholder="you@example.com" /> </div> <div> <label for="message" class="block text-sm font-medium text-gray-700">Message</label> <textarea id="message" rows="4" bind:value={message} required class="mt-1 block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm" placeholder="Your message..." ></textarea> </div> <div> <button type="submit" disabled={submitting} class="w-full flex justify-center py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 disabled:opacity-50" > {#if submitting} Sending... {:else} Send Message {/if} </button> </div> {#if submissionStatus === 'success'} <p class="text-sm text-green-600">Message sent successfully!</p> {:else if submissionStatus === 'error'} <p class="text-sm text-red-600">Failed to send message. Please fill all fields and try again.</p> {/if} </form> <style lang="postcss"> /* Add any additional styles if Tailwind utilities are not sufficient */ </style>

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/CaullenOmdahl/Tailwind-Svelte-Assistant'

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