From 89e465ed120d578d7702f15b04edd5aec0152995 Mon Sep 17 00:00:00 2001 From: m5rcel { Marcel } Date: Fri, 5 Dec 2025 13:19:05 +0100 Subject: [PATCH] feat: Improve loading, error handling, and console output Adds a loading animation fade-in and reduces initial loading time. Suppresses Tailwind CDN production warnings in the console for a cleaner developer experience. Enhances error messages for missing API keys and API communication failures, providing more specific guidance. Removes redundant content from README.md and updates the banner image reference. Sets body overflow to hidden to prevent unwanted scrolling and ensures the application handles its own scroll. --- App.tsx | 11 ++-- README.md | 132 ++++---------------------------------- index.html | 12 ++++ services/geminiService.ts | 15 ++--- 4 files changed, 35 insertions(+), 135 deletions(-) diff --git a/App.tsx b/App.tsx index ae386e2..cf24a46 100644 --- a/App.tsx +++ b/App.tsx @@ -12,24 +12,23 @@ const App: React.FC = () => { // Simulate initial asset loading const timer = setTimeout(() => { setIsLoading(false); - }, 1500); + }, 1000); return () => clearTimeout(timer); }, []); if (isLoading) { return ( -
-
+
+
{/* Simple Logo Placeholder */} -
+
-
Starting...
-
Connecting to Discord-Style Interface
+
Starting Discord AI...
); } diff --git a/README.md b/README.md index 231b6a1..1ac3f43 100644 --- a/README.md +++ b/README.md @@ -1,130 +1,20 @@
- - - - Discord AI Chat Banner - -
-
- - # 🤖 Discord-Style Gemini AI Temporary Chatbot Page - - **A pixel-perfect recreation of the modern Discord UI, powered by Google's Gemini AI. Messages do not get saved after refreshing the page.** - -

- Key Features • - Tech Stack • - Getting Started • - Configuration -

- - -

- React - TypeScript - Tailwind - Gemini -

+GHBanner
---- +# Run and deploy your AI Studio app -## 📖 About The Project +This contains everything you need to run your app locally. -This project is a fully functional web-based chat interface that meticulously recreates the look and feel of Discord's Direct Message (DM) UI. It connects to the **Google Gemini API** to provide an intelligent, conversational AI bot that acts just like a user in your DMs. +View your app in AI Studio: https://ai.studio/apps/drive/1--JasS0nNpTl-PmY3TkDkX8eL8Omwi5n -It features the latest Discord design trends, including the dark theme palette, rounded UI elements, "Nitro" style gradient profiles, and custom role badges. +## Run Locally -## ✨ Key Features +**Prerequisites:** Node.js -* **🎨 Authentic UI/UX:** Custom-built components mimicking Discord's Chat, Sidebar, and Profile views. -* **🧠 Powered by Gemini:** Real-time conversational AI using the `gemini-2.5-flash` model. -* **💎 Premium Aesthetics:** - * Nitro-style animated gradient themes for profiles. - * Full-screen User Profile Modals with banners. - * Mini-profile popouts on click. -* **📝 Rich Text Support:** Full Markdown rendering (Bold, Italic, Code Blocks) for AI responses. -* **🏷️ Custom Badges:** Includes high-quality assets for "Verified AI", "Staff", "Bug Hunter", and "Nitro" badges. -* **⚡ Responsive Design:** Mobile-friendly layout (Sidebar collapses on smaller screens). -* **🎬 Smooth Animations:** Custom CSS keyframes for fade-ins, scale-ups, and slide transitions. -## 📸 Screenshots - - - -| **Main Chat Interface** | **Profile Popout (Nitro Style)** | -|:---:|:---:| -| Main Chat | Mini Profile | - -| **Full Profile Modal** | **Sidebar Preview** | -|:---:|:---:| -| Full Profile | Sidebar | - -## 🛠️ Tech Stack - -* **Frontend Framework:** React 19 -* **Language:** TypeScript -* **Styling:** Tailwind CSS + Vanilla CSS (for custom scrollbars & animations) -* **Icons:** Lucide React -* **AI Integration:** @google/genai SDK -* **Markdown:** react-markdown - -## 🚀 Getting Started - -To get a local copy up and running, follow these simple steps. - -### Prerequisites - -* Node.js (v18 or higher) -* npm or yarn - -### Installation - -1. **Clone the repo** - ```sh - git clone https://github.com/yourusername/discord-ai-chat.git - ``` -2. **Install NPM packages** - ```sh - npm install - ``` -3. **Set up your API Key** - * Create a `.env` file in the root directory. - * Add your Google Gemini API key: - ```env - API_KEY=your_google_gemini_api_key_here - ``` - *(Note: You can get an API key from [Google AI Studio](https://aistudio.google.com/))* - -4. **Run the application** - ```sh - npm run dev - ``` - -## 🎨 Customization - -You can easily customize the bot's personality or the UI assets: - -* **Bot Persona:** Edit the `systemInstruction` in `services/geminiService.ts`. -* **Images/Assets:** Updated URLs in `components/ChatArea.tsx` and `components/UserProfileSidebar.tsx`. -* **Badges:** Add or remove badges in `components/Badges.tsx`. - -## 🤝 Contributing - -Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**. - -1. Fork the Project -2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) -3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) -4. Push to the Branch (`git push origin feature/AmazingFeature`) -5. Open a Pull Request - -## 📝 License - -Distributed under the MIT License, however it may be a risk to use it, since it mimics the real look of Discord and may get you in trouble. See `LICENSE` for more information. - ---- - -
-

Made with ❤️ and patience by m5rcel using React & Gemini

-
+1. Install dependencies: + `npm install` +2. Set the `GEMINI_API_KEY` in [.env.local](.env.local) to your Gemini API key +3. Run the app: + `npm run dev` diff --git a/index.html b/index.html index ee76bba..2b940a5 100644 --- a/index.html +++ b/index.html @@ -4,6 +4,16 @@ Discord-Style AI Chat + +