diff --git a/src/types/comment.ts b/src/types/comment.ts new file mode 100644 index 00000000..f1d123ce --- /dev/null +++ b/src/types/comment.ts @@ -0,0 +1,10 @@ +export interface Comment { + id: number; + level: number; + user: string; + time: number; + time_ago: string; + content: string; + deleted: boolean; + comments: Comment[]; +} diff --git a/src/types/feed-type.ts b/src/types/feed-type.ts new file mode 100644 index 00000000..5d3c15ba --- /dev/null +++ b/src/types/feed-type.ts @@ -0,0 +1 @@ +export type FeedType = 'poll' | 'story' | 'job'; diff --git a/src/types/index.ts b/src/types/index.ts new file mode 100644 index 00000000..552141ac --- /dev/null +++ b/src/types/index.ts @@ -0,0 +1,6 @@ +export { Comment } from './comment'; +export { FeedType } from './feed-type'; +export { PollResult } from './poll-result'; +export { Settings } from './settings'; +export { Story } from './story'; +export { User } from './user'; diff --git a/src/types/poll-result.ts b/src/types/poll-result.ts new file mode 100644 index 00000000..54e386ac --- /dev/null +++ b/src/types/poll-result.ts @@ -0,0 +1,4 @@ +export interface PollResult { + points: number; + content: string; +} diff --git a/src/types/settings.ts b/src/types/settings.ts new file mode 100644 index 00000000..fcabb480 --- /dev/null +++ b/src/types/settings.ts @@ -0,0 +1,7 @@ +export interface Settings { + showSettings: boolean; + openLinkInNewTab: boolean; + theme: string; + titleFontSize: string; + listSpacing: string; +} diff --git a/src/types/story.ts b/src/types/story.ts new file mode 100644 index 00000000..d4ba265b --- /dev/null +++ b/src/types/story.ts @@ -0,0 +1,21 @@ +import { Comment } from './comment'; +import { FeedType } from './feed-type'; +import { PollResult } from './poll-result'; + +export interface Story { + id: number; + title: string; + points: number; + user: string; + time: number; + time_ago: number; + type: FeedType; + url: string; + domain: string; + comments: Comment[]; + comments_count: number; + poll: PollResult[]; + poll_votes_count: number; + deleted: boolean; + dead: boolean; +} diff --git a/src/types/user.ts b/src/types/user.ts new file mode 100644 index 00000000..56526754 --- /dev/null +++ b/src/types/user.ts @@ -0,0 +1,8 @@ +export interface User { + id: string; + crated_time: number; + created: string; + karma: number; + avg: number; + about: string; +}