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
522da2a1
Commit
522da2a1
authored
Jun 07, 2025
by
Johnny
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: border color
parent
f5c64849
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
30 additions
and
27 deletions
+30
-27
TagsSection.tsx
web/src/components/HomeSidebar/TagsSection.tsx
+1
-1
EmbeddedMemo.tsx
...c/components/MemoContent/EmbeddedContent/EmbeddedMemo.tsx
+1
-1
Table.tsx
web/src/components/MemoContent/Table.tsx
+4
-4
MemoDetailSidebar.tsx
web/src/components/MemoDetailSidebar/MemoDetailSidebar.tsx
+4
-4
MemoFilters.tsx
web/src/components/MemoFilters.tsx
+1
-1
MemoRelationListView.tsx
web/src/components/MemoRelationListView.tsx
+3
-3
MemoResourceListView.tsx
web/src/components/MemoResourceListView.tsx
+1
-1
Navigation.tsx
web/src/components/Navigation.tsx
+2
-2
ReactionSelector.tsx
web/src/components/ReactionSelector.tsx
+4
-1
ReactionView.tsx
web/src/components/ReactionView.tsx
+1
-1
SearchBar.tsx
web/src/components/SearchBar.tsx
+1
-1
AccessTokenSection.tsx
web/src/components/Settings/AccessTokenSection.tsx
+1
-1
MemberSection.tsx
web/src/components/Settings/MemberSection.tsx
+2
-2
WebhookSection.tsx
web/src/components/Settings/WebhookSection.tsx
+1
-1
MemoDetail.tsx
web/src/pages/MemoDetail.tsx
+1
-1
Resources.tsx
web/src/pages/Resources.tsx
+2
-2
No files found.
web/src/components/HomeSidebar/TagsSection.tsx
View file @
522da2a1
...
...
@@ -106,7 +106,7 @@ const TagsSection = observer((props: Props) => {
)
)
:
(
!
props
.
readonly
&&
(
<
div
className=
"p-2 border border-dashed dark:border-zinc-800 rounded-md flex flex-row justify-start items-start gap-1 text-gray-400 dark:text-gray-500"
>
<
div
className=
"p-2 border border-dashed
border-zinc-200
dark:border-zinc-800 rounded-md flex flex-row justify-start items-start gap-1 text-gray-400 dark:text-gray-500"
>
<
TagsIcon
/>
<
p
className=
"mt-0.5 text-sm leading-snug italic"
>
{
t
(
"tag.create-tags-guide"
)
}
</
p
>
</
div
>
...
...
web/src/components/MemoContent/EmbeddedContent/EmbeddedMemo.tsx
View file @
522da2a1
...
...
@@ -67,7 +67,7 @@ const EmbeddedMemo = observer(({ resourceId: uid, params: paramsStr }: Props) =>
};
return
(
<
div
className=
"relative flex flex-col justify-start items-start w-full px-3 py-2 bg-zinc-50 dark:bg-zinc-900 rounded-lg border border-
gray
-200 dark:border-zinc-700 hover:shadow"
>
<
div
className=
"relative flex flex-col justify-start items-start w-full px-3 py-2 bg-zinc-50 dark:bg-zinc-900 rounded-lg border border-
zinc
-200 dark:border-zinc-700 hover:shadow"
>
<
div
className=
"w-full mb-1 flex flex-row justify-between items-center text-gray-400 dark:text-gray-500"
>
<
div
className=
"text-sm leading-5 select-none"
>
<
relative
-
time
datetime=
{
memo
.
displayTime
?.
toISOString
()
}
format=
"datetime"
></
relative
-
time
>
...
...
web/src/components/MemoContent/Table.tsx
View file @
522da2a1
...
...
@@ -9,9 +9,9 @@ interface Props {
const
Table
=
({
header
,
rows
}:
Props
)
=>
{
return
(
<
table
className=
"w-auto max-w-full border border-
gray-300 dark:border-zinc-600 divide-y divide-gray-3
00 dark:divide-zinc-600"
>
<
table
className=
"w-auto max-w-full border border-
zinc-200 dark:border-zinc-600 divide-y divide-zinc-2
00 dark:divide-zinc-600"
>
<
thead
className=
"text-sm font-medium leading-5 text-left text-gray-900 dark:text-gray-400"
>
<
tr
className=
"divide-x divide-
gray-3
00 dark:divide-zinc-600"
>
<
tr
className=
"divide-x divide-
zinc-2
00 dark:divide-zinc-600"
>
{
header
.
map
((
h
,
i
)
=>
(
<
th
key=
{
i
}
className=
"py-1 px-2"
>
<
Renderer
key=
{
`${h.type}-${i}`
}
index=
{
String
(
i
)
}
node=
{
h
}
/>
...
...
@@ -19,9 +19,9 @@ const Table = ({ header, rows }: Props) => {
))
}
</
tr
>
</
thead
>
<
tbody
className=
"divide-y divide-
gray-3
00 dark:divide-zinc-600 text-sm leading-5 text-left text-gray-900 dark:text-gray-400"
>
<
tbody
className=
"divide-y divide-
zinc-2
00 dark:divide-zinc-600 text-sm leading-5 text-left text-gray-900 dark:text-gray-400"
>
{
rows
.
map
((
row
,
i
)
=>
(
<
tr
key=
{
i
}
className=
"divide-x divide-
gray-3
00 dark:divide-zinc-600"
>
<
tr
key=
{
i
}
className=
"divide-x divide-
zinc-2
00 dark:divide-zinc-600"
>
{
row
.
cells
.
map
((
r
,
j
)
=>
(
<
td
key=
{
j
}
className=
"py-1 px-2"
>
<
Renderer
key=
{
`${r.type}-${i}-${j}`
}
index=
{
String
(
j
)
}
node=
{
r
}
/>
...
...
web/src/components/MemoDetailSidebar/MemoDetailSidebar.tsx
View file @
522da2a1
...
...
@@ -23,7 +23,7 @@ const MemoDetailSidebar = ({ memo, className, parentPage }: Props) => {
>
<
div
className=
"flex flex-col justify-start items-start w-full px-1 gap-2 h-auto shrink-0 flex-nowrap hide-scrollbar"
>
{
shouldShowRelationGraph
&&
(
<
div
className=
"relative w-full h-36 border rounded-lg bg-zinc-50 dark:bg-zinc-900 dark:border-zinc-800"
>
<
div
className=
"relative w-full h-36 border
border-zinc-200
rounded-lg bg-zinc-50 dark:bg-zinc-900 dark:border-zinc-800"
>
<
MemoRelationForceGraph
className=
"w-full h-full"
memo=
{
memo
}
parentPage=
{
parentPage
}
/>
<
div
className=
"absolute top-1 left-2 text-xs opacity-60 font-mono gap-1 flex flex-row items-center"
>
<
span
>
{
t
(
"common.relations"
)
}
</
span
>
...
...
@@ -52,7 +52,7 @@ const MemoDetailSidebar = ({ memo, className, parentPage }: Props) => {
</
p
>
<
div
className=
"w-full flex flex-row justify-start items-center gap-x-2 gap-y-1 flex-wrap text-gray-500 dark:text-gray-400"
>
{
property
.
hasLink
&&
(
<
div
className=
"w-auto border dark:border-zinc-800 pl-1 pr-1.5 rounded-md flex justify-between items-center"
>
<
div
className=
"w-auto border
border-zinc-200
dark:border-zinc-800 pl-1 pr-1.5 rounded-md flex justify-between items-center"
>
<
div
className=
"w-auto flex justify-start items-center mr-1"
>
<
LinkIcon
className=
"w-4 h-auto mr-1"
/>
<
span
className=
"block text-sm"
>
{
t
(
"memo.links"
)
}
</
span
>
...
...
@@ -60,7 +60,7 @@ const MemoDetailSidebar = ({ memo, className, parentPage }: Props) => {
</
div
>
)
}
{
property
.
hasTaskList
&&
(
<
div
className=
"w-auto border dark:border-zinc-800 pl-1 pr-1.5 rounded-md flex justify-between items-center"
>
<
div
className=
"w-auto border
border-zinc-200
dark:border-zinc-800 pl-1 pr-1.5 rounded-md flex justify-between items-center"
>
<
div
className=
"w-auto flex justify-start items-center mr-1"
>
<
CheckCircleIcon
className=
"w-4 h-auto mr-1"
/>
<
span
className=
"block text-sm"
>
{
t
(
"memo.to-do"
)
}
</
span
>
...
...
@@ -68,7 +68,7 @@ const MemoDetailSidebar = ({ memo, className, parentPage }: Props) => {
</
div
>
)
}
{
property
.
hasCode
&&
(
<
div
className=
"w-auto border dark:border-zinc-800 pl-1 pr-1.5 rounded-md flex justify-between items-center"
>
<
div
className=
"w-auto border
border-zinc-200
dark:border-zinc-800 pl-1 pr-1.5 rounded-md flex justify-between items-center"
>
<
div
className=
"w-auto flex justify-start items-center mr-1"
>
<
Code2Icon
className=
"w-4 h-auto mr-1"
/>
<
span
className=
"block text-sm"
>
{
t
(
"memo.code"
)
}
</
span
>
...
...
web/src/components/MemoFilters.tsx
View file @
522da2a1
...
...
@@ -49,7 +49,7 @@ const MemoFilters = observer(() => {
{
filters
.
map
((
filter
:
MemoFilter
)
=>
(
<
div
key=
{
getMemoFilterKey
(
filter
)
}
className=
"w-auto leading-7 h-7 shrink-0 flex flex-row items-center gap-1 bg-white dark:bg-zinc-800 border dark:border-zinc-700 pl-1.5 pr-1 rounded-md hover:line-through cursor-pointer"
className=
"w-auto leading-7 h-7 shrink-0 flex flex-row items-center gap-1 bg-white dark:bg-zinc-800 border
border-zinc-200
dark:border-zinc-700 pl-1.5 pr-1 rounded-md hover:line-through cursor-pointer"
onClick=
{
()
=>
memoFilterStore
.
removeFilter
((
f
:
MemoFilter
)
=>
isEqual
(
f
,
filter
))
}
>
<
FactorIcon
className=
"w-4 h-auto text-gray-500 dark:text-gray-400 opacity-60"
factor=
{
filter
.
factor
}
/>
...
...
web/src/components/MemoRelationListView.tsx
View file @
522da2a1
...
...
@@ -29,7 +29,7 @@ const MemoRelationListView = (props: Props) => {
}
return
(
<
div
className=
"relative flex flex-col justify-start items-start w-full px-2 pt-2 pb-1.5 bg-zinc-50 dark:bg-zinc-900 rounded-lg border border-
gray
-200 dark:border-zinc-700"
>
<
div
className=
"relative flex flex-col justify-start items-start w-full px-2 pt-2 pb-1.5 bg-zinc-50 dark:bg-zinc-900 rounded-lg border border-
zinc
-200 dark:border-zinc-700"
>
<
div
className=
"w-full flex flex-row justify-start items-center mb-1 gap-3 opacity-60"
>
{
referencingMemoList
.
length
>
0
&&
(
<
button
...
...
@@ -71,7 +71,7 @@ const MemoRelationListView = (props: Props) => {
from
:
parentPage
,
}
}
>
<
span
className=
"text-xs opacity-60 leading-4 border font-mono px-1 rounded-full mr-1 dark:border-zinc-700"
>
<
span
className=
"text-xs opacity-60 leading-4 border
border-zinc-200
font-mono px-1 rounded-full mr-1 dark:border-zinc-700"
>
{
memo
.
uid
.
slice
(
0
,
6
)
}
</
span
>
<
span
className=
"truncate"
>
{
memo
.
snippet
}
</
span
>
...
...
@@ -93,7 +93,7 @@ const MemoRelationListView = (props: Props) => {
from
:
parentPage
,
}
}
>
<
span
className=
"text-xs opacity-60 leading-4 border font-mono px-1 rounded-full mr-1 dark:border-zinc-700"
>
<
span
className=
"text-xs opacity-60 leading-4 border
border-zinc-200
font-mono px-1 rounded-full mr-1 dark:border-zinc-700"
>
{
memo
.
uid
.
slice
(
0
,
6
)
}
</
span
>
<
span
className=
"truncate"
>
{
memo
.
snippet
}
</
span
>
...
...
web/src/components/MemoResourceListView.tsx
View file @
522da2a1
...
...
@@ -48,7 +48,7 @@ const MemoResourceListView = ({ resources = [] }: { resources: Resource[] }) =>
return
(
<
video
className=
{
cn
(
"cursor-pointer h-full w-auto rounded-lg border dark:border-zinc-800 object-contain bg-zinc-100 dark:bg-zinc-800"
,
"cursor-pointer h-full w-auto rounded-lg border
border-zinc-200
dark:border-zinc-800 object-contain bg-zinc-100 dark:bg-zinc-800"
,
className
,
)
}
preload=
"metadata"
...
...
web/src/components/Navigation.tsx
View file @
522da2a1
...
...
@@ -78,9 +78,9 @@ const Navigation = observer((props: Props) => {
<
NavLink
className=
{
({
isActive
})
=>
cn
(
"px-2 py-2 rounded-2xl border flex flex-row items-center text-lg text-gray-800 dark:text-gray-400 hover:bg-white hover:border-
gray
-200 dark:hover:border-zinc-700 dark:hover:bg-zinc-800"
,
"px-2 py-2 rounded-2xl border flex flex-row items-center text-lg text-gray-800 dark:text-gray-400 hover:bg-white hover:border-
zinc
-200 dark:hover:border-zinc-700 dark:hover:bg-zinc-800"
,
collapsed
?
""
:
"w-full px-4"
,
isActive
?
"bg-white drop-shadow-sm dark:bg-zinc-900 border-
gray
-200 dark:border-zinc-700"
:
"border-transparent"
,
isActive
?
"bg-white drop-shadow-sm dark:bg-zinc-900 border-
zinc
-200 dark:border-zinc-700"
:
"border-transparent"
,
)
}
key=
{
navLink
.
id
}
...
...
web/src/components/ReactionSelector.tsx
View file @
522da2a1
...
...
@@ -58,7 +58,10 @@ const ReactionSelector = observer((props: Props) => {
<
Dropdown
open=
{
open
}
onOpenChange=
{
(
_
,
isOpen
)
=>
setOpen
(
isOpen
)
}
>
<
MenuButton
slots=
{
{
root
:
"div"
}
}
>
<
span
className=
{
cn
(
"h-7 w-7 flex justify-center items-center rounded-full border dark:border-zinc-700 hover:opacity-70"
,
className
)
}
className=
{
cn
(
"h-7 w-7 flex justify-center items-center rounded-full border border-zinc-200 dark:border-zinc-700 hover:opacity-70"
,
className
,
)
}
>
<
SmilePlusIcon
className=
"w-4 h-4 mx-auto text-gray-500 dark:text-gray-400"
/>
</
span
>
...
...
web/src/components/ReactionView.tsx
View file @
522da2a1
...
...
@@ -68,7 +68,7 @@ const ReactionView = observer((props: Props) => {
<
Tooltip
title=
{
stringifyUsers
(
users
,
reactionType
)
}
placement=
"top"
>
<
div
className=
{
cn
(
"h-7 border px-2 py-0.5 rounded-full flex flex-row justify-center items-center gap-1 dark:border-zinc-700"
,
"h-7 border
border-zinc-200
px-2 py-0.5 rounded-full flex flex-row justify-center items-center gap-1 dark:border-zinc-700"
,
"text-sm text-gray-600 dark:text-gray-400"
,
currentUser
&&
!
readonly
&&
"cursor-pointer"
,
hasReaction
&&
"bg-blue-100 border-blue-200 dark:bg-zinc-900"
,
...
...
web/src/components/SearchBar.tsx
View file @
522da2a1
...
...
@@ -35,7 +35,7 @@ const SearchBar = observer(() => {
<
SearchIcon
className=
"absolute left-2 w-4 h-auto opacity-40 dark:text-zinc-300"
/>
<
input
className=
{
cn
(
"w-full text-gray-500 leading-6 dark:text-zinc-300 placeholder:opacity-80 bg-zinc-50 dark:bg-zinc-900 border
dark:border-zinc-800 border-zinc-2
00 text-sm rounded-xl p-1 pl-8 outline-0"
,
"w-full text-gray-500 leading-6 dark:text-zinc-300 placeholder:opacity-80 bg-zinc-50 dark:bg-zinc-900 border
border-zinc-200 dark:border-zinc-8
00 text-sm rounded-xl p-1 pl-8 outline-0"
,
)
}
placeholder=
{
t
(
"memo.search-placeholder"
)
}
value=
{
queryText
}
...
...
web/src/components/Settings/AccessTokenSection.tsx
View file @
522da2a1
...
...
@@ -73,7 +73,7 @@ const AccessTokenSection = () => {
</
div
>
<
div
className=
"w-full mt-2 flow-root"
>
<
div
className=
"overflow-x-auto"
>
<
div
className=
"inline-block min-w-full border rounded-lg align-middle dark:border-zinc-600"
>
<
div
className=
"inline-block min-w-full border
border-zinc-200
rounded-lg align-middle dark:border-zinc-600"
>
<
table
className=
"min-w-full divide-y divide-gray-300 dark:divide-zinc-600"
>
<
thead
>
<
tr
>
...
...
web/src/components/Settings/MemberSection.tsx
View file @
522da2a1
...
...
@@ -143,7 +143,7 @@ const MemberSection = observer(() => {
return
(
<
div
className=
"w-full flex flex-col gap-2 pt-2 pb-4"
>
<
p
className=
"font-medium text-gray-700 dark:text-gray-500"
>
{
t
(
"setting.member-section.create-a-member"
)
}
</
p
>
<
div
className=
"w-auto flex flex-col justify-start items-start gap-2 border rounded-md py-2 px-3 dark:border-zinc-700"
>
<
div
className=
"w-auto flex flex-col justify-start items-start gap-2 border
border-zinc-200
rounded-md py-2 px-3 dark:border-zinc-700"
>
<
div
className=
"flex flex-col justify-start items-start gap-1"
>
<
span
>
{
t
(
"common.username"
)
}
</
span
>
<
Input
...
...
@@ -181,7 +181,7 @@ const MemberSection = observer(() => {
<
div
className=
"title-text"
>
{
t
(
"setting.member-list"
)
}
</
div
>
</
div
>
<
div
className=
"w-full overflow-x-auto"
>
<
div
className=
"inline-block min-w-full align-middle border rounded-lg dark:border-zinc-600"
>
<
div
className=
"inline-block min-w-full align-middle border
border-zinc-200
rounded-lg dark:border-zinc-600"
>
<
table
className=
"min-w-full divide-y divide-gray-300 dark:divide-zinc-600"
>
<
thead
>
<
tr
className=
"text-sm font-semibold text-left text-gray-900 dark:text-gray-400"
>
...
...
web/src/components/Settings/WebhookSection.tsx
View file @
522da2a1
...
...
@@ -60,7 +60,7 @@ const WebhookSection = () => {
</
div
>
<
div
className=
"w-full mt-2 flow-root"
>
<
div
className=
"overflow-x-auto"
>
<
div
className=
"inline-block min-w-full border rounded-lg align-middle dark:border-zinc-600"
>
<
div
className=
"inline-block min-w-full border
border-zinc-200
rounded-lg align-middle dark:border-zinc-600"
>
<
table
className=
"min-w-full divide-y divide-gray-300 dark:divide-zinc-600"
>
<
thead
>
<
tr
>
...
...
web/src/pages/MemoDetail.tsx
View file @
522da2a1
...
...
@@ -93,7 +93,7 @@ const MemoDetail = observer(() => {
{
parentMemo
&&
(
<
div
className=
"w-auto inline-block mb-2"
>
<
Link
className=
"px-3 py-1 border rounded-lg max-w-xs w-auto text-sm flex flex-row justify-start items-center flex-nowrap text-gray-600 dark:text-gray-400 dark:border-gray-500 hover:shadow hover:opacity-80"
className=
"px-3 py-1 border
border-zinc-200
rounded-lg max-w-xs w-auto text-sm flex flex-row justify-start items-center flex-nowrap text-gray-600 dark:text-gray-400 dark:border-gray-500 hover:shadow hover:opacity-80"
to=
{
`/${parentMemo.name}`
}
state=
{
locationState
}
viewTransition
...
...
web/src/pages/Resources.tsx
View file @
522da2a1
...
...
@@ -111,7 +111,7 @@ const Resources = observer(() => {
{
resources
.
map
((
resource
)
=>
{
return
(
<
div
key=
{
resource
.
name
}
className=
"w-24 sm:w-32 h-auto flex flex-col justify-start items-start"
>
<
div
className=
"w-24 h-24 flex justify-center items-center sm:w-32 sm:h-32 border dark:border-zinc-900 overflow-clip rounded-xl cursor-pointer hover:shadow hover:opacity-80"
>
<
div
className=
"w-24 h-24 flex justify-center items-center sm:w-32 sm:h-32 border
border-zinc-200
dark:border-zinc-900 overflow-clip rounded-xl cursor-pointer hover:shadow hover:opacity-80"
>
<
ResourceIcon
resource=
{
resource
}
strokeWidth=
{
0.5
}
/>
</
div
>
<
div
className=
"w-full max-w-full flex flex-row justify-between items-center mt-1 px-1"
>
...
...
@@ -143,7 +143,7 @@ const Resources = observer(() => {
{
unusedResources
.
map
((
resource
)
=>
{
return
(
<
div
key=
{
resource
.
name
}
className=
"w-24 sm:w-32 h-auto flex flex-col justify-start items-start"
>
<
div
className=
"w-24 h-24 flex justify-center items-center sm:w-32 sm:h-32 border dark:border-zinc-900 overflow-clip rounded-xl cursor-pointer hover:shadow hover:opacity-80"
>
<
div
className=
"w-24 h-24 flex justify-center items-center sm:w-32 sm:h-32 border
border-zinc-200
dark:border-zinc-900 overflow-clip rounded-xl cursor-pointer hover:shadow hover:opacity-80"
>
<
ResourceIcon
resource=
{
resource
}
strokeWidth=
{
0.5
}
/>
</
div
>
<
div
className=
"w-full max-w-full flex flex-row justify-between items-center mt-1 px-1"
>
...
...
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