<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mayank Prajapati</title>
    <description>The latest articles on DEV Community by Mayank Prajapati (@mayank_prajapati_f80a2b11).</description>
    <link>https://dev.to/mayank_prajapati_f80a2b11</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2148426%2F3b7f55df-6d00-4bd3-8b40-5f9c134fa31c.jpeg</url>
      <title>DEV Community: Mayank Prajapati</title>
      <link>https://dev.to/mayank_prajapati_f80a2b11</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mayank_prajapati_f80a2b11"/>
    <language>en</language>
    <item>
      <title>Orbit Workspace</title>
      <dc:creator>Mayank Prajapati</dc:creator>
      <pubDate>Thu, 24 Jul 2025 18:10:38 +0000</pubDate>
      <link>https://dev.to/mayank_prajapati_f80a2b11/orbit-workspace-3cg6</link>
      <guid>https://dev.to/mayank_prajapati_f80a2b11/orbit-workspace-3cg6</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/frontend/axero"&gt;Frontend Challenge: Office Edition sponsored by Axero, Holistic Webdev: Office Space&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I created the "&lt;strong&gt;Corporate Hub&lt;/strong&gt;," a modern and user-friendly intranet designed as a central platform for employees. It features a consistent, professional design across all modules to improve communication and engagement.&lt;/p&gt;

&lt;p&gt;The project includes several key pages:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Login &amp;amp; Sign-Up&lt;/strong&gt;: A secure, dual-function portal for user authentication and registration.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Employee Dashboard&lt;/strong&gt;: The main landing page featuring KPIs, a task manager, news and event feeds, an employee spotlight, and quick links.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Company News Management&lt;/strong&gt;: A module for creating, editing, and managing internal articles with filtering and categorization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Events Calendar Management&lt;/strong&gt;: A full-featured calendar with multiple views and event management capabilities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Employee Directory&lt;/strong&gt;: A searchable directory with grid/list views, advanced filtering, and a collapsible organization tree.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Team Spotlight Management&lt;/strong&gt;: A tool for creating and managing employee recognition features.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Notification Center&lt;/strong&gt;: A centralized hub for viewing and managing all alerts and messages, with filtering and bulk actions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User Preferences &amp;amp; Settings&lt;/strong&gt;: A personalized area for users to update their profile, customize their dashboard, and manage notification settings.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Admin Dashboard&lt;/strong&gt;: A comprehensive backend for managing users, content, system health, analytics, and live sessions.&lt;/p&gt;

&lt;p&gt;Overall, the "Corporate Hub" is a unified platform designed to be the digital heart of the company. &lt;/p&gt;

&lt;p&gt;Here's demo Link- &lt;a href="https://mayankprajapati17.github.io/corporate_intranet_hub.GitHub.io/" rel="noopener noreferrer"&gt;Demo&lt;/a&gt;&lt;br&gt;
 Here's Github Link-&lt;a href="https://github.com/mayankprajapati17/corporate_intranet_hub.GitHub.io" rel="noopener noreferrer"&gt;CODE&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;-&amp;gt;Dashboard page&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzor64okl7xct27jlgwme.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzor64okl7xct27jlgwme.png" alt=" " width="800" height="1104"&gt;&lt;/a&gt;&lt;br&gt;
-&amp;gt;Admin page&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7z7uvxnza6pcuc11g2jm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7z7uvxnza6pcuc11g2jm.png" alt=" " width="800" height="1182"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;p&gt;My process for creating the "Corporate Hub" was iterative, starting with a strong, consistent visual identity for a professional user experience. I strategically built the most complex page, the Admin Dashboard, first. This established the core data structures and functionalities for the entire platform.&lt;/p&gt;

&lt;p&gt;From there, I developed the employee-facing modules, including the dynamic Employee Dashboard and other interactive pages like the Events Calendar and Notification Center. Throughout this process, I focused on creating a clean, uncluttered UI to avoid information overload.&lt;/p&gt;

&lt;p&gt;A key lesson was the importance of modular design. Building each page as a self-contained module made development manageable and ensures the platform is scalable. The ultimate goal was to create a tool that is not just functional but also engaging and efficient for every employee .&lt;/p&gt;

