the browser-facing portion of osu!
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

split discussion page and mode

bakaneko c9e6a403 a0bc4bac

+20 -18
+1 -9
resources/js/beatmap-discussions/discussion-mode.ts
··· 1 1 // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 - // In display order on discussion page tabs 5 - export const discussionPages = ['reviews', 'generalAll', 'general', 'timeline', 'events'] as const; 6 - export type DiscussionPage = (typeof discussionPages)[number]; 7 - 8 - const discussionPageSet = new Set<unknown>(discussionPages); 9 - 10 - export function isDiscussionPage(value: unknown): value is DiscussionPage{ 11 - return discussionPageSet.has(value); 12 - } 4 + import DiscussionPage from './discussion-page'; 13 5 14 6 type DiscussionMode = Exclude<DiscussionPage, 'events'>; 15 7 export const discussionModes: Readonly<DiscussionMode[]> = ['reviews', 'generalAll', 'general', 'timeline'] as const;
+14
resources/js/beatmap-discussions/discussion-page.ts
··· 1 + // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the GNU Affero General Public License v3.0. 2 + // See the LICENCE file in the repository root for full licence text. 3 + 4 + // In display order on discussion page tabs 5 + export const discussionPages = ['reviews', 'generalAll', 'general', 'timeline', 'events'] as const; 6 + type DiscussionPage = (typeof discussionPages)[number]; 7 + 8 + const discussionPageSet = new Set<unknown>(discussionPages); 9 + 10 + export function isDiscussionPage(value: unknown): value is DiscussionPage { 11 + return discussionPageSet.has(value); 12 + } 13 + 14 + export default DiscussionPage;
+2 -1
resources/js/beatmap-discussions/discussions-state.ts
··· 12 12 import { findDefault, group, sortWithMode } from 'utils/beatmap-helper'; 13 13 import { canModeratePosts, makeUrl, parseUrl } from 'utils/beatmapset-discussion-helper'; 14 14 import { Filter, filters } from './current-discussions'; 15 - import DiscussionMode, { DiscussionPage, discussionModes, isDiscussionPage } from './discussion-mode'; 15 + import DiscussionMode, { discussionModes } from './discussion-mode'; 16 + import DiscussionPage, { isDiscussionPage } from './discussion-page'; 16 17 17 18 export interface UpdateOptions { 18 19 beatmap_discussion_post_ids: number[];
+1 -1
resources/js/beatmap-discussions/mode-switcher.tsx
··· 9 9 import { makeUrl } from 'utils/beatmapset-discussion-helper'; 10 10 import { classWithModifiers } from 'utils/css'; 11 11 import { trans } from 'utils/lang'; 12 - import { DiscussionPage, discussionPages } from './discussion-mode'; 12 + import DiscussionPage, { discussionPages } from './discussion-page'; 13 13 import DiscussionsState from './discussions-state'; 14 14 15 15 interface Props {
+2 -7
resources/js/utils/beatmapset-discussion-helper.ts
··· 2 2 // See the LICENCE file in the repository root for full licence text. 3 3 4 4 import { Filter, filters } from 'beatmap-discussions/current-discussions'; 5 - import DiscussionMode, { DiscussionPage, discussionPages } from 'beatmap-discussions/discussion-mode'; 5 + import DiscussionMode from 'beatmap-discussions/discussion-mode'; 6 + import DiscussionPage, { isDiscussionPage } from 'beatmap-discussions/discussion-page'; 6 7 import guestGroup from 'beatmap-discussions/guest-group'; 7 8 import mapperGroup from 'beatmap-discussions/mapper-group'; 8 9 import BeatmapJson from 'interfaces/beatmap-json'; ··· 70 71 // parseUrl and makeUrl lookups 71 72 const filterLookup = new Set<unknown>(filters); 72 73 const generalPages = new Set<unknown>(['events', 'generalAll', 'reviews']); 73 - const pageLookup = new Set<unknown>(discussionPages); 74 74 75 75 const defaultBeatmapId = '-'; 76 76 ··· 132 132 const m = Math.floor(value / 1000 / 60); 133 133 134 134 return `${padStart(m.toString(), 2, '0')}:${padStart(s.toString(), 2, '0')}:${padStart(ms.toString(), 3, '0')}`; 135 - } 136 - 137 - 138 - function isDiscussionPage(value: string): value is DiscussionPage { 139 - return pageLookup.has(value); 140 135 } 141 136 142 137 function isFilter(value: string): value is Filter {