diff --git a/src/App.jsx b/src/App.jsx
index e0ad6cd..d9034f2 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -1,89 +1,7 @@
-import React, { useState, useEffect } from 'react';
-import PocketBase from 'pocketbase';
-import { useParams, BrowserRouter as Router, Route, Routes, Link } from 'react-router-dom';
-
-const pb = new PocketBase('https://db.out.jafre.li');
-
-const Home = () => {
- const [message, setMessage] = useState('');
- const [submitted, setSubmitted] = useState(false);
- const [error, setError] = useState(null);
-
- const handleSubmit = async (e) => {
- e.preventDefault();
- try {
- const data = { message };
- const record = await pb.collection('jbin').create(data);
- setSubmitted(record.id);
- } catch (err) {
- setError('Fehler beim Erstellen der Nachricht');
- }
- };
-
- return (
-
-
Nachricht erstellen
-
- {submitted && (
-
- Nachricht erstellt! Schaue sie dir hier an: /{submitted}
-
- )}
- {error &&
{error}
}
-
- );
-};
-
-const Message = () => {
- const { id } = useParams();
- const [message, setMessage] = useState(null);
- const [error, setError] = useState(null);
-
- useEffect(() => {
- const fetchMessage = async () => {
- try {
- const record = await pb.collection('jbin').getOne(id);
- setMessage(record.message);
- } catch (err) {
- setError('Nachricht nicht gefunden');
- }
- };
-
- fetchMessage();
- }, [id]);
-
- return (
-
- {error ? (
-
{error}
- ) : message ? (
- <>
-
Nachricht
-
{message}
- >
- ) : (
-
Lädt...
- )}
-
-
-
-
- );
-};
-
+import React from 'react';
+import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
+import Home from './components/Home';
+import Message from './components/Message';
const App = () => {
return (
@@ -96,4 +14,4 @@ const App = () => {
);
};
-export default App;
\ No newline at end of file
+export default App;
diff --git a/src/components/Home.jsx b/src/components/Home.jsx
new file mode 100644
index 0000000..ca83473
--- /dev/null
+++ b/src/components/Home.jsx
@@ -0,0 +1,36 @@
+import React, { useState } from 'react';
+import { Link } from 'react-router-dom';
+import PocketBase from 'pocketbase';
+import MessageForm from './MessageForm';
+
+const pb = new PocketBase('https://db.out.jafre.li');
+
+const Home = () => {
+ const [submitted, setSubmitted] = useState(false);
+ const [error, setError] = useState(null);
+
+ const handleSubmit = async (message) => {
+ try {
+ const data = { message };
+ const record = await pb.collection('jbin').create(data);
+ setSubmitted(record.id);
+ } catch (err) {
+ setError('Fehler beim Erstellen der Nachricht');
+ }
+ };
+
+ return (
+
+
Nachricht erstellen
+
+ {submitted && (
+
+ Nachricht erstellt! Schaue sie dir hier an: /{submitted}
+
+ )}
+ {error &&
{error}
}
+
+ );
+};
+
+export default Home;
diff --git a/src/components/MesageForm.jsx b/src/components/MesageForm.jsx
new file mode 100644
index 0000000..ce4c079
--- /dev/null
+++ b/src/components/MesageForm.jsx
@@ -0,0 +1,28 @@
+import React, { useState } from 'react';
+
+const MessageForm = ({ onSubmit }) => {
+ const [message, setMessage] = useState('');
+
+ const handleSubmit = (e) => {
+ e.preventDefault();
+ onSubmit(message);
+ setMessage('');
+ };
+
+ return (
+
+ );
+};
+
+export default MessageForm;
diff --git a/src/components/Message.jsx b/src/components/Message.jsx
new file mode 100644
index 0000000..8390b44
--- /dev/null
+++ b/src/components/Message.jsx
@@ -0,0 +1,46 @@
+import React, { useState, useEffect } from 'react';
+import PocketBase from 'pocketbase';
+import { useParams, Link } from 'react-router-dom';
+
+const pb = new PocketBase('https://db.out.jafre.li');
+
+const Message = () => {
+ const { id } = useParams();
+ const [message, setMessage] = useState(null);
+ const [error, setError] = useState(null);
+
+ useEffect(() => {
+ const fetchMessage = async () => {
+ try {
+ const record = await pb.collection('jbin').getOne(id);
+ setMessage(record.message);
+ } catch (err) {
+ setError('Nachricht nicht gefunden');
+ }
+ };
+
+ fetchMessage();
+ }, [id]);
+
+ return (
+
+ {error ? (
+
{error}
+ ) : message ? (
+ <>
+
Nachricht
+
{message}
+ >
+ ) : (
+
Lädt...
+ )}
+
+
+
+
+ );
+};
+
+export default Message;