&lt;p&gt;This work is licensed under a &lt;a href="https://creativecommons.org/licenses/by-nc/4.0/" rel="noopener noreferrer"&gt;Creative Commons Attribution-NonCommercial 4.0 License&lt;/a&gt;. This means that you are free to copy, reuse, and modify the drawing (non-commercially) as long as you give appropriate credit to the author.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>frontendchallenge</category>
      <category>css</category>
      <category>javascript</category>
    </item>
    <item>
      <title>FitFusion AI</title>
      <dc:creator>Mayank Prajapati</dc:creator>
      <pubDate>Sat, 22 Mar 2025 09:51:10 +0000</pubDate>
      <link>https://dev.to/mayank_prajapati_f80a2b11/fitfusion-ai-20g0</link>
      <guid>https://dev.to/mayank_prajapati_f80a2b11/fitfusion-ai-20g0</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/kendoreact"&gt;KendoReact Free Components Challenge&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;FitFusionAI is an AI-driven fitness application aimed at transforming the way users approach their health and wellness journey. The project combines cutting-edge technology, sleek design, and intelligent features to deliver a comprehensive fitness platform.With the help of 12 kendo react component&lt;/p&gt;

&lt;p&gt;Here’s an overview of the project:&lt;/p&gt;

&lt;h2&gt;
  
  
  AI Chatbot
&lt;/h2&gt;

&lt;p&gt;: A core feature of FitFusionAI is its intelligent chatbot powered by the Gemini API. The chatbot assists users by providing tailored advice on fitness routines, nutrition, and general wellness.&lt;/p&gt;

&lt;h2&gt;
  
  
  KendoReact UI Components
&lt;/h2&gt;

&lt;p&gt;: FitFusionAI utilizes various KendoReact components to enhance the user interface. These include common utilities, animations, buttons, dialogs, dropdowns, indicators, inputs, labels, layouts, notifications, progress bars, and date inputs—offering a smooth and intuitive experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Personalized Fitness Plans
&lt;/h2&gt;

&lt;p&gt;: The application employs AI algorithms to create workout plans that align with individual fitness goals, whether it's weight loss, muscle building, or improving endurance.&lt;/p&gt;

&lt;h2&gt;
  
  
  Progress Tracking:
&lt;/h2&gt;

&lt;p&gt;Users can monitor their fitness journey using dynamic graphs and stats, visualized beautifully with KendoReact Charts and Progress Bars.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scheduling Feature:
&lt;/h2&gt;

&lt;p&gt;With KendoReact Scheduler, users can efficiently plan their workout routines and stay organized.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tech Stack:
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Frontend&lt;/strong&gt;: Built using React.js and Vite for a fast, scalable, and interactive user experience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Backend&lt;/strong&gt;: Node.js with Express (or the backend of your choice) for robust server-side functionality.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deployment:&lt;/strong&gt; Hosted on Vercel for seamless performance and accessibility.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Styling:&lt;/strong&gt; Implements responsive design using CSS3 to ensure adaptability across devices.&lt;/p&gt;

&lt;p&gt;This project reflects a fusion of intelligent automation, user-centric design, and modern web technologies to create a versatile and impactful fitness solution. It’s built to simplify fitness management and provide users with a highly personalized and interactive experience. &lt;/p&gt;

&lt;h3&gt;
  
  
  Demo
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://fit-fusion-ai-delta.vercel.app/" rel="noopener noreferrer"&gt;https://fit-fusion-ai-delta.vercel.app/&lt;/a&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo89jb2lpd4dal8msqyaf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo89jb2lpd4dal8msqyaf.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs2llah2nb35tvt3ja2xe.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs2llah2nb35tvt3ja2xe.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffc59hak94mgo1h67vcqz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffc59hak94mgo1h67vcqz.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu9uof2ikoc1x173kub9u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu9uof2ikoc1x173kub9u.png" alt="Image description" width="800" height="662"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7cb3cmbbceqhz8q3q2ic.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7cb3cmbbceqhz8q3q2ic.png" alt="Image description" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhtsmumtefrjkv46yealp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhtsmumtefrjkv46yealp.png" alt="Image description" width="800" height="804"&gt;&lt;/a&gt; &lt;br&gt;
&lt;a href="https://github.com/mayankprajapati17/FitFusionAI" rel="noopener noreferrer"&gt;https://github.com/mayankprajapati17/FitFusionAI&lt;/a&gt; &lt;/p&gt;
&lt;h2&gt;
  
  
  KendoReact Experience
