17 window.addEventListener('offline', handleOffline);
18
19 fetchBusinesses();
20
21 return () => {
28 const handleOffline = () => setIsOffline(true);
29
30 const fetchBusinesses = async () => {
31 try {
32 const response = await fetch("/businesses");
33 const data = await response.json();
34 setBusinesses(data);
35 } catch (error) {
36 console.error("Error fetching businesses:", error);
37 }
38 };
46
47 try {
48 const response = await fetch("/businesses", {
49 method: "POST",
50 headers: { "Content-Type": "application/json" },
53
54 if (response.ok) {
55 fetchBusinesses();
56 setNewBusiness({ name: "", revenue: "", employees: "" });
57 }
185 });
186
187 self.addEventListener('fetch', (event) => {
188 event.respondWith(
189 caches.match(event.request)
192 return response;
193 }
194 return fetch(event.request);
195 })
196 );
12
13 useEffect(() => {
14 fetchBusinesses();
15 }, []);
16
17 const fetchBusinesses = async () => {
18 try {
19 const response = await fetch("/businesses");
20 const data = await response.json();
21 setBusinesses(data);
22 } catch (error) {
23 console.error("Error fetching businesses:", error);
24 }
25 };
28 e.preventDefault();
29 try {
30 const response = await fetch("/businesses", {
31 method: "POST",
32 headers: { "Content-Type": "application/json" },
35
36 if (response.ok) {
37 fetchBusinesses();
38 setNewBusiness({ name: "", revenue: "", employees: "" });
39 }
182
183 try {
184 const response = await fetch("/", {
185 method: "POST",
186 body: JSON.stringify({
182
183 try {
184 const response = await fetch("/", {
185 method: "POST",
186 body: JSON.stringify({
8
9 useEffect(() => {
10 fetchMessages();
11 }, []);
12
13 async function fetchMessages() {
14 const response = await fetch('/messages');
15 const data = await response.json();
16 setMessages(data);
21 if (!newMessage.trim()) return;
22
23 await fetch('/send', {
24 method: 'POST',
25 body: JSON.stringify({ content: newMessage }),
28
29 setNewMessage('');
30 fetchMessages();
31 }
32
183
184 try {
185 const response = await fetch("/", {
186 method: "POST",
187 body: JSON.stringify({
183
184 try {
185 const response = await fetch("/", {
186 method: "POST",
187 body: JSON.stringify({
182
183 try {
184 const response = await fetch("/", {
185 method: "POST",
186 body: JSON.stringify({
8
9 useEffect(() => {
10 fetchItems();
11 }, []);
12
13 const fetchItems = async () => {
14 const response = await fetch("/items");
15 const data = await response.json();
16 setItems(data);
21 if (!newItem.trim()) return;
22
23 await fetch("/add-item", {
24 method: "POST",
25 headers: { "Content-Type": "application/json" },
28
29 setNewItem("");
30 fetchItems();
31 };
32
33 const removeItem = async (id) => {
34 await fetch(`/remove-item/${id}`, { method: "DELETE" });
35 fetchItems();
36 };
37
8
9 useEffect(() => {
10 fetchItems();
11 }, []);
12
13 const fetchItems = async () => {
14 const response = await fetch("/items");
15 const data = await response.json();
16 setItems(data);
21 if (!newItem.trim()) return;
22
23 await fetch("/add-item", {
24 method: "POST",
25 headers: { "Content-Type": "application/json" },
28
29 setNewItem("");
30 fetchItems();
31 };
32
33 const removeItem = async (id) => {
34 await fetch(`/remove-item/${id}`, { method: "DELETE" });
35 fetchItems();
36 };
37