's'
This commit is contained in:
67
lib/types.ts
Normal file
67
lib/types.ts
Normal file
@@ -0,0 +1,67 @@
|
||||
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;
|
||||
}
|
||||
Reference in New Issue
Block a user