&lt;/h2&gt;

&lt;p&gt;FitFusionAI successfully harnessed the power of free KendoReact components to deliver a polished and user-friendly application experience. Here's how these components were leveraged:&lt;br&gt;
1   &lt;strong&gt;Button&lt;/strong&gt;: Enabled interactive and responsive elements for navigating the app effortlessly.(used in profile.tsx)(used in workoutform.tsx)&lt;br&gt;
2  &lt;strong&gt;Dialog&lt;/strong&gt;: Facilitated user interaction through informative popups, alerts, and confirmation dialogs.(used in workoutform.tsx)&lt;br&gt;
3 &lt;strong&gt;Dropdown&lt;/strong&gt;: Streamlined data selection processes with intuitive dropdown menus.(used in workoutform.tsx)&lt;br&gt;
4 &lt;strong&gt;Indicator&lt;/strong&gt;: Provided visual cues for actions and application statuses.(used in GymChatbot.tsx)&lt;br&gt;
5 &lt;strong&gt;Input&lt;/strong&gt;: Integrated versatile input fields for data entry, ensuring easy and efficient user interaction.(used in profile.tsx)&lt;br&gt;
6 &lt;strong&gt;Label&lt;/strong&gt;: Ensured clear and descriptive labeling for all form elements, improving accessibility and usability.(used in profile.tsx)&lt;br&gt;
7 &lt;strong&gt;Layout&lt;/strong&gt;: Organized the application's content effectively, delivering a structured and user-friendly design.(used in profile.tsx)&lt;br&gt;
8 &lt;strong&gt;Notification&lt;/strong&gt;: Displayed real-time messages to alert users about updates or actions taken within the app. (used in index.tsx)&lt;br&gt;
9 &lt;strong&gt;Progress Bar&lt;/strong&gt;: Offered a visual representation of progress, enhancing tracking features and user motivation.(used in progresschart.tsx)&lt;br&gt;
10 &lt;strong&gt;Date Input&lt;/strong&gt;: Simplified date selection with an easy-to-use and responsive date input component.(used in workoutform.tsx)&lt;br&gt;
11 &lt;strong&gt;Common Utilities&lt;/strong&gt;: Simplified application logic with shared functionality for seamless data handling.(used in footer.tsx)&lt;br&gt;
12  &lt;strong&gt;Animation&lt;/strong&gt;: Added engaging and dynamic transitions to enhance user experience and make the interface visually appealing.(used in GymChatbot.tsx)&lt;/p&gt;

&lt;p&gt;By incorporating these components, FitFusionAI achieved a blend of functionality and aesthetic appeal, ensuring that users have a smooth and engaging experience throughout their fitness journey. Let me know if you'd like more specific details about how each component contributed to the project's design and implementation! &lt;/p&gt;
&lt;h2&gt;
  
  
  Innovation in UI Design
&lt;/h2&gt;

&lt;p&gt;FitFusionAI uses sleek KendoReact components like animations, notifications, and layouts for an engaging user interface.&lt;/p&gt;

&lt;p&gt;-Integration Excellence&lt;br&gt;
The Gemini API powers a responsive AI chatbot, providing tailored fitness guidance.&lt;/p&gt;

&lt;p&gt;-Accessibility&lt;br&gt;
Clear labels, intuitive inputs, and layouts ensure inclusivity for diverse users.&lt;/p&gt;

&lt;p&gt;-Best Use of KendoReact Components&lt;br&gt;
Key components include Progress Bar, Dialog, Date Input, and Notification, showcasing versatility.&lt;/p&gt;

&lt;p&gt;-Performance Optimization&lt;br&gt;
Built with React.js and Vite, hosted on Vercel, ensuring speed and efficiency.&lt;/p&gt;

&lt;p&gt;-AI Application&lt;br&gt;
AI-driven personalization with Gemini API enhances user experience. &lt;/p&gt;
&lt;h3&gt;
  
  
  AIm to Impress
