diff --git a/keyserver/src/responders/redux-state-responders.js b/keyserver/src/responders/redux-state-responders.js --- a/keyserver/src/responders/redux-state-responders.js +++ b/keyserver/src/responders/redux-state-responders.js @@ -40,7 +40,7 @@ import { promiseAll } from 'lib/utils/promises.js'; import { urlInfoValidator } from 'lib/utils/url-utils.js'; import { tShape, ashoatKeyserverID, tID } from 'lib/utils/validation-utils.js'; -import { navInfoValidator } from 'web/types/nav-types.js'; +import { webNavInfoValidator } from 'web/types/nav-types.js'; import type { InitialReduxStateResponse, InitialKeyserverInfo, @@ -86,7 +86,7 @@ export const initialReduxStateValidator: TInterface = tShape({ - navInfo: navInfoValidator, + navInfo: webNavInfoValidator, currentUserInfo: currentUserInfoValidator, entryStore: entryStoreValidator, threadStore: threadStoreValidator, diff --git a/web/app.react.js b/web/app.react.js --- a/web/app.react.js +++ b/web/app.react.js @@ -73,7 +73,7 @@ import './typography.css'; import css from './style.css'; import { TooltipProvider } from './tooltips/tooltip-provider.js'; -import { type NavInfo } from './types/nav-types.js'; +import { type WebNavInfo } from './types/nav-types.js'; import { canonicalURLFromReduxState, navInfoFromURL } from './url-utils.js'; void initOpaque(); @@ -122,7 +122,7 @@ type Props = { ...BaseProps, // Redux state - +navInfo: NavInfo, + +navInfo: WebNavInfo, +entriesLoadingStatus: LoadingStatus, +loggedIn: boolean, +activeThreadCurrentlyUnread: boolean, diff --git a/web/calendar/calendar.react.js b/web/calendar/calendar.react.js --- a/web/calendar/calendar.react.js +++ b/web/calendar/calendar.react.js @@ -38,7 +38,7 @@ monthAssertingSelector, webCalendarQuery, } from '../selectors/nav-selectors.js'; -import type { NavInfo } from '../types/nav-types.js'; +import type { WebNavInfo } from '../types/nav-types.js'; import { canonicalURLFromReduxState } from '../url-utils.js'; type StartAndEndDates = { @@ -54,7 +54,7 @@ +year: number, +month: number, +daysToEntries: { +[dayString: string]: EntryInfo[] }, - +navInfo: NavInfo, + +navInfo: WebNavInfo, +currentCalendarQuery: () => CalendarQuery, +loggedIn: boolean, +dispatchActionPromise: DispatchActionPromise, diff --git a/web/redux/nav-reducer.js b/web/redux/nav-reducer.js --- a/web/redux/nav-reducer.js +++ b/web/redux/nav-reducer.js @@ -6,13 +6,13 @@ import { updateNavInfoActionType } from '../redux/action-types.js'; import type { Action } from '../redux/redux-setup.js'; -import { type NavInfo } from '../types/nav-types.js'; +import { type WebNavInfo } from '../types/nav-types.js'; export default function reduceNavInfo( - oldState: NavInfo, + oldState: WebNavInfo, action: Action, newThreadInfos: RawThreadInfos, -): NavInfo { +): WebNavInfo { let state = oldState; if (action.type === updateNavInfoActionType) { state = { diff --git a/web/redux/redux-setup.js b/web/redux/redux-setup.js --- a/web/redux/redux-setup.js +++ b/web/redux/redux-setup.js @@ -53,7 +53,7 @@ import { getVisibility } from './visibility.js'; import { processDBStoreOperations } from '../database/utils/store.js'; import { activeThreadSelector } from '../selectors/nav-selectors.js'; -import { type NavInfo } from '../types/nav-types.js'; +import { type WebNavInfo } from '../types/nav-types.js'; import type { InitialReduxState } from '../types/redux-types.js'; export type WindowDimensions = { width: number, height: number }; @@ -64,7 +64,7 @@ }; export type AppState = { - +navInfo: NavInfo, + +navInfo: WebNavInfo, +currentUserInfo: ?CurrentUserInfo, +draftStore: DraftStore, +entryStore: EntryStore, @@ -100,7 +100,7 @@ export type Action = | BaseAction - | { type: 'UPDATE_NAV_INFO', payload: Partial } + | { type: 'UPDATE_NAV_INFO', payload: Partial } | { type: 'UPDATE_WINDOW_DIMENSIONS', payload: WindowDimensions, diff --git a/web/types/nav-types.js b/web/types/nav-types.js --- a/web/types/nav-types.js +++ b/web/types/nav-types.js @@ -34,7 +34,7 @@ export type WebNavigationChatMode = 'view' | 'create'; const webNavigationChatModeValidator = t.enums.of(['view', 'create']); -export type NavInfo = { +export type WebNavInfo = { ...$Exact, +tab: WebNavigationTab, +activeChatThreadID: ?string, @@ -46,7 +46,9 @@ +loginMethod?: WebLoginMethod, }; -export const navInfoValidator: TInterface = tShape<$Exact>({ +export const webNavInfoValidator: TInterface = tShape< + $Exact, +>({ startDate: t.String, endDate: t.String, tab: webNavigationTabValidator, diff --git a/web/types/redux-types.js b/web/types/redux-types.js --- a/web/types/redux-types.js +++ b/web/types/redux-types.js @@ -7,10 +7,10 @@ import type { CurrentUserInfo, UserInfos } from 'lib/types/user-types.js'; import type { URLInfo } from 'lib/utils/url-utils.js'; -import type { NavInfo } from '../types/nav-types.js'; +import type { WebNavInfo } from '../types/nav-types.js'; export type InitialReduxStateResponse = { - +navInfo: NavInfo, + +navInfo: WebNavInfo, +currentUserInfo: CurrentUserInfo, +entryStore: EntryStore, +threadStore: LegacyThreadStore, @@ -23,7 +23,7 @@ }; export type InitialReduxState = { - +navInfo: NavInfo, + +navInfo: WebNavInfo, +currentUserInfo: CurrentUserInfo, +entryStore: EntryStore, +threadStore: ThreadStore, diff --git a/web/url-utils.js b/web/url-utils.js --- a/web/url-utils.js +++ b/web/url-utils.js @@ -11,10 +11,10 @@ import { infoFromURL, type URLInfo } from 'lib/utils/url-utils.js'; import { yearExtractor, monthExtractor } from './selectors/nav-selectors.js'; -import type { NavInfo } from './types/nav-types.js'; +import type { WebNavInfo } from './types/nav-types.js'; function canonicalURLFromReduxState( - navInfo: NavInfo, + navInfo: WebNavInfo, currentURL: string, loggedIn: boolean, ): string { @@ -84,9 +84,9 @@ backupInfo: { +now?: Date, +userInfos?: { +[id: string]: AccountUserInfo }, - +navInfo?: NavInfo, + +navInfo?: WebNavInfo, }, -): NavInfo { +): WebNavInfo { const { navInfo } = backupInfo; const now = backupInfo.now ? backupInfo.now : new Date(); @@ -125,7 +125,7 @@ ? 'create' : 'view'; - const newNavInfo: NavInfo = { + const newNavInfo: WebNavInfo = { tab, startDate: startDateForYearAndMonth(year, month), endDate: endDateForYearAndMonth(year, month),