Add default page selector
This commit is contained in:
parent
cafd820fd9
commit
4092ab90e0
@ -15,7 +15,7 @@ import { debounce } from "Util";
|
||||
|
||||
export default function RootPage() {
|
||||
const { formatMessage } = useIntl();
|
||||
const { loggedOut, publicKey: pubKey, follows, tags, relays } = useSelector((s: RootState) => s.login);
|
||||
const { loggedOut, publicKey: pubKey, follows, tags, relays, preferences } = useSelector((s: RootState) => s.login);
|
||||
const RootTab: Record<string, Tab> = {
|
||||
Posts: {
|
||||
text: formatMessage(messages.Posts),
|
||||
@ -30,7 +30,16 @@ export default function RootPage() {
|
||||
value: 2,
|
||||
},
|
||||
};
|
||||
const [tab, setTab] = useState<Tab>(RootTab.Posts);
|
||||
const [tab, setTab] = useState<Tab>(() => {
|
||||
switch (preferences.defaultPage) {
|
||||
case "posts":
|
||||
return RootTab.Posts;
|
||||
case "conversations":
|
||||
return RootTab.PostsAndReplies;
|
||||
case "global":
|
||||
return RootTab.Global;
|
||||
}
|
||||
});
|
||||
const [relay, setRelay] = useState<string>();
|
||||
const [globalRelays, setGlobalRelays] = useState<string[]>([]);
|
||||
const tagTabs = tags.map((t, idx) => {
|
||||
|
@ -50,6 +50,35 @@ const PreferencesPage = () => {
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div className="card flex">
|
||||
<div className="flex f-col f-grow">
|
||||
<div>
|
||||
<FormattedMessage {...messages.DefaultPage} />
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<select
|
||||
value={perf.defaultPage}
|
||||
onChange={e =>
|
||||
dispatch(
|
||||
setPreferences({
|
||||
...perf,
|
||||
defaultPage: e.target.value,
|
||||
} as UserPreferences)
|
||||
)
|
||||
}>
|
||||
<option value="posts">
|
||||
<FormattedMessage {...messages.Posts} />
|
||||
</option>
|
||||
<option value="conversations">
|
||||
<FormattedMessage {...messages.Conversations} />
|
||||
</option>
|
||||
<option value="global">
|
||||
<FormattedMessage {...messages.Global} />
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div className="card flex">
|
||||
<div className="flex f-col f-grow">
|
||||
<div>
|
||||
|
@ -15,6 +15,10 @@ export default defineMessages({
|
||||
System: { defaultMessage: "System (Default)" },
|
||||
Light: { defaultMessage: "Light" },
|
||||
Dark: { defaultMessage: "Dark" },
|
||||
DefaultPage: { defaultMessage: "Default Page" },
|
||||
Posts: { defaultMessage: "Posts" },
|
||||
Conversations: { defaultMessage: "Conversations" },
|
||||
Global: { defaultMessage: "Global" },
|
||||
AutoloadMedia: { defaultMessage: "Automatically load media" },
|
||||
AutoloadMediaHelp: {
|
||||
defaultMessage: "Media in posts will automatically be shown for selected people, otherwise only the link will show",
|
||||
|
@ -65,6 +65,11 @@ export interface UserPreferences {
|
||||
* Use imgproxy to optimize images
|
||||
*/
|
||||
imgProxyConfig: ImgProxySettings | null;
|
||||
|
||||
/**
|
||||
* Default page to select on load
|
||||
*/
|
||||
defaultPage: "posts" | "conversations" | "global";
|
||||
}
|
||||
|
||||
export type DbType = "indexdDb" | "redux";
|
||||
@ -225,6 +230,7 @@ export const InitState = {
|
||||
autoShowLatest: false,
|
||||
fileUploader: "void.cat",
|
||||
imgProxyConfig: DefaultImgProxy,
|
||||
defaultPage: "posts",
|
||||
},
|
||||
} as LoginStore;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user