&lt;/h3&gt;

&lt;p&gt;FitFusionAI seamlessly integrates GenAI technology through the Gemini API to power an intelligent AI chatbot. This chatbot enhances user engagement by providing:&lt;/p&gt;

&lt;p&gt;-Tailored Fitness Guidance: Personalized advice on workout routines, nutrition, and health goals based on user input.&lt;/p&gt;

&lt;p&gt;-Real-time Interaction: Instant responses to fitness-related queries, creating a conversational and intuitive experience.&lt;/p&gt;

&lt;p&gt;-Enhanced Personalization: Leveraging AI to adapt suggestions and plans uniquely for each user.&lt;/p&gt;

&lt;p&gt;-This integration showcases how GenAI elevates the functionality and user-centric design of FitFusionAI.  &lt;/p&gt;

&lt;p&gt;Here is sample code block of File Workoutform.tsx that uses  6 kendo react component&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { Button } from '@progress/kendo-react-buttons';       //Imported kendo button
import { DatePicker } from '@progress/kendo-react-dateinputs';    //Imported kendo dateinput
import { Dialog, DialogActionsBar } from '@progress/kendo-react-dialogs';   //Imported kendo dialogs
import { DropDownList } from '@progress/kendo-react-dropdowns';             //Imported kendo dropdowns
import { Input, NumericTextBox, TextArea } from '@progress/kendo-react-inputs';     //Imported kendoimported inputs
import { FloatingLabel } from '@progress/kendo-react-labels';                      //Imported kendo FloatingLabel
import React, { useState } from 'react';
import { ExerciseType, WorkoutFormData } from '../types/workout';

interface WorkoutFormProps {
  onSubmit: (data: WorkoutFormData) =&amp;gt; void;
  onCancel: () =&amp;gt; void;
  isOpen: boolean;
}

const WorkoutForm: React.FC&amp;lt;WorkoutFormProps&amp;gt; = ({ onSubmit, onCancel, isOpen }) =&amp;gt; {
  const [formData, setFormData] = useState&amp;lt;WorkoutFormData&amp;gt;({
    exerciseName: '',
    exerciseType: 'Strength',
    date: new Date().toISOString().split('T')[0],
    reps: 0,
    sets: 0,
    weight: 0,
    duration: 0,
    notes: '',
  });

  const exerciseTypes: ExerciseType[] = ['Strength', 'Cardio', 'Flexibility'];

  const handleChange = (fieldName: keyof WorkoutFormData, value: string | number | undefined) =&amp;gt; {
    setFormData((prev) =&amp;gt; ({ ...prev, [fieldName]: value }));
  };

  const handleDateChange = (e: { value: Date | null }) =&amp;gt; {
    if (e.value) {
      const date = new Date(e.value);
      setFormData((prev) =&amp;gt; ({
        ...prev,
        date: date.toISOString().split('T')[0],
      }));
    }
  };

  const handleSubmit = () =&amp;gt; {
    onSubmit(formData);
    setFormData({
      exerciseName: '',
      exerciseType: 'Strength',
      date: new Date().toISOString().split('T')[0],
      reps: 0,
      sets: 0,
      weight: 0,
      duration: 0,
      notes: '',
    });
  };

  const handleClear = () =&amp;gt; {
    setFormData({
      exerciseName: '',
      exerciseType: 'Strength',
      date: new Date().toISOString().split('T')[0],
      reps: 0,
      sets: 0,
      weight: 0,
      duration: 0,
      notes: '',
    });
  };

  if (!isOpen) return null;

  return (
    &amp;lt;Dialog title="Log New Workout" onClose={onCancel} width={600}&amp;gt;
      &amp;lt;div className="p-6 space-y-6"&amp;gt;
        &amp;lt;div className="grid grid-cols-1 md:grid-cols-2 gap-6"&amp;gt;
          &amp;lt;div&amp;gt;
            &amp;lt;FloatingLabel
              label="Exercise Name"
              editorId="exerciseName"
              editorValue={formData.exerciseName}
            &amp;gt;
              &amp;lt;Input
                id="exerciseName"
                value={formData.exerciseName}
                onChange={(e) =&amp;gt; handleChange('exerciseName', e.value)}
                placeholder="e.g. Push-ups"
                required
              /&amp;gt;
            &amp;lt;/FloatingLabel&amp;gt;
          &amp;lt;/div&amp;gt;

          &amp;lt;div&amp;gt;
            &amp;lt;FloatingLabel
              label="Exercise Type"
              editorId="exerciseType"
              editorValue={formData.exerciseType}
            &amp;gt;
              &amp;lt;DropDownList
                id="exerciseType"
                data={exerciseTypes}
                value={formData.exerciseType}
                onChange={(e) =&amp;gt; handleChange('exerciseType', e.value)}
              /&amp;gt;
            &amp;lt;/FloatingLabel&amp;gt;
          &amp;lt;/div&amp;gt;

          &amp;lt;div&amp;gt;
            &amp;lt;FloatingLabel
              label="Date"
              editorId="date"
              editorValue={formData.date}
            &amp;gt;
              &amp;lt;DatePicker
                id="date"
                value={new Date(formData.date)}
                onChange={handleDateChange}
                format="MMMM d, yyyy"
              /&amp;gt;
            &amp;lt;/FloatingLabel&amp;gt;
          &amp;lt;/div&amp;gt;

          &amp;lt;div&amp;gt;
            &amp;lt;FloatingLabel
              label="Repetitions"
              editorId="reps"
              editorValue={formData.reps.toString()}
            &amp;gt;
              &amp;lt;NumericTextBox
                id="reps"
                value={formData.reps}
                onChange={(e) =&amp;gt; handleChange('reps', e.value ?? 0)}
                min={0}
                placeholder="e.g. 12"
              /&amp;gt;
            &amp;lt;/FloatingLabel&amp;gt;
          &amp;lt;/div&amp;gt;

          &amp;lt;div&amp;gt;
            &amp;lt;FloatingLabel
              label="Sets"
              editorId="sets"
              editorValue={formData.sets.toString()}
            &amp;gt;
              &amp;lt;NumericTextBox
                id="sets"
                value={formData.sets}
                onChange={(e) =&amp;gt; handleChange('sets', e.value ?? 0)}
                min={0}
                placeholder="e.g. 3"
              /&amp;gt;
            &amp;lt;/FloatingLabel&amp;gt;
          &amp;lt;/div&amp;gt;

          &amp;lt;div&amp;gt;
            &amp;lt;FloatingLabel
              label="Weight (kg)"
              editorId="weight"
              editorValue={formData.weight.toString()}
            &amp;gt;
              &amp;lt;NumericTextBox
                id="weight"
                value={formData.weight}
                onChange={(e) =&amp;gt; handleChange('weight', e.value ?? 0)}
                min={0}
                step={0.5}
                placeholder="e.g. 50"
              /&amp;gt;
            &amp;lt;/FloatingLabel&amp;gt;
          &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;div&amp;gt;
          &amp;lt;FloatingLabel
            label="Notes"
            editorId="notes"
            editorValue={formData.notes || ''}
          &amp;gt;
            &amp;lt;TextArea
              id="notes"
              value={formData.notes || ''}
              onChange={(e) =&amp;gt; handleChange('notes', e.value)}
              placeholder="Add any additional information here..."
              rows={3}
            /&amp;gt;
          &amp;lt;/FloatingLabel&amp;gt;
        &amp;lt;/div&amp;gt;
      &amp;lt;/div&amp;gt;

      &amp;lt;DialogActionsBar&amp;gt;
        &amp;lt;Button
          className="k-button k-button-md k-button-solid k-button-solid-base"
          onClick={handleClear}
        &amp;gt;
          Clear
        &amp;lt;/Button&amp;gt;
        &amp;lt;Button
          className="k-button k-button-md k-button-solid k-button-solid-primary"
          onClick={handleSubmit}
        &amp;gt;
          Save Workout
        &amp;lt;/Button&amp;gt;
      &amp;lt;/DialogActionsBar&amp;gt;
    &amp;lt;/Dialog&amp;gt;
  );
};

export default WorkoutForm;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Thanks for participating&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>kendoreactchallenge</category>
      <category>react</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
