Files
2026-04-02 07:15:42 -05:00

68 lines
1.2 KiB
TypeScript

export type AppCategory =
| "windows"
| "android"
| "efficiency"
| "developer"
| "ai"
| "media"
| "design"
| "network";
export interface DownloadSource {
id: string;
name: string;
type: "official" | "pan" | "mirror" | "affiliate";
href: string;
hint?: string;
}
export interface VersionHistoryItem {
version: string;
size: string;
updatedAt: string;
notes: string;
downloadHref: string;
}
export interface ChangelogItem {
date: string;
title: string;
description: string;
}
export interface AppResource {
id: string;
slug: string;
name: string;
subtitle: string;
description: string;
icon: string;
category: AppCategory;
tags: string[];
version: string;
size: string;
updatedAt: string;
uploadedAt: string;
downloads: number;
featured?: boolean;
safety: ("official" | "verified" | "clean")[];
screenshots: string[];
channels: DownloadSource[];
versionHistory: VersionHistoryItem[];
changelog: ChangelogItem[];
usage: string[];
}
export interface InsightTrendPoint {
date: string;
downloads: number;
}
export type AccessLevel = "guest" | "unlocked" | "vip";
export interface SessionState {
isLoggedIn: boolean;
accessLevel: AccessLevel;
userName?: string;
}