feeds-fun
Version:
Frontend for the Feeds Fun — web-based news reader
128 lines (111 loc) • 4.63 kB
text/typescript
import * as c from "@/logic/constants";
export type AnyEnum = {
[ ]: string | number;
};
export enum MainPanelMode {
Entries = "entries",
Feeds = "feeds",
Rules = "rules",
Discovery = "discovery",
Collections = "collections",
PublicCollection = "public-collection",
Settings = "settings"
}
export type MainPanelModeProperty = {
readonly text: string;
readonly showInMenu: boolean;
};
export const MainPanelModeProperties = new Map<MainPanelMode, MainPanelModeProperty>([
[ ],
[ ],
[ ],
[ ],
[ ],
[ ],
[ ]
]);
export enum LastEntriesPeriod {
Hour1 = "hour1",
Hour3 = "hour3",
Hour6 = "hour6",
Hour12 = "hour12",
Day1 = "day1",
Day3 = "day3",
Week = "week",
Week2 = "week2",
Month1 = "month",
Month3 = "month3",
Month6 = "month6",
Year1 = "year1",
AllTime = "alltime"
}
export type LastEntriesPeriodProperty = {
readonly text: string;
readonly seconds: number;
};
// Map preserves the order of the keys
export const LastEntriesPeriodProperties = new Map<LastEntriesPeriod, LastEntriesPeriodProperty>([
[ ],
[ ],
[ ],
[ ],
[ ],
[ ],
[ ],
[ ],
[ ],
[ ],
[ ],
[ ],
[ ]
]);
export enum EntriesOrder {
Score = "score",
ScoreToZero = "score-to-zero",
ScoreBackward = "score-to-",
Published = "published",
Cataloged = "cataloged"
}
export type EntriesOrderProperty = {
readonly text: string;
readonly orderField: string;
readonly timeField: string;
readonly direction: number;
};
export const EntriesOrderProperties = new Map<EntriesOrder, EntriesOrderProperty>([
[ ],
[ ],
[ ],
[ ],
[ ]
]);
export enum Marker {
Read = "read"
}
export const reverseMarker: {[key: string]: Marker} = {
read: Marker.Read
};
export enum FeedsOrder {
Title = "title",
Url = "url",
Loaded = "loaded",
Linked = "linked"
}
export const FeedsOrderProperties = new Map<FeedsOrder, {text: string; orderField: string; orderDirection: string}>([
[ ],
[ ],
[ ],
[ ]
]);
export enum RulesOrder {
Tags = "tags",
Score = "score",
Created = "created",
Updated = "updated"
}
export const RulesOrderProperties = new Map<RulesOrder, {text: string; orderField: string; orderDirection: string}>([
[ ],
[ ],
[ ],
[ ]
]);