New ContextMenu menu type for DM messages (#8014)

* get context menu somewhat working ish

* take screenshot rather than double rendering

* get animations somewhat working

* get transform animation working

* rm log

* upwards safe area

* get working on android

* get android working once and for all

* fix positioning on both platforms

* use dark blur on ios always, fix dark mode

* allow closing with hardware back press

* try and fix type error

* add note about ts-ignore

* round post

* add image capture error handling

* extract magic numbers

* set explicit embed width, rm top margin

* Message embed width tweaks

* Format

* fix position of embeds

* same as above for web

---------

Co-authored-by: Eric Bailey <git@esb.lol>
This commit is contained in:
Samuel Newman
2025-03-21 18:29:14 +02:00
committed by GitHub
parent f6f253b4c9
commit c4785ef96e
15 changed files with 1090 additions and 295 deletions
+2 -7
View File
@@ -2,14 +2,9 @@ import React from 'react'
import type {ContextType, ItemContextType} from '#/components/Menu/types'
export const Context = React.createContext<ContextType>({
// @ts-ignore
control: null,
})
export const Context = React.createContext<ContextType | null>(null)
export const ItemContext = React.createContext<ItemContextType>({
disabled: false,
})
export const ItemContext = React.createContext<ItemContextType | null>(null)
export function useMenuContext() {
const context = React.useContext(Context)
+1 -1
View File
@@ -34,7 +34,7 @@ export function Root({
children,
control,
}: React.PropsWithChildren<{
control?: Dialog.DialogOuterProps['control']
control?: Dialog.DialogControlProps
}>) {
const defaultControl = Dialog.useDialogControl()
const context = React.useMemo<ContextType>(
+1 -1
View File
@@ -50,7 +50,7 @@ export function Root({
children,
control,
}: React.PropsWithChildren<{
control?: Dialog.DialogOuterProps['control']
control?: Dialog.DialogControlProps
}>) {
const {_} = useLingui()
const defaultControl = useMenuControl()