Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
ea87a1dc
Commit
ea87a1dc
authored
Dec 28, 2023
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: update memo content props
parent
46f7cffc
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
10 additions
and
28 deletions
+10
-28
index.tsx
web/src/components/MemoContent/index.tsx
+4
-22
MemoView.tsx
web/src/components/MemoView.tsx
+2
-2
ShareMemoDialog.tsx
web/src/components/ShareMemoDialog.tsx
+1
-1
TimelineMemo.tsx
web/src/components/TimelineMemo.tsx
+1
-1
Archived.tsx
web/src/pages/Archived.tsx
+1
-1
MemoDetail.tsx
web/src/pages/MemoDetail.tsx
+1
-1
No files found.
web/src/components/MemoContent/index.tsx
View file @
ea87a1dc
import
{
isUndefined
}
from
"lodash-es"
;
import
{
useEffect
,
useRef
,
useState
}
from
"react"
;
import
{
markdownServiceClient
}
from
"@/grpcweb"
;
import
{
useRef
}
from
"react"
;
import
{
Node
}
from
"@/types/proto/api/v2/markdown_service"
;
import
Renderer
from
"./Renderer"
;
interface
Props
{
content
:
string
;
nodes
?:
Node
[];
nodes
:
Node
[];
className
?:
string
;
onMemoContentClick
?:
(
e
:
React
.
MouseEvent
)
=>
void
;
}
const
MemoContent
:
React
.
FC
<
Props
>
=
(
props
:
Props
)
=>
{
const
{
className
,
content
,
onMemoContentClick
}
=
props
;
const
[
nodes
,
setNodes
]
=
useState
<
Node
[]
>
(
props
.
nodes
??
[]);
const
{
className
,
onMemoContentClick
}
=
props
;
const
memoContentContainerRef
=
useRef
<
HTMLDivElement
>
(
null
);
useEffect
(()
=>
{
if
(
!
isUndefined
(
props
.
nodes
))
{
return
;
}
markdownServiceClient
.
parseMarkdown
({
markdown
:
content
,
})
.
then
(({
nodes
})
=>
{
setNodes
(
nodes
);
});
},
[
content
,
props
.
nodes
]);
const
handleMemoContentClick
=
async
(
e
:
React
.
MouseEvent
)
=>
{
if
(
onMemoContentClick
)
{
onMemoContentClick
(
e
);
...
...
@@ -43,7 +25,7 @@ const MemoContent: React.FC<Props> = (props: Props) => {
className=
"w-full max-w-full word-break text-base leading-6 space-y-1"
onClick=
{
handleMemoContentClick
}
>
{
nodes
.
map
((
node
,
index
)
=>
(
{
props
.
nodes
.
map
((
node
,
index
)
=>
(
<
Renderer
key=
{
`${node.type}-${index}`
}
node=
{
node
}
/>
))
}
</
div
>
...
...
web/src/components/MemoView.tsx
View file @
ea87a1dc
...
...
@@ -205,7 +205,7 @@ const MemoView: React.FC<Props> = (props: Props) => {
<
div
className=
"w-auto hidden group-hover:flex flex-row justify-between items-center"
>
{
props
.
showVisibility
&&
memo
.
visibility
!==
Visibility
.
PRIVATE
&&
(
<>
<
Tooltip
title=
{
t
(
`memo.visibility.${convertVisibilityToString(memo.visibility)}`
as
any
)
}
placement=
"top"
>
<
Tooltip
title=
{
t
(
`memo.visibility.${convertVisibilityToString(memo.visibility)
.toLowerCase()
}`
as
any
)
}
placement=
"top"
>
<
span
>
<
VisibilityIcon
visibility=
{
memo
.
visibility
}
/>
</
span
>
...
...
@@ -251,7 +251,7 @@ const MemoView: React.FC<Props> = (props: Props) => {
)
}
</
div
>
</
div
>
<
MemoContent
content=
{
memo
.
content
}
nodes=
{
memo
.
nodes
}
onMemoContentClick=
{
handleMemoContentClick
}
/>
<
MemoContent
nodes=
{
memo
.
nodes
}
onMemoContentClick=
{
handleMemoContentClick
}
/>
<
MemoResourceListView
resourceList=
{
memo
.
resources
}
/>
<
MemoRelationListView
memo=
{
memo
}
relationList=
{
referenceRelations
}
/>
</
div
>
...
...
web/src/components/ShareMemoDialog.tsx
View file @
ea87a1dc
...
...
@@ -100,7 +100,7 @@ const ShareMemoDialog: React.FC<Props> = (props: Props) => {
>
<
span
className=
"w-full px-6 pt-5 pb-2 text-sm text-gray-500"
>
{
getDateTimeString
(
memo
.
displayTime
)
}
</
span
>
<
div
className=
"w-full px-6 text-base pb-4"
>
<
MemoContent
content=
{
memo
.
content
}
/>
<
MemoContent
nodes=
{
memo
.
nodes
}
/>
<
MemoResourceListView
resourceList=
{
memo
.
resources
}
/>
</
div
>
<
div
className=
"flex flex-row justify-between items-center w-full bg-gray-100 dark:bg-zinc-700 py-4 px-6"
>
...
...
web/src/components/TimelineMemo.tsx
View file @
ea87a1dc
...
...
@@ -21,7 +21,7 @@ const TimelineMemo = (props: Props) => {
<
Icon
.
Dot
className=
"w-5 h-auto opacity-60"
/>
<
span
className=
"opacity-60"
>
#
{
memo
.
id
}
</
span
>
</
div
>
<
MemoContent
content=
{
memo
.
content
}
nodes=
{
memo
.
nodes
}
/>
<
MemoContent
nodes=
{
memo
.
nodes
}
/>
<
MemoResourceListView
resourceList=
{
memo
.
resources
}
/>
<
MemoRelationListView
memo=
{
memo
}
relationList=
{
relations
}
/>
</
div
>
...
...
web/src/pages/Archived.tsx
View file @
ea87a1dc
...
...
@@ -105,7 +105,7 @@ const Archived = () => {
</
Tooltip
>
</
div
>
</
div
>
<
MemoContent
content=
{
memo
.
content
}
nodes=
{
memo
.
nodes
}
/>
<
MemoContent
nodes=
{
memo
.
nodes
}
/>
</
div
>
))
}
</
div
>
...
...
web/src/pages/MemoDetail.tsx
View file @
ea87a1dc
...
...
@@ -139,7 +139,7 @@ const MemoDetail = () => {
</
Link
>
</
div
>
)
}
<
MemoContent
content=
{
memo
.
content
}
/>
<
MemoContent
nodes=
{
memo
.
nodes
}
/>
<
MemoResourceListView
resourceList=
{
memo
.
resources
}
/>
<
MemoRelationListView
memo=
{
memo
}
relationList=
{
referenceRelations
}
/>
<
div
className=
"w-full mt-3 flex flex-row justify-between items-center gap-2"
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment