diff --git a/web/containers/Loader/GenerateResponse.test.tsx b/web/containers/Loader/GenerateResponse.test.tsx
deleted file mode 100644
index 7e3e5c3a4..000000000
--- a/web/containers/Loader/GenerateResponse.test.tsx
+++ /dev/null
@@ -1,75 +0,0 @@
-// GenerateResponse.test.tsx
-import React from 'react';
-import { render, screen, act } from '@testing-library/react';
-import '@testing-library/jest-dom';
-import GenerateResponse from './GenerateResponse';
-
-jest.useFakeTimers();
-
-describe('GenerateResponse Component', () => {
- it('renders initially with 1% loader width', () => {
- render();
- const loader = screen.getByTestId('response-loader');
- expect(loader).toHaveStyle('width: 24%');
- });
-
- it('updates loader width over time', () => {
- render();
- const loader = screen.getByTestId('response-loader');
-
- // Advance timers to simulate time passing
- act(() => {
- jest.advanceTimersByTime(1000);
- });
-
- expect(loader).not.toHaveStyle('width: 1%');
- expect(parseFloat(loader.style.width)).toBeGreaterThan(1);
- });
-
- it('pauses at specific percentages', () => {
- render();
- const loader = screen.getByTestId('response-loader');
-
- // Advance to 24%
- act(() => {
- for (let i = 0; i < 24; i++) {
- jest.advanceTimersByTime(50);
- }
- });
-
- expect(loader).toHaveStyle('width: 50%');
-
- // Advance past the pause
- act(() => {
- jest.advanceTimersByTime(300);
- });
-
- expect(loader).toHaveStyle('width: 78%');
- });
-
- it('stops at 85%', () => {
- render();
- const loader = screen.getByTestId('response-loader');
-
- // Advance to 50%
- act(() => {
- for (let i = 0; i < 85; i++) {
- jest.advanceTimersByTime(50);
- }
- });
-
- expect(loader).toHaveStyle('width: 50%');
-
- // Check if it stays at 78%
- act(() => {
- jest.advanceTimersByTime(1000);
- });
-
- expect(loader).toHaveStyle('width: 78%');
- });
-
- it('displays the correct text', () => {
- render();
- expect(screen.getByText('Generating response...')).toBeInTheDocument();
- });
-});
diff --git a/web/containers/Loader/GenerateResponse.tsx b/web/containers/Loader/GenerateResponse.tsx
index 7f23d73ea..d43c8cab9 100644
--- a/web/containers/Loader/GenerateResponse.tsx
+++ b/web/containers/Loader/GenerateResponse.tsx
@@ -1,5 +1,7 @@
import React, { useEffect, useState } from 'react'
+import { motion as m } from 'framer-motion'
+
export default function GenerateResponse() {
const [loader, setLoader] = useState(0)
@@ -28,10 +30,17 @@ export default function GenerateResponse() {
return (
diff --git a/web/containers/Loader/ModelStart.tsx b/web/containers/Loader/ModelStart.tsx
index 4979bbb33..cad8afab0 100644
--- a/web/containers/Loader/ModelStart.tsx
+++ b/web/containers/Loader/ModelStart.tsx
@@ -1,5 +1,7 @@
import React, { useEffect, useState } from 'react'
+import { motion as m } from 'framer-motion'
+
import { useActiveModel } from '@/hooks/useActiveModel'
export default function ModelStart() {
@@ -37,10 +39,17 @@ export default function ModelStart() {
return (
-
{stateModel.state === 'start' ? 'Starting' : 'Stopping'}