Files
Kontrollverlust/frontend/src/pages/FeedPage.tsx
T
irrlichtandClaude Opus 5.5 df0cfec132 Code-Review: tote Stellen entfernt, Umwege vereinfacht
- SQLite-Import, migrate.sh, notes/migrations.md und altes jQuery-Skript entfernt
- Backend: scanEntry/queryEntries statt doppelter Scan-Liste, Feed-Queries
  direkt statt feedWhere, Thread ohne Map-Umweg, gemeinsame Helfer für
  Cookie-Löschen und Mediennamen, usernameTaken
- Frontend: PostForm für Beitrag und Antwort, EntryCard in Deleted/LiveCard
  aufgeteilt, tote CSS-Regeln und Typen entfernt, Strich-Regeln zusammengelegt
- Rechtstexte verlinken /stats; Kommentare ohne Vorgeschichte

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TiXsPUqw7oeomZ8wZrQW5q
2026-09-27 15:03:22 +02:00

35 lines
1020 B
TypeScript

import { useQueryClient } from "@tanstack/react-query";
import { useMe } from "../auth";
import { AuthBox } from "../components/AuthBox";
import { Feed } from "../components/Feed";
import { PostForm } from "../components/PostForm";
// Solange der Anmeldestatus noch lädt, weder Login noch Formular zeigen --
// sonst blitzt bei Angemeldeten kurz die Login-Box auf.
export function FeedPage() {
const me = useMe();
return (
<>
{me.isSuccess && (me.data ? <Compose /> : <AuthBox />)}
<Feed queryKey={["feed"]} urlFor={(page) => `/entry/feed/${page}`} />
</>
);
}
// Nach einem neuen Beitrag springt der Feed zurück auf Seite 0, damit er oben
// steht.
function Compose() {
const qc = useQueryClient();
return (
<section id="compose">
<PostForm
rows={4}
placeholder="Was gibt's Neues?"
submitLabel="Eintrag erstellen"
fallback="Beitrag fehlgeschlagen."
onDone={() => qc.resetQueries({ queryKey: ["feed"] })}
/>
</section>
);
}