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
584c6690
Commit
584c6690
authored
May 09, 2024
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: tweak max width
parent
46a085f8
Changes
16
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
86 additions
and
106 deletions
+86
-106
apidocs.swagger.yaml
docs/apidocs.swagger.yaml
+5
-4
package.json
web/package.json
+3
-3
pnpm-lock.yaml
web/pnpm-lock.yaml
+46
-61
CodeBlock.tsx
web/src/components/MemoContent/CodeBlock.tsx
+3
-20
About.tsx
web/src/pages/About.tsx
+1
-1
Archived.tsx
web/src/pages/Archived.tsx
+7
-3
Explore.tsx
web/src/pages/Explore.tsx
+1
-1
Home.tsx
web/src/pages/Home.tsx
+1
-1
Inboxes.tsx
web/src/pages/Inboxes.tsx
+1
-1
MemoDetail.tsx
web/src/pages/MemoDetail.tsx
+3
-3
NotFound.tsx
web/src/pages/NotFound.tsx
+1
-1
PermissionDenied.tsx
web/src/pages/PermissionDenied.tsx
+1
-1
Resources.tsx
web/src/pages/Resources.tsx
+1
-1
Setting.tsx
web/src/pages/Setting.tsx
+1
-1
Timeline.tsx
web/src/pages/Timeline.tsx
+10
-3
UserProfile.tsx
web/src/pages/UserProfile.tsx
+1
-1
No files found.
docs/apidocs.swagger.yaml
View file @
584c6690
...
@@ -2137,7 +2137,8 @@ definitions:
...
@@ -2137,7 +2137,8 @@ definitions:
Note: this functionality is not currently available in the official
Note: this functionality is not currently available in the official
protobuf release, and it is not used for type URLs beginning with
protobuf release, and it is not used for type URLs beginning with
type.googleapis.com.
type.googleapis.com. As of May 2023, there are no widely used type server
implementations and no plans to implement one.
Schemes other than `http`, `https` (or the empty scheme) might be
Schemes other than `http`, `https` (or the empty scheme) might be
used with implementation specific semantics.
used with implementation specific semantics.
...
@@ -2172,7 +2173,7 @@ definitions:
...
@@ -2172,7 +2173,7 @@ definitions:
foo = any.unpack(Foo.getDefaultInstance());
foo = any.unpack(Foo.getDefaultInstance());
}
}
Example 3: Pack and unpack a message in Python.
Example 3: Pack and unpack a message in Python.
foo = Foo(...)
foo = Foo(...)
any = Any()
any = Any()
...
@@ -2182,7 +2183,7 @@ definitions:
...
@@ -2182,7 +2183,7 @@ definitions:
any.Unpack(foo)
any.Unpack(foo)
...
...
Example 4: Pack and unpack a message in Go
Example 4: Pack and unpack a message in Go
foo := &pb.Foo{...}
foo := &pb.Foo{...}
any, err := anypb.New(foo)
any, err := anypb.New(foo)
...
@@ -2202,7 +2203,7 @@ definitions:
...
@@ -2202,7 +2203,7 @@ definitions:
name "y.z".
name "y.z".
JSON
JSON
====
The JSON representation of an `Any` value uses the regular
The JSON representation of an `Any` value uses the regular
representation of the deserialized, embedded message, with an
representation of the deserialized, embedded message, with an
additional field `@type` which contains the type URL. Example:
additional field `@type` which contains the type URL. Example:
...
...
web/package.json
View file @
584c6690
...
@@ -13,7 +13,7 @@
...
@@ -13,7 +13,7 @@
"@github/relative-time-element"
:
"^4.4.0"
,
"@github/relative-time-element"
:
"^4.4.0"
,
"@matejmazur/react-katex"
:
"^3.1.3"
,
"@matejmazur/react-katex"
:
"^3.1.3"
,
"@mui/joy"
:
"5.0.0-beta.36"
,
"@mui/joy"
:
"5.0.0-beta.36"
,
"@reduxjs/toolkit"
:
"^2.2.
3
"
,
"@reduxjs/toolkit"
:
"^2.2.
4
"
,
"clsx"
:
"^2.1.1"
,
"clsx"
:
"^2.1.1"
,
"copy-to-clipboard"
:
"^3.3.3"
,
"copy-to-clipboard"
:
"^3.3.3"
,
"dayjs"
:
"^1.11.11"
,
"dayjs"
:
"^1.11.11"
,
...
@@ -43,7 +43,7 @@
...
@@ -43,7 +43,7 @@
"@types/dompurify"
:
"^3.0.5"
,
"@types/dompurify"
:
"^3.0.5"
,
"@types/katex"
:
"^0.16.7"
,
"@types/katex"
:
"^0.16.7"
,
"@types/lodash-es"
:
"^4.17.12"
,
"@types/lodash-es"
:
"^4.17.12"
,
"@types/node"
:
"^20.12.1
0
"
,
"@types/node"
:
"^20.12.1
1
"
,
"@types/qs"
:
"^6.9.15"
,
"@types/qs"
:
"^6.9.15"
,
"@types/react"
:
"^18.3.1"
,
"@types/react"
:
"^18.3.1"
,
"@types/react-dom"
:
"^18.3.0"
,
"@types/react-dom"
:
"^18.3.0"
,
...
@@ -64,6 +64,6 @@
...
@@ -64,6 +64,6 @@
"prettier"
:
"^3.2.5"
,
"prettier"
:
"^3.2.5"
,
"protobufjs"
:
"^7.2.6"
,
"protobufjs"
:
"^7.2.6"
,
"typescript"
:
"^5.4.5"
,
"typescript"
:
"^5.4.5"
,
"vite"
:
"^5.2.1
0
"
"vite"
:
"^5.2.1
1
"
}
}
}
}
web/pnpm-lock.yaml
View file @
584c6690
This diff is collapsed.
Click to expand it.
web/src/components/MemoContent/CodeBlock.tsx
View file @
584c6690
import
{
Checkbox
}
from
"@mui/joy"
;
import
clsx
from
"clsx"
;
import
clsx
from
"clsx"
;
import
copy
from
"copy-to-clipboard"
;
import
copy
from
"copy-to-clipboard"
;
import
hljs
from
"highlight.js"
;
import
hljs
from
"highlight.js"
;
import
{
useCallback
,
useMemo
,
useState
}
from
"react"
;
import
{
useCallback
,
useMemo
}
from
"react"
;
import
toast
from
"react-hot-toast"
;
import
toast
from
"react-hot-toast"
;
import
useResponsiveWidth
from
"@/hooks/useResponsiveWidth"
;
import
{
useTranslate
}
from
"@/utils/i18n"
;
import
Icon
from
"../Icon"
;
import
Icon
from
"../Icon"
;
import
MermaidBlock
from
"./MermaidBlock"
;
import
MermaidBlock
from
"./MermaidBlock"
;
import
{
BaseProps
}
from
"./types"
;
import
{
BaseProps
}
from
"./types"
;
...
@@ -31,12 +28,6 @@ const CodeBlock: React.FC<Props> = ({ language, content }: Props) => {
...
@@ -31,12 +28,6 @@ const CodeBlock: React.FC<Props> = ({ language, content }: Props) => {
return
<
MermaidBlock
content=
{
content
}
/>;
return
<
MermaidBlock
content=
{
content
}
/>;
}
}
const
{
md
}
=
useResponsiveWidth
();
const
t
=
useTranslate
();
const
[
wrap
,
setWrap
]
=
useState
(
true
);
const
handleWrapChange
=
useCallback
(()
=>
setWrap
(
!
wrap
),
[
setWrap
,
wrap
]);
const
highlightedCode
:
string
=
useMemo
(()
=>
{
const
highlightedCode
:
string
=
useMemo
(()
=>
{
try
{
try
{
const
lang
=
hljs
.
getLanguage
(
formatedLanguage
);
const
lang
=
hljs
.
getLanguage
(
formatedLanguage
);
...
@@ -61,25 +52,17 @@ const CodeBlock: React.FC<Props> = ({ language, content }: Props) => {
...
@@ -61,25 +52,17 @@ const CodeBlock: React.FC<Props> = ({ language, content }: Props) => {
<
div
className=
"w-full my-1 bg-amber-100 border-l-4 border-amber-400 rounded hover:shadow dark:bg-zinc-600 dark:border-zinc-400 relative"
>
<
div
className=
"w-full my-1 bg-amber-100 border-l-4 border-amber-400 rounded hover:shadow dark:bg-zinc-600 dark:border-zinc-400 relative"
>
<
div
className=
"w-full px-2 py-1 flex flex-row justify-between items-center text-amber-500 dark:text-zinc-400"
>
<
div
className=
"w-full px-2 py-1 flex flex-row justify-between items-center text-amber-500 dark:text-zinc-400"
>
<
span
className=
"text-sm font-mono"
>
{
formatedLanguage
}
</
span
>
<
span
className=
"text-sm font-mono"
>
{
formatedLanguage
}
</
span
>
{
md
&&
<
Icon
.
Copy
className=
"w-4 h-auto cursor-pointer hover:opacity-80"
onClick=
{
handleCopyButtonClick
}
/>
}
<
Icon
.
Copy
className=
"w-4 h-auto cursor-pointer hover:opacity-80"
onClick=
{
handleCopyButtonClick
}
/>
</
div
>
</
div
>
<
div
className=
"overflow-auto"
>
<
div
className=
"overflow-auto"
>
<
pre
className=
{
clsx
(
wrap
?
"whitespace-pre-wrap"
:
"no-wrap overflow-auto"
,
"w-full p-2 bg-amber-50 dark:bg-zinc-700 relative"
)
}
>
<
pre
className=
{
clsx
(
"no-wrap overflow-auto"
,
"w-full p-2 bg-amber-50 dark:bg-zinc-700 relative"
)
}
>
<
code
<
code
className=
{
clsx
(
`language-${formatedLanguage}`
,
"block text-sm leading-5"
)
}
className=
{
clsx
(
`language-${formatedLanguage}`
,
"block text-sm leading-5"
)
}
dangerouslySetInnerHTML=
{
{
__html
:
highlightedCode
}
}
dangerouslySetInnerHTML=
{
{
__html
:
highlightedCode
}
}
></
code
>
></
code
>
</
pre
>
</
pre
>
</
div
>
</
div
>
{
!
md
&&
(
<
div
className=
"sticky flex px-2 h-8 bottom-0 bg-amber-100 dark:bg-zinc-600 rounded items-center"
>
<
div
className=
"grow h-full"
>
<
Checkbox
className=
"h-full items-center"
label=
{
t
(
"memo.wrapping"
)
}
size=
"sm"
checked=
{
wrap
}
onChange=
{
handleWrapChange
}
/>
</
div
>
<
Icon
.
Copy
className=
"w-4 h-full cursor-pointer hover:opacity-80"
onClick=
{
handleCopyButtonClick
}
/>
</
div
>
)
}
</
div
>
</
div
>
);
);
};
};
...
...
web/src/pages/About.tsx
View file @
584c6690
...
@@ -4,7 +4,7 @@ import MobileHeader from "@/components/MobileHeader";
...
@@ -4,7 +4,7 @@ import MobileHeader from "@/components/MobileHeader";
const
About
=
()
=>
{
const
About
=
()
=>
{
return
(
return
(
<
section
className=
"@container w-full max-w-
4
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
section
className=
"@container w-full max-w-
5
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
MobileHeader
/>
<
MobileHeader
/>
<
div
className=
"w-full px-4 sm:px-6"
>
<
div
className=
"w-full px-4 sm:px-6"
>
<
div
className=
"w-full shadow flex flex-col justify-start items-start px-4 py-3 rounded-xl bg-white dark:bg-zinc-800 text-black dark:text-gray-300"
>
<
div
className=
"w-full shadow flex flex-col justify-start items-start px-4 py-3 rounded-xl bg-white dark:bg-zinc-800 text-black dark:text-gray-300"
>
...
...
web/src/pages/Archived.tsx
View file @
584c6690
...
@@ -90,12 +90,16 @@ const Archived = () => {
...
@@ -90,12 +90,16 @@ const Archived = () => {
};
};
return
(
return
(
<
section
className=
"@container w-full max-w-
4
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
section
className=
"@container w-full max-w-
5
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
MobileHeader
/>
<
MobileHeader
/>
<
div
className=
"w-full px-4 sm:px-6"
>
<
div
className=
"w-full px-4 sm:px-6"
>
<
div
className=
"w-full flex flex-col justify-start items-start"
>
<
div
className=
"w-full flex flex-col justify-start items-start"
>
<
div
className=
"w-full flex flex-row justify-end items-center mb-2"
>
<
div
className=
"w-full flex flex-row justify-between items-center mb-2"
>
<
div
className=
"w-40"
>
<
div
className=
"flex flex-row justify-start items-center gap-1"
>
<
Icon
.
Archive
className=
"w-5 h-auto opacity-70 shrink-0"
/>
<
span
className=
"font-medium"
>
{
t
(
"common.archived"
)
}
</
span
>
</
div
>
<
div
className=
"w-44"
>
<
SearchBar
/>
<
SearchBar
/>
</
div
>
</
div
>
</
div
>
</
div
>
...
...
web/src/pages/Explore.tsx
View file @
584c6690
...
@@ -58,7 +58,7 @@ const Explore = () => {
...
@@ -58,7 +58,7 @@ const Explore = () => {
};
};
return
(
return
(
<
section
className=
"@container w-full max-w-
4
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
section
className=
"@container w-full max-w-
5
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
{
!
md
&&
(
{
!
md
&&
(
<
MobileHeader
>
<
MobileHeader
>
<
ExploreSidebarDrawer
/>
<
ExploreSidebarDrawer
/>
...
...
web/src/pages/Home.tsx
View file @
584c6690
...
@@ -72,7 +72,7 @@ const Home = () => {
...
@@ -72,7 +72,7 @@ const Home = () => {
},
[
memoList
]);
},
[
memoList
]);
return
(
return
(
<
section
className=
"@container w-full max-w-
4
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
section
className=
"@container w-full max-w-
5
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
{
!
md
&&
(
{
!
md
&&
(
<
MobileHeader
>
<
MobileHeader
>
<
HomeSidebarDrawer
/>
<
HomeSidebarDrawer
/>
...
...
web/src/pages/Inboxes.tsx
View file @
584c6690
...
@@ -23,7 +23,7 @@ const Inboxes = () => {
...
@@ -23,7 +23,7 @@ const Inboxes = () => {
},
[]);
},
[]);
return
(
return
(
<
section
className=
"@container w-full max-w-
4
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
section
className=
"@container w-full max-w-
5
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
MobileHeader
/>
<
MobileHeader
/>
<
div
className=
"w-full px-4 sm:px-6"
>
<
div
className=
"w-full px-4 sm:px-6"
>
<
div
className=
"w-full shadow flex flex-col justify-start items-start px-4 py-3 rounded-xl bg-white dark:bg-zinc-800 text-black dark:text-gray-300"
>
<
div
className=
"w-full shadow flex flex-col justify-start items-start px-4 py-3 rounded-xl bg-white dark:bg-zinc-800 text-black dark:text-gray-300"
>
...
...
web/src/pages/MemoDetail.tsx
View file @
584c6690
...
@@ -75,7 +75,7 @@ const MemoDetail = () => {
...
@@ -75,7 +75,7 @@ const MemoDetail = () => {
};
};
return
(
return
(
<
section
className=
"@container w-full max-w-
4
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
section
className=
"@container w-full max-w-
5
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
MobileHeader
/>
<
MobileHeader
/>
<
div
className=
"w-full px-4 sm:px-6"
>
<
div
className=
"w-full px-4 sm:px-6"
>
{
parentMemo
&&
(
{
parentMemo
&&
(
...
@@ -110,10 +110,10 @@ const MemoDetail = () => {
...
@@ -110,10 +110,10 @@ const MemoDetail = () => {
<
Button
<
Button
variant=
"plain"
variant=
"plain"
color=
"neutral"
color=
"neutral"
start
Decorator=
{
<
Icon
.
MessageCircle
className=
"w-5 h-auto text-gray-400"
/>
}
end
Decorator=
{
<
Icon
.
MessageCircle
className=
"w-5 h-auto text-gray-400"
/>
}
onClick=
{
handleShowCommentEditor
}
onClick=
{
handleShowCommentEditor
}
>
>
<
span
className=
""
>
{
t
(
"memo.comment.write-a-comment"
)
}
</
span
>
<
span
className=
"
font-normal
"
>
{
t
(
"memo.comment.write-a-comment"
)
}
</
span
>
</
Button
>
</
Button
>
</
div
>
</
div
>
)
)
...
...
web/src/pages/NotFound.tsx
View file @
584c6690
...
@@ -2,7 +2,7 @@ import MobileHeader from "@/components/MobileHeader";
...
@@ -2,7 +2,7 @@ import MobileHeader from "@/components/MobileHeader";
const
NotFound
=
()
=>
{
const
NotFound
=
()
=>
{
return
(
return
(
<
section
className=
"@container w-full max-w-
4
xl min-h-[100svh] flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
section
className=
"@container w-full max-w-
5
xl min-h-[100svh] flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
MobileHeader
/>
<
MobileHeader
/>
<
div
className=
"w-full px-4 grow flex flex-col justify-center items-center sm:px-6"
>
<
div
className=
"w-full px-4 grow flex flex-col justify-center items-center sm:px-6"
>
<
p
className=
"font-medium"
>
{
"The page you are looking for can't be found."
}
</
p
>
<
p
className=
"font-medium"
>
{
"The page you are looking for can't be found."
}
</
p
>
...
...
web/src/pages/PermissionDenied.tsx
View file @
584c6690
...
@@ -2,7 +2,7 @@ import MobileHeader from "@/components/MobileHeader";
...
@@ -2,7 +2,7 @@ import MobileHeader from "@/components/MobileHeader";
const
PermissionDenied
=
()
=>
{
const
PermissionDenied
=
()
=>
{
return
(
return
(
<
section
className=
"@container w-full max-w-
4
xl min-h-[100svh] flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
section
className=
"@container w-full max-w-
5
xl min-h-[100svh] flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
MobileHeader
/>
<
MobileHeader
/>
<
div
className=
"w-full px-4 grow flex flex-col justify-center items-center sm:px-6"
>
<
div
className=
"w-full px-4 grow flex flex-col justify-center items-center sm:px-6"
>
<
p
className=
"font-medium"
>
Permission denied
</
p
>
<
p
className=
"font-medium"
>
Permission denied
</
p
>
...
...
web/src/pages/Resources.tsx
View file @
584c6690
...
@@ -74,7 +74,7 @@ const Resources = () => {
...
@@ -74,7 +74,7 @@ const Resources = () => {
};
};
return
(
return
(
<
section
className=
"@container w-full max-w-
4
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
section
className=
"@container w-full max-w-
5
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
MobileHeader
/>
<
MobileHeader
/>
<
div
className=
"w-full px-4 sm:px-6"
>
<
div
className=
"w-full px-4 sm:px-6"
>
<
div
className=
"w-full shadow flex flex-col justify-start items-start px-4 py-3 rounded-xl bg-white dark:bg-zinc-800 text-black dark:text-gray-300"
>
<
div
className=
"w-full shadow flex flex-col justify-start items-start px-4 py-3 rounded-xl bg-white dark:bg-zinc-800 text-black dark:text-gray-300"
>
...
...
web/src/pages/Setting.tsx
View file @
584c6690
...
@@ -57,7 +57,7 @@ const Setting = () => {
...
@@ -57,7 +57,7 @@ const Setting = () => {
},
[]);
},
[]);
return
(
return
(
<
section
className=
"@container w-full max-w-
4
xl min-h-full flex flex-col justify-start items-start sm:pt-3 md:pt-6 pb-8"
>
<
section
className=
"@container w-full max-w-
5
xl min-h-full flex flex-col justify-start items-start sm:pt-3 md:pt-6 pb-8"
>
<
MobileHeader
/>
<
MobileHeader
/>
<
div
className=
"w-full px-4 sm:px-6"
>
<
div
className=
"w-full px-4 sm:px-6"
>
<
div
className=
"w-full shadow flex flex-row justify-start items-start px-4 py-3 rounded-xl bg-white dark:bg-zinc-800 text-gray-600 dark:text-gray-400"
>
<
div
className=
"w-full shadow flex flex-row justify-start items-start px-4 py-3 rounded-xl bg-white dark:bg-zinc-800 text-gray-600 dark:text-gray-400"
>
...
...
web/src/pages/Timeline.tsx
View file @
584c6690
...
@@ -100,12 +100,18 @@ const Timeline = () => {
...
@@ -100,12 +100,18 @@ const Timeline = () => {
return
nextPageToken
;
return
nextPageToken
;
};
};
const
handleSelectedDataChange
=
(
date
:
string
)
=>
{
if
(
dayjs
(
date
).
isValid
())
{
setSelectedDateString
(
new
Date
(
date
).
toDateString
());
}
};
const
handleNewMemo
=
()
=>
{
const
handleNewMemo
=
()
=>
{
showMemoEditorDialog
({});
showMemoEditorDialog
({});
};
};
return
(
return
(
<
section
className=
"@container w-full max-w-
4
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
section
className=
"@container w-full max-w-
5
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
{
!
md
&&
(
{
!
md
&&
(
<
MobileHeader
>
<
MobileHeader
>
<
TimelineSidebarDrawer
/>
<
TimelineSidebarDrawer
/>
...
@@ -141,9 +147,10 @@ const Timeline = () => {
...
@@ -141,9 +147,10 @@ const Timeline = () => {
<
input
<
input
className=
"inset-0 absolute z-1 opacity-0"
className=
"inset-0 absolute z-1 opacity-0"
type=
"date"
type=
"date"
defaultValue=
{
dayjs
(
selectedDateString
).
format
(
"YYYY-MM-DD"
)
}
max=
{
dayjs
().
format
(
"YYYY-MM-DD"
)
}
value=
{
dayjs
(
selectedDateString
).
format
(
"YYYY-MM-DD"
)
}
onFocus=
{
(
e
)
=>
e
.
target
.
showPicker
()
}
onFocus=
{
(
e
)
=>
e
.
target
.
showPicker
()
}
onChange=
{
(
e
)
=>
setSelectedDateString
(
e
.
target
.
value
)
}
onChange=
{
(
e
)
=>
handleSelectedDataChange
(
e
.
target
.
value
)
}
/>
/>
</
div
>
</
div
>
<
span
className=
"opacity-60 text-lg"
>
{
dayjs
(
monthString
).
year
()
}
</
span
>
<
span
className=
"opacity-60 text-lg"
>
{
dayjs
(
monthString
).
year
()
}
</
span
>
...
...
web/src/pages/UserProfile.tsx
View file @
584c6690
...
@@ -103,7 +103,7 @@ const UserProfile = () => {
...
@@ -103,7 +103,7 @@ const UserProfile = () => {
};
};
return
(
return
(
<
section
className=
"w-full max-w-
4
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
section
className=
"w-full max-w-
5
xl min-h-full flex flex-col justify-start items-center sm:pt-3 md:pt-6 pb-8"
>
<
MobileHeader
/>
<
MobileHeader
/>
<
div
className=
"w-full px-4 sm:px-6 flex flex-col justify-start items-center"
>
<
div
className=
"w-full px-4 sm:px-6 flex flex-col justify-start items-center"
>
{
!
loadingState
.
isLoading
&&
{
!
loadingState
.
isLoading
&&
...
...
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