[Client] My Requests
Overview
Clients can view all their text-to-audio requests in one place. The page displays request status, creation date, and quick access to individual request details.
Access: Client login required
Purpose: Track submitted requests and their processing status
Key Actions:
- View all personal requests
- Filter by status (pending, processing, done)
- Click request to view details
Live Preview
My Requests
Track your text-to-audio requests
Showing 3 of 12 requests
The following features are planned for Epic 2:
- Statistics Cards: Total, Pending, Processing, Completed counts
- Filter Bar: Filter by status (All, Pending, Processing, Done)
- Search: Search in text content
Epic 1 provides a simple list view with pagination.
API Endpoints
This page uses the following API endpoints:
Get All Submissions (Client)
Endpoint: GET /api/v1/text-to-speech
Authentication: Required (Bearer token)
Role Required: client role for viewing personal submissions
Description: Retrieves submissions filtered by authenticated user. Clients automatically see only their own submissions. Admins see all submissions from all users.
Query Parameters:
- page: number, optional. Page number (default: 1)
- pageSize: number, optional. Items per page (default: 20, max: 100)
- sortBy: string, optional. Sort field (default: "createdAt")
- sortOrder: string, optional. "asc" or "desc" (default: "desc")
The following query parameters are available in the API but will be fully utilized in Epic 2:
- status: Filter by status (pending, processing, completed, failed, all)
- search: Search in text content or slug
Page Elements
Header Section
- Page Title: "My Requests"
- Subtitle: Purpose statement
- Context: Clear navigation
Requests Table
Columns:
- Request ID: Unique identifier (e.g., REQ-001234)
- Text Preview: First 20 characters + "..."
- Voice: Selected voice model name
- Status: Badge showing current status
- Created: Time since creation
Status Badges:
- Pending: Orange badge
- Processing: Blue badge
- Done: Green badge
Row Behavior:
- Clickable rows: Click to view details
- Hover effect: Background changes on hover
- Most recent first
Pagination
Controls:
- Current page indicator
- Previous/Next buttons
- Shows "X of Y requests" count
Empty State
When no requests exist:
- Empty mailbox icon
- "No requests yet" message
- "Create Request" button
User Actions
Primary Actions
- View Requests - See all personal requests
- Click Request Row - View detailed request page
- Navigate Pages - Browse through request pages
Secondary Actions
- Create New Request - Submit new text-to-audio request
User Flow
Current Page: My Requests (List View)
Flow:
- Client logs in
- Client navigates to "My Requests"
- Client sees list of requests with status
- Client can filter by status
- Client clicks on a request row
- Client navigated to Request Details Page
Next Page: Client Request Details
Success Criteria
- ✅ Client can view all their requests
- ✅ Pagination works correctly
- ✅ Clicking request rows navigates to details page
- ✅ Hover effects work on table rows
- ✅ Empty state displays when no requests
- ✅ Performance is good (< 2 second load)
- ⏳ Stats cards (Epic 2)
- ⏳ Filters by status (Epic 2)
- ⏳ Search functionality (Epic 2)
Related Documentation
- Client Request Details - Single request view
- Request Submission Form - Create new request
- User Profile API - User endpoints
- User Flow - Complete workflow