diff --git a/moon/apps/web/components/DiffView/parsedDiffs.ts b/moon/apps/web/components/DiffView/parsedDiffs.ts index 3727806c4..eec4902a0 100644 --- a/moon/apps/web/components/DiffView/parsedDiffs.ts +++ b/moon/apps/web/components/DiffView/parsedDiffs.ts @@ -1,4 +1,5 @@ const extensionToLangMap: Record = { + // Note that the key here is lowercase '.ts': 'typescript', '.tsx': 'tsx', '.js': 'javascript', @@ -28,6 +29,9 @@ const extensionToLangMap: Record = { '.env': 'plaintext', 'license-third-party': 'plaintext', 'license-apache': 'plaintext', + 'workspace': 'plaintext', + '.buckroot': 'plaintext', + '.buckconfig': 'plaintext', } function getLangFromPath(path: string): string { diff --git a/moon/apps/web/components/MrView/MergedItem.tsx b/moon/apps/web/components/MrView/MergedItem.tsx index 724dd9bfc..140940322 100644 --- a/moon/apps/web/components/MrView/MergedItem.tsx +++ b/moon/apps/web/components/MrView/MergedItem.tsx @@ -1,14 +1,34 @@ import { ConversationItem } from '@gitmono/types/generated'; import HandleTime from './components/HandleTime' +import { useGetOrganizationMember } from '@/hooks/useGetOrganizationMember'; +import { ConditionalWrap } from '@gitmono/ui' +import { MemberHovercard } from '../InlinePost/MemberHovercard'; +import { MemberAvatar } from '../MemberAvatar'; +import { UserLinkByName } from './components/UserLinkByName'; interface MergedItemProps { conv: ConversationItem } const MergedItem = ({ conv }: MergedItemProps) => { - + const { data: member } = useGetOrganizationMember({ username: conv.username }) + return ( <>
+
+ ( + + + {c} + + + )} + > + {member ? : 'Avatar not found'} + +
Merged via the queue into main
diff --git a/moon/apps/web/components/MrView/TimelineItems.tsx b/moon/apps/web/components/MrView/TimelineItems.tsx index 1a6e7af0a..1003b1862 100644 --- a/moon/apps/web/components/MrView/TimelineItems.tsx +++ b/moon/apps/web/components/MrView/TimelineItems.tsx @@ -7,7 +7,8 @@ import { FeedMergedIcon, FeedPullRequestClosedIcon, FeedPullRequestOpenIcon, - FeedTagIcon + FeedTagIcon, + RepoPushIcon } from '@primer/octicons-react' import { BaseStyles, ThemeProvider, Timeline } from '@primer/react' @@ -19,6 +20,7 @@ import CloseItem from './CloseItem' import MergedItem from './MergedItem' import ReopenItem from './ReopenItem' import LabelItem from '@/components/MrView/LabelItem' +import ForcePushItem from './item/ForcePushItem' interface TimelineItemProps { badge?: React.ReactNode @@ -98,6 +100,10 @@ const TimelineItems: React.FC<{ detail: any; id: string; type: string }> = ({ de icon = children = break + case 'ForcePush': + icon = + children = + break } return { badge: icon, children, isOver, id: conv.id } diff --git a/moon/apps/web/components/MrView/item/ForcePushItem.tsx b/moon/apps/web/components/MrView/item/ForcePushItem.tsx new file mode 100644 index 000000000..e49417bd7 --- /dev/null +++ b/moon/apps/web/components/MrView/item/ForcePushItem.tsx @@ -0,0 +1,22 @@ +import { ConversationItem } from '@gitmono/types/generated' +import HandleTime from '../components/HandleTime' + + +interface ReopenItemProps { + conv: ConversationItem +} +const ReopenItem = ({ conv }: ReopenItemProps) => { + + return ( + <> +
+
{conv.comment}
+
+ +
+
+ + ) +} + +export default ReopenItem diff --git a/moon/apps/web/pages/[org]/mr/[link]/[id].tsx b/moon/apps/web/pages/[org]/mr/[link]/[id].tsx index 675973281..7d671cc75 100644 --- a/moon/apps/web/pages/[org]/mr/[link]/[id].tsx +++ b/moon/apps/web/pages/[org]/mr/[link]/[id].tsx @@ -210,7 +210,7 @@ const MRDetailPage: PageWithLayout = () => {
{detailIsLoading ? ( -
+
) : ( @@ -238,7 +238,6 @@ const MRDetailPage: PageWithLayout = () => { ref={editorRef} editable='all' content={EMPTY_HTML} - autofocus={true} onKeyDown={onKeyDownScrollHandler} onChange={(html) => handleChange(html)} /> @@ -365,7 +364,7 @@ const MRDetailPage: PageWithLayout = () => { {fileChgIsLoading ? ( -
+
) : MrFilesChangedData?.data?.content ? (