Fix modules

This commit is contained in:
Logan Cusano
2025-07-13 19:53:36 -04:00
parent 7d3f08cae9
commit e7498a9f8b
5 changed files with 101 additions and 69 deletions

View File

@@ -1,5 +1,14 @@
'use client';
import { useState } from 'react';
import { useAuth } from '@/lib/auth';
import { apiRequest, API_URL } from '@/lib/api';
import { Button } from '@/components/ui/button';
import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';
import { Textarea } from '@/components/ui/textarea';
const VotingPage = () => {
const [video, setVideo] = useState(null);
const [video, setVideo] = useState<any>(null);
const [reason, setReason] = useState('');
const [message, setMessage] = useState('');
const [error, setError] = useState('');
@@ -12,17 +21,17 @@ const VotingPage = () => {
try {
const data = await apiRequest('/videos/vote-next', { token: auth.token });
setVideo(data);
} catch (err) {
} catch (err: any) {
setError(err.message);
}
};
const submitVote = async (decision) => {
const submitVote = async (decision: string) => {
if (!video) return;
setError('');
setMessage('');
try {
const body = { decision, reason, recommended_game: '' }; // Add recommended_game if needed
const body = { decision, reason, recommended_game: '' };
await apiRequest(`/videos/${video.id}/vote`, {
method: 'POST',
body,
@@ -31,7 +40,7 @@ const VotingPage = () => {
setMessage(`Vote '${decision}' submitted successfully!`);
setVideo(null);
setReason('');
} catch (err) {
} catch (err: any) {
setError(err.message);
}
};
@@ -60,8 +69,6 @@ const VotingPage = () => {
className="w-full rounded-lg bg-black"
controls
src={`${API_URL}/videos/${video.id}/stream?token=${auth.token}`}
// The token in query param is a simple way for this demo.
// In a real app, you might handle auth differently for media.
>
Your browser does not support the video tag.
</video>
@@ -84,4 +91,6 @@ const VotingPage = () => {
</Card>
</div>
);
};
};
export default VotingPage;