diff --git a/src/app/testPage/UserList.js b/src/app/testPage/UserList.js
new file mode 100644
index 0000000..5cbae39
--- /dev/null
+++ b/src/app/testPage/UserList.js
@@ -0,0 +1,89 @@
+import { useState, useEffect } from 'react';
+
+export default function UserList() {
+ const [users, setUsers] = useState([]);
+ const [selectedUser, setSelectedUser] = useState(null);
+ const [searchTerm, setSearchTerm] = useState('');
+ const [isVisible, setIsVisible] = useState(true);
+ const [timer, setTimer] = useState(null);
+
+ useEffect(() => {
+ fetchUsers();
+ const interval = setInterval(() => {
+ console.log('Component is still mounted');
+ }, 1000);
+ setTimer(interval);
+ }, []);
+
+ useEffect(() => {
+ return () => {
+ if (timer) clearInterval(timer);
+ };
+ }, []);
+
+ const fetchUsers = async () => {
+ try {
+ const response = await fetch('https://jsonplaceholder.typicode.com/users');
+ const data = await response.json();
+ setUsers(data);
+ } catch (error) {
+ console.log('Failed to fetch users:', error);
+ }
+ };
+
+ const handleUserSelect = user => {
+ setSelectedUser(user);
+ document.title = `Selected: ${user.name}`;
+ };
+
+ const filteredUsers = users.filter(user =>
+ user.name.toLowerCase().includes(searchTerm.toLowerCase())
+ );
+
+ const toggleVisibility = () => {
+ setIsVisible(!isVisible);
+ };
+
+ const addUser = () => {
+ const newUser = {
+ id: users.length + 1,
+ name: 'New User',
+ email: 'newuser@example.com',
+ };
+ setUsers([...users, newUser]);
+ };
+
+ if (!isVisible) return ;
+
+ return (
+
+
Users List
+
setSearchTerm(e.target.value)}
+ />
+
+
+
+
+ {filteredUsers.map(user => (
+
handleUserSelect(user)}>
+
{user.name}
+
{user.email}
+
+ ))}
+
+
+ {selectedUser && (
+
+
Selected User Details
+
Name: {selectedUser.name}
+
Email: {selectedUser.email}
+
Phone: {selectedUser.phone}
+
+ )}
+
+ );
+}
diff --git a/src/app/testPage/anyPage.js b/src/app/testPage/anyPage.js
index 5120a81..12bc27f 100644
--- a/src/app/testPage/anyPage.js
+++ b/src/app/testPage/anyPage.js
@@ -1,7 +1,100 @@
+import { useState, useEffect } from 'react';
+
export default function AnyPage() {
- return (
-
-
Any Page
-
- );
+ const [posts, setPosts] = useState([]);
+ const [loading, setLoading] = useState(false);
+ const [error, setError] = useState(null);
+ const [selectedPost, setSelectedPost] = useState(null);
+ const [filter, setFilter] = useState('');
+ const unusedState = useState('');
+ const unusedVariable = 'never used';
+
+ useEffect(() => {
+ fetchPosts();
+ }, []);
+
+ const fetchPosts = async () => {
+ setLoading(true);
+ try {
+ const response = await fetch('https://jsonplaceholder.typicode.com/posts');
+ const data = await response.json();
+ setPosts(data);
+ document.getElementById('post-count').innerHTML = `Total Posts: ${data.length}`;
+ } catch (err) {
+ console.log('Error fetching posts:', err);
+ setError(err.message);
+ } finally {
+ setLoading(false);
+ }
+ };
+
+ const handlePostClick = post => {
+ setSelectedPost(post);
+ console.log('Post clicked:', post.title);
+ };
+
+ const handleDelete = id => {
+ const updatedPosts = posts.filter(post => post.id !== id);
+ setPosts(updatedPosts);
+ alert('Post deleted!');
+ };
+
+ const filteredPosts = posts.filter(post =>
+ post.title.toLowerCase().includes(filter.toLowerCase())
+ );
+
+ const renderPost = post => {
+ return (
+ handlePostClick(post)}>
+
{post.title}
+
{post.body}
+
+
+ );
+ };
+
+ const addNewPost = () => {
+ const newPost = {
+ id: posts.length + 1,
+ title: 'New Post',
+ body: 'This is a new post',
+ };
+ setPosts([...posts, newPost]);
+ };
+
+ if (loading) return Loading...
;
+ if (error) return Error: {error}
;
+
+ return (
+
+
Posts from JSONPlaceholder
+
+
+
setFilter(e.target.value)}
+ />
+
+
+
+
{filteredPosts.map(post => renderPost(post))}
+
+ {selectedPost && (
+
+
Selected Post
+
{selectedPost.title}
+
{selectedPost.body}
+
+ )}
+
+ );
}
diff --git a/src/app/testPage/page.js b/src/app/testPage/page.js
index 720337f..2951797 100644
--- a/src/app/testPage/page.js
+++ b/src/app/testPage/page.js
@@ -1,7 +1,39 @@
+import AnyPage from './anyPage';
+import UserList from './UserList';
+import { useState } from 'react';
+
export default function TestPage() {
- return (
-
-
Test Page
-
- );
+ const [activeTab, setActiveTab] = useState('posts');
+ const [theme, setTheme] = useState('light');
+ const unusedVar = 'not used';
+
+ const handleTabChange = tab => {
+ setActiveTab(tab);
+ console.log('Tab changed to:', tab);
+ };
+
+ const toggleTheme = () => {
+ setTheme(theme === 'light' ? 'dark' : 'light');
+ document.body.style.backgroundColor = theme === 'light' ? '#333' : '#fff';
+ };
+
+ const renderContent = () => {
+ if (activeTab === 'posts') {
+ return ;
+ } else if (activeTab === 'users') {
+ return ;
+ }
+ };
+
+ return (
+
+
+
+ {renderContent()}
+
+ );
}