Before

1import * as C from '@/constants'
2import * as React from 'react'
3import {OrdinalContext} from './ids-context'
4import * as Kb from '@/common-adapters'
5import type * as T from '@/constants/types'
6import {EmojiPickerDesktop} from '@/chat/emoji-picker/container'
7import {renderEmoji, RPCUserReacjiToRenderableEmoji} from '@/util/emoji'
8
9type OwnProps = {
10 className?: string
11 onShowingEmojiPicker?: (arg0: boolean) => void
12 style?: Kb.Styles.StylesCrossPlatform
13}
14
15const EmojiRowContainer = React.memo(function EmojiRowContainer(p: OwnProps) {
16 const {className, onShowingEmojiPicker, style} = p
17 const ordinal = React.useContext(OrdinalContext)
18
19 const {hasUnfurls, setReplyTo, toggleMessageReaction, type} = C.useChatContext(
20 C.useShallow(s => {
21 const m = s.messageMap.get(ordinal)
22 const type = m?.type
23 const hasUnfurls = (m?.unfurls?.size ?? 0) > 0
…lines 24–179 unchanged (156 lines)

After

1import * as C from '@/constants'
2import * as React from 'react'
3import {useOrdinal} from './ids-context'
4import * as Kb from '@/common-adapters'
5import type * as T from '@/constants/types'
6import {EmojiPickerDesktop} from '@/chat/emoji-picker/container'
7import {renderEmoji, RPCUserReacjiToRenderableEmoji} from '@/util/emoji'
8
9type OwnProps = {
10 className?: string
11 onShowingEmojiPicker?: (arg0: boolean) => void
12 style?: Kb.Styles.StylesCrossPlatform
13}
14
15const EmojiRowContainer = React.memo(function EmojiRowContainer(p: OwnProps) {
16 const {className, onShowingEmojiPicker, style} = p
17 const ordinal = useOrdinal()
18
19 const {hasUnfurls, setReplyTo, toggleMessageReaction, type} = C.useChatContext(
20 C.useShallow(s => {
21 const m = s.messageMap.get(ordinal)
22 const type = m?.type
23 const hasUnfurls = (m?.unfurls?.size ?? 0) > 0
…lines 24–179 unchanged (156 lines)

Before

program
import_statement
import "import"
import_clause
namespace_import
* "*"
as "as"
identifier "C"
from "from"
string
' "'"
string_fragment "@/constants"
' "'"
import_statement
import "import"
import_clause
namespace_import
* "*"
as "as"
identifier "React"
from "from"
string
' "'"
string_fragment "react"
' "'"
import_statement
import "import"
import_clause
named_imports
{ "{"
import_specifier
identifier "OrdinalContext"
} "}"
from "from"
string
' "'"
string_fragment "./ids-context"
' "'"
import_statement
import "import"
import_clause
namespace_import
* "*"
as "as"
identifier "Kb"
from "from"
string
' "'"
string_fragment "@/common-adapters"
' "'"
import_statement
import "import"
type "type"
import_clause
namespace_import
* "*"
as "as"
identifier "T"
from "from"
string
' "'"
string_fragment "@/constants/types"
' "'"
import_statement
import "import"
import_clause
named_imports
{ "{"
import_specifier
identifier "EmojiPickerDesktop"
} "}"
from "from"
string
' "'"
string_fragment "@/chat/emoji-picker/container"
' "'"
import_statement
import "import"
import_clause
named_imports
{ "{"
import_specifier
identifier "renderEmoji"
, ","
import_specifier
identifier "RPCUserReacjiToRenderableEmoji"
} "}"
from "from"
string
' "'"
string_fragment "@/util/emoji"
' "'"
type_alias_declaration (+44 nodes collapsed)
lexical_declaration
const "const"
variable_declarator
identifier "EmojiRowContainer"
= "="
call_expression
member_expression
identifier "React"
. "."
property_identifier "memo"
arguments
( "("
function_expression
function "function"
identifier "EmojiRowContainer"
formal_parameters
( "("
required_parameter
identifier "p"
type_annotation
: ":"
type_identifier "OwnProps"
) ")"
statement_block
{ "{"
lexical_declaration
const "const"
variable_declarator
object_pattern
{ "{"
shorthand_property_identifier_pattern "className"
, ","
shorthand_property_identifier_pattern "onShowingEmojiPicker"
, ","
shorthand_property_identifier_pattern "style"
} "}"
= "="
identifier "p"
lexical_declaration
const "const"
variable_declarator
identifier "ordinal"
= "="
call_expression
member_expression
identifier "React"
. "."
property_identifier "useContext"
arguments
( "("
identifier "OrdinalContext"
) ")"
lexical_declaration (+112 nodes collapsed)
lexical_declaration (+41 nodes collapsed)
lexical_declaration
const "const"
variable_declarator
identifier "navigateAppend"
= "="
call_expression
member_expression
member_expression
identifier "C"
. "."
property_identifier "Chat"
. "."
property_identifier "useChatNavigateAppend"
arguments
( "("
) ")"
lexical_declaration (+61 nodes collapsed)
lexical_declaration (+43 nodes collapsed)
lexical_declaration (+35 nodes collapsed)
lexical_declaration
const "const"
variable_declarator
identifier "onForward"
= "="
ternary_expression
binary_expression
identifier "hasUnfurls"
|| "||"
binary_expression
identifier "type"
=== "==="
string
' "'"
string_fragment "attachment"
' "'"
? "?"
identifier "_onForward"
: ":"
undefined "undefined"
lexical_declaration (+26 nodes collapsed)
lexical_declaration
const "const"
variable_declarator
array_pattern
[ "["
identifier "showingPicker"
, ","
identifier "setShowingPicker"
] "]"
= "="
call_expression
member_expression
identifier "React"
. "."
property_identifier "useState"
arguments
( "("
false "false"
) ")"
lexical_declaration (+25 nodes collapsed)
lexical_declaration (+34 nodes collapsed)
lexical_declaration
const "const"
variable_declarator
identifier "_showPicker"
= "="
arrow_function
formal_parameters
( "("
) ")"
=> "=>"
call_expression
identifier "_setShowingPicker"
arguments
( "("
true "true"
) ")"
lexical_declaration
const "const"
variable_declarator
identifier "_hidePicker"
= "="
arrow_function
formal_parameters
( "("
) ")"
=> "=>"
call_expression
identifier "_setShowingPicker"
arguments
( "("
false "false"
) ")"
return_statement (+537 nodes collapsed)
} "}"
) ")"
lexical_declaration (+260 nodes collapsed)
lexical_declaration (+419 nodes collapsed)
export_statement
export "export"
default "default"
identifier "EmojiRowContainer"

After

program
import_statement
import "import"
import_clause
namespace_import
* "*"
as "as"
identifier "C"
from "from"
string
' "'"
string_fragment "@/constants"
' "'"
import_statement
import "import"
import_clause
namespace_import
* "*"
as "as"
identifier "React"
from "from"
string
' "'"
string_fragment "react"
' "'"
import_statement
import "import"
import_clause
named_imports
{ "{"
import_specifier
identifier "useOrdinal"
} "}"
from "from"
string
' "'"
string_fragment "./ids-context"
' "'"
import_statement
import "import"
import_clause
namespace_import
* "*"
as "as"
identifier "Kb"
from "from"
string
' "'"
string_fragment "@/common-adapters"
' "'"
import_statement
import "import"
type "type"
import_clause
namespace_import
* "*"
as "as"
identifier "T"
from "from"
string
' "'"
string_fragment "@/constants/types"
' "'"
import_statement
import "import"
import_clause
named_imports
{ "{"
import_specifier
identifier "EmojiPickerDesktop"
} "}"
from "from"
string
' "'"
string_fragment "@/chat/emoji-picker/container"
' "'"
import_statement
import "import"
import_clause
named_imports
{ "{"
import_specifier
identifier "renderEmoji"
, ","
import_specifier
identifier "RPCUserReacjiToRenderableEmoji"
} "}"
from "from"
string
' "'"
string_fragment "@/util/emoji"
' "'"
type_alias_declaration (+44 nodes collapsed)
lexical_declaration
const "const"
variable_declarator
identifier "EmojiRowContainer"
= "="
call_expression
member_expression
identifier "React"
. "."
property_identifier "memo"
arguments
( "("
function_expression
function "function"
identifier "EmojiRowContainer"
formal_parameters
( "("
required_parameter
identifier "p"
type_annotation
: ":"
type_identifier "OwnProps"
) ")"
statement_block
{ "{"
lexical_declaration
const "const"
variable_declarator
object_pattern
{ "{"
shorthand_property_identifier_pattern "className"
, ","
shorthand_property_identifier_pattern "onShowingEmojiPicker"
, ","
shorthand_property_identifier_pattern "style"
} "}"
= "="
identifier "p"
lexical_declaration
const "const"
variable_declarator
identifier "ordinal"
= "="
call_expression
identifier "useOrdinal"
arguments
( "("
) ")"
lexical_declaration (+112 nodes collapsed)
lexical_declaration (+41 nodes collapsed)
lexical_declaration
const "const"
variable_declarator
identifier "navigateAppend"
= "="
call_expression
member_expression
member_expression
identifier "C"
. "."
property_identifier "Chat"
. "."
property_identifier "useChatNavigateAppend"
arguments
( "("
) ")"
lexical_declaration (+61 nodes collapsed)
lexical_declaration (+43 nodes collapsed)
lexical_declaration (+35 nodes collapsed)
lexical_declaration
const "const"
variable_declarator
identifier "onForward"
= "="
ternary_expression
binary_expression
identifier "hasUnfurls"
|| "||"
binary_expression
identifier "type"
=== "==="
string
' "'"
string_fragment "attachment"
' "'"
? "?"
identifier "_onForward"
: ":"
undefined "undefined"
lexical_declaration (+26 nodes collapsed)
lexical_declaration
const "const"
variable_declarator
array_pattern
[ "["
identifier "showingPicker"
, ","
identifier "setShowingPicker"
] "]"
= "="
call_expression
member_expression
identifier "React"
. "."
property_identifier "useState"
arguments
( "("
false "false"
) ")"
lexical_declaration (+25 nodes collapsed)
lexical_declaration (+34 nodes collapsed)
lexical_declaration
const "const"
variable_declarator
identifier "_showPicker"
= "="
arrow_function
formal_parameters
( "("
) ")"
=> "=>"
call_expression
identifier "_setShowingPicker"
arguments
( "("
true "true"
) ")"
lexical_declaration
const "const"
variable_declarator
identifier "_hidePicker"
= "="
arrow_function
formal_parameters
( "("
) ")"
=> "=>"
call_expression
identifier "_setShowingPicker"
arguments
( "("
false "false"
) ")"
return_statement (+537 nodes collapsed)
} "}"
) ")"
lexical_declaration (+260 nodes collapsed)
lexical_declaration (+419 nodes collapsed)
export_statement
export "export"
default "default"
identifier "EmojiRowContainer"