namespace TafsirQuran.Shared.Dtos; public record TafsirDto(Guid Id, string Title, string Author, string Slug, string? CoverUrl); public record EpisodeListItemDto( Guid Id, string Title, int SurahNumber, string SurahNameFa, int AyahNumber, int DurationSeconds, int SortOrder); public record EpisodeDetailDto( Guid Id, Guid TafsirId, string TafsirSlug, string Title, int SurahNumber, string SurahNameFa, int AyahNumber, string AyahTextAr, string? AyahTextFa, string AudioUrl, int DurationSeconds, string? Summary); public record ProgressDto(Guid EpisodeId, double PositionSeconds, DateTimeOffset UpdatedAt, EpisodeListItemDto? Episode); public record UpsertProgressRequest(Guid EpisodeId, double PositionSeconds, string DeviceId); public record FavoriteDto(Guid Id, Guid EpisodeId, DateTimeOffset CreatedAt, EpisodeListItemDto Episode); public record BookmarkDto(Guid Id, Guid EpisodeId, string? Note, DateTimeOffset CreatedAt, EpisodeListItemDto Episode); public record ToggleEpisodeRequest(Guid EpisodeId, string DeviceId, string? Note = null); public record AuthRequest(string Email, string Password, string? DisplayName = null); public record AuthResponse(Guid UserId, string Email, string DisplayName, string Token); public record UserStatusDto(bool IsAuthenticated, Guid? UserId, string? Email, string? DisplayName);