Skip to main content

[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
Logged In

My Requests

Track your text-to-audio requests

Request ID
Text Preview
Voice
Status
Created
REQ-001234

Welcome to MicDots...

Rachel

Done

2 days ago
REQ-001235

Special offer today...

Adam

Processing

3 hours ago
REQ-001236

Thank you for visiting...

Bella

Pending

1 hour ago

Showing 3 of 12 requests


Epic 2 Features

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")
Epic 2 Query Parameters

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:

  1. Request ID: Unique identifier (e.g., REQ-001234)
  2. Text Preview: First 20 characters + "..."
  3. Voice: Selected voice model name
  4. Status: Badge showing current status
  5. 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

  1. View Requests - See all personal requests
  2. Click Request Row - View detailed request page
  3. 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:

  1. Client logs in
  2. Client navigates to "My Requests"
  3. Client sees list of requests with status
  4. Client can filter by status
  5. Client clicks on a request row
  6. 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)