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
fe4ec0b1
Commit
fe4ec0b1
authored
Dec 18, 2023
by
Steven
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: rename navigator
parent
7c5fdd1b
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
160 additions
and
193 deletions
+160
-193
10002__memo.sql
store/db/sqlite/seed/10002__memo.sql
+1
-3
Memo.tsx
web/src/components/Memo.tsx
+2
-2
Navigation.tsx
web/src/components/Navigation.tsx
+6
-6
ar.json
web/src/locales/ar.json
+0
-4
de.json
web/src/locales/de.json
+0
-4
en.json
web/src/locales/en.json
+2
-3
fr.json
web/src/locales/fr.json
+0
-4
nl.json
web/src/locales/nl.json
+0
-4
pt-BR.json
web/src/locales/pt-BR.json
+0
-4
ru.json
web/src/locales/ru.json
+0
-4
zh-Hans.json
web/src/locales/zh-Hans.json
+2
-3
zh-Hant.json
web/src/locales/zh-Hant.json
+2
-3
SignIn.tsx
web/src/pages/SignIn.tsx
+82
-84
SignUp.tsx
web/src/pages/SignUp.tsx
+57
-59
Timeline.tsx
web/src/pages/Timeline.tsx
+3
-3
index.tsx
web/src/router/index.tsx
+3
-3
No files found.
store/db/sqlite/seed/10002__memo.sql
View file @
fe4ec0b1
...
...
@@ -55,9 +55,7 @@ VALUES
'#TODO
- [x] Take more photos about **🌄 sunset**;
- [ ] Clean the classroom;
- [ ] Watch *👦 The Boys*;
(👆 click to toggle status)
'
,
- [ ] Watch *👦 The Boys*;'
,
102
,
'PROTECTED'
);
...
...
web/src/components/Memo.tsx
View file @
fe4ec0b1
...
...
@@ -212,7 +212,7 @@ const Memo: React.FC<Props> = (props: Props) => {
className=
{
`group memo-wrapper ${"memos-" + memo.id} ${memo.pinned && props.showPinnedStyle ? "pinned" : ""}`
}
ref=
{
memoContainerRef
}
>
<
div
className=
"memo-top-wrapper"
>
<
div
className=
"memo-top-wrapper
mb-1
"
>
<
div
className=
"w-full max-w-[calc(100%-20px)] flex flex-row justify-start items-center mr-1"
>
{
props
.
showCreator
&&
creator
&&
(
<>
...
...
@@ -303,7 +303,7 @@ const Memo: React.FC<Props> = (props: Props) => {
</
div
>
</
div
>
{
props
.
showParent
&&
memo
.
parent
&&
(
<
div
className=
"w-auto max-w-full m
t
-1"
>
<
div
className=
"w-auto max-w-full m
b
-1"
>
<
Link
className=
"px-2 py-0.5 border rounded-full max-w-xs w-auto text-xs 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=
{
`/m/${memo.parent.id}`
}
...
...
web/src/components/Navigation.tsx
View file @
fe4ec0b1
...
...
@@ -43,11 +43,11 @@ const Navigation = () => {
title
:
t
(
"common.home"
),
icon
:
<
Icon
.
Home
className=
"mr-3 w-6 h-auto opacity-70"
/>,
};
const
dailyReview
NavLink
:
NavLinkItem
=
{
id
:
"header-
daily-review
"
,
path
:
"/
review
"
,
title
:
t
(
"
daily-review
.title"
),
icon
:
<
Icon
.
Calendar
className=
"mr-3 w-6 h-auto opacity-70"
/>,
const
timeline
NavLink
:
NavLinkItem
=
{
id
:
"header-
timeline
"
,
path
:
"/
timeline
"
,
title
:
t
(
"
timeline
.title"
),
icon
:
<
Icon
.
GanttChartSquare
className=
"mr-3 w-6 h-auto opacity-70"
/>,
};
const
resourcesNavLink
:
NavLinkItem
=
{
id
:
"header-resources"
,
...
...
@@ -94,7 +94,7 @@ const Navigation = () => {
};
const
navLinks
:
NavLinkItem
[]
=
user
?
[
homeNavLink
,
dailyReview
NavLink
,
resourcesNavLink
,
exploreNavLink
,
inboxNavLink
,
archivedNavLink
,
settingNavLink
]
?
[
homeNavLink
,
timeline
NavLink
,
resourcesNavLink
,
exploreNavLink
,
inboxNavLink
,
archivedNavLink
,
settingNavLink
]
:
[
exploreNavLink
,
signInNavLink
];
return
(
...
...
web/src/locales/ar.json
View file @
fe4ec0b1
...
...
@@ -70,10 +70,6 @@
"visibility"
:
"الرؤية"
,
"yourself"
:
"نفسك"
},
"daily-review"
:
{
"no-memos"
:
"عفوًا، لا يوجد شيء."
,
"title"
:
"المراجعة اليومية"
},
"editor"
:
{
"cancel-edit"
:
"إلغاء التعديل"
,
"cant-empty"
:
"المحتوى لا يمكن أن يكون فارغ"
,
...
...
web/src/locales/de.json
View file @
fe4ec0b1
...
...
@@ -81,10 +81,6 @@
"visibility"
:
"Sichtbarkeit"
,
"yourself"
:
"Du selbst"
},
"daily-review"
:
{
"no-memos"
:
"Hoppla, da ist ja gar nichts."
,
"title"
:
"Tagesbilanz"
},
"days"
:
{
"fri"
:
"Fr"
,
"mon"
:
"Mo"
,
...
...
web/src/locales/en.json
View file @
fe4ec0b1
...
...
@@ -157,9 +157,8 @@
"hide"
:
"Hide"
,
"save-all"
:
"Save all"
},
"daily-review"
:
{
"title"
:
"Daily Review"
,
"no-memos"
:
"Oops, there is nothing."
"timeline"
:
{
"title"
:
"Timeline"
},
"setting"
:
{
"my-account"
:
"My Account"
,
...
...
web/src/locales/fr.json
View file @
fe4ec0b1
...
...
@@ -85,10 +85,6 @@
"visibility"
:
"Visibilité"
,
"yourself"
:
"Vous-même"
},
"daily-review"
:
{
"no-memos"
:
"Oups, il n'y a rien."
,
"title"
:
"Résumé journalier"
},
"days"
:
{
"fri"
:
"Ve"
,
"mon"
:
"Lu"
,
...
...
web/src/locales/nl.json
View file @
fe4ec0b1
...
...
@@ -123,10 +123,6 @@
"tag-name"
:
"LABEL_NAAM"
,
"invalid-tag-name"
:
"Onjuiste label naam"
},
"daily-review"
:
{
"title"
:
"Dagelijks"
,
"no-memos"
:
"Oeps, er is niks."
},
"setting"
:
{
"my-account"
:
"Mijn account"
,
"preference"
:
"Voorkeuren"
,
...
...
web/src/locales/pt-BR.json
View file @
fe4ec0b1
...
...
@@ -85,10 +85,6 @@
"visibility"
:
"Visibilidade"
,
"yourself"
:
"Você mesmo"
},
"daily-review"
:
{
"no-memos"
:
"Não há memos."
,
"title"
:
"Resumo Diário"
},
"days"
:
{
"fri"
:
"Sex"
,
"mon"
:
"Seg"
,
...
...
web/src/locales/ru.json
View file @
fe4ec0b1
...
...
@@ -78,10 +78,6 @@
"visibility"
:
"Видимость"
,
"yourself"
:
"Вы"
},
"daily-review"
:
{
"no-memos"
:
"Записей нет."
,
"title"
:
"По дням"
},
"days"
:
{
"fri"
:
"Пт."
,
"mon"
:
"Пон."
,
...
...
web/src/locales/zh-Hans.json
View file @
fe4ec0b1
...
...
@@ -82,9 +82,8 @@
"yourself"
:
"您自己"
,
"inbox"
:
"通知"
},
"daily-review"
:
{
"no-memos"
:
"哎呀,空无一物。"
,
"title"
:
"每日回顾"
"timeline"
:
{
"title"
:
"时间线"
},
"days"
:
{
"fri"
:
"五"
,
...
...
web/src/locales/zh-Hant.json
View file @
fe4ec0b1
...
...
@@ -82,9 +82,8 @@
"visibility"
:
"可見度"
,
"yourself"
:
"你自己"
},
"daily-review"
:
{
"no-memos"
:
"可惜可惜,是日空空如也。"
,
"title"
:
"每日回顧"
"timeline"
:
{
"title"
:
"时间线"
},
"days"
:
{
"fri"
:
"五"
,
...
...
web/src/pages/SignIn.tsx
View file @
fe4ec0b1
...
...
@@ -104,94 +104,92 @@ const SignIn = () => {
};
return
(
<
div
className=
"flex flex-row justify-center items-center w-full h-full dark:bg-zinc-800"
>
<
div
className=
"w-80 max-w-full h-full min-h-screen py-4 flex flex-col justify-start items-center"
>
<
div
className=
"w-full py-4 grow flex flex-col justify-center items-center"
>
<
div
className=
"w-full flex flex-row justify-center items-center mb-6"
>
<
img
className=
"h-14 w-auto rounded-full shadow"
src=
{
systemStatus
.
customizedProfile
.
logoUrl
}
alt=
""
/>
<
p
className=
"ml-2 text-5xl text-black opacity-80 dark:text-gray-200"
>
{
systemStatus
.
customizedProfile
.
name
}
</
p
>
</
div
>
{
!
disablePasswordLogin
&&
(
<>
<
form
className=
"w-full mt-2"
onSubmit=
{
handleFormSubmit
}
>
<
div
className=
"flex flex-col justify-start items-start w-full gap-4"
>
<
div
className=
"w-full flex flex-col justify-start items-start gap-2"
>
<
span
className=
"leading-8 text-gray-600"
>
{
t
(
"common.username"
)
}
</
span
>
<
Input
className=
"w-full"
size=
"lg"
type=
"text"
readOnly=
{
actionBtnLoadingState
.
isLoading
}
placeholder=
{
t
(
"common.username"
)
}
value=
{
username
}
onChange=
{
handleUsernameInputChanged
}
required
/>
</
div
>
<
div
className=
"w-full flex flex-col justify-start items-start gap-2"
>
<
span
className=
"leading-8 text-gray-600"
>
{
t
(
"common.password"
)
}
</
span
>
<
Input
className=
"w-full"
size=
"lg"
type=
"password"
readOnly=
{
actionBtnLoadingState
.
isLoading
}
placeholder=
{
t
(
"common.password"
)
}
value=
{
password
}
onChange=
{
handlePasswordInputChanged
}
required
/>
</
div
>
</
div
>
<
div
className=
"flex flex-row justify-start items-center w-full mt-6"
>
<
Checkbox
label=
{
t
(
"common.remember-me"
)
}
checked=
{
remember
}
onChange=
{
(
e
)
=>
setRemember
(
e
.
target
.
checked
)
}
/>
</
div
>
<
div
className=
"flex flex-row justify-end items-center w-full mt-6"
>
<
Button
<
div
className=
"pt-12 pb-8 w-80 max-w-full h-auto mx-auto flex flex-col justify-start items-center"
>
<
div
className=
"w-full py-4 grow flex flex-col justify-center items-center"
>
<
div
className=
"w-full flex flex-row justify-center items-center mb-6"
>
<
img
className=
"h-14 w-auto rounded-full shadow"
src=
{
systemStatus
.
customizedProfile
.
logoUrl
}
alt=
""
/>
<
p
className=
"ml-2 text-5xl text-black opacity-80 dark:text-gray-200"
>
{
systemStatus
.
customizedProfile
.
name
}
</
p
>
</
div
>
{
!
disablePasswordLogin
&&
(
<>
<
form
className=
"w-full mt-2"
onSubmit=
{
handleFormSubmit
}
>
<
div
className=
"flex flex-col justify-start items-start w-full gap-4"
>
<
div
className=
"w-full flex flex-col justify-start items-start gap-2"
>
<
span
className=
"leading-8 text-gray-600"
>
{
t
(
"common.username"
)
}
</
span
>
<
Input
className=
"w-full"
size=
"
md
"
type=
"
submi
t"
disabled
=
{
actionBtnLoadingState
.
isLoading
}
loading=
{
actionBtnLoadingState
.
isLoading
}
onClick=
{
handleSignInButtonClick
}
>
{
t
(
"common.sign-in"
)
}
</
Button
>
size=
"
lg
"
type=
"
tex
t"
readOnly
=
{
actionBtnLoadingState
.
isLoading
}
placeholder=
{
t
(
"common.username"
)
}
value=
{
username
}
onChange=
{
handleUsernameInputChanged
}
required
/
>
</
div
>
</
form
>
{
systemStatus
.
allowSignUp
&&
(
<
p
className=
"w-full mt-4 text-sm"
>
<
span
className=
"dark:text-gray-500"
>
{
t
(
"auth.sign-up-tip"
)
}
</
span
>
<
Link
to=
"/auth/signup"
className=
"cursor-pointer ml-2 text-blue-600 hover:underline"
>
{
t
(
"common.sign-up"
)
}
</
Link
>
</
p
>
)
}
</>
)
}
{
identityProviderList
.
length
>
0
&&
(
<>
{
!
disablePasswordLogin
&&
<
Divider
className=
"!my-4"
>
{
t
(
"common.or"
)
}
</
Divider
>
}
<
div
className=
"w-full flex flex-col space-y-2"
>
{
identityProviderList
.
map
((
identityProvider
)
=>
(
<
Button
key=
{
identityProvider
.
id
}
variant=
"outlined"
color=
"neutral"
<
div
className=
"w-full flex flex-col justify-start items-start gap-2"
>
<
span
className=
"leading-8 text-gray-600"
>
{
t
(
"common.password"
)
}
</
span
>
<
Input
className=
"w-full"
size=
"md"
onClick=
{
()
=>
handleSignInWithIdentityProvider
(
identityProvider
)
}
>
{
t
(
"common.sign-in-with"
,
{
provider
:
identityProvider
.
name
})
}
</
Button
>
))
}
size=
"lg"
type=
"password"
readOnly=
{
actionBtnLoadingState
.
isLoading
}
placeholder=
{
t
(
"common.password"
)
}
value=
{
password
}
onChange=
{
handlePasswordInputChanged
}
required
/>
</
div
>
</
div
>
</>
)
}
</
div
>
<
div
className=
"flex flex-row items-center justify-center w-full gap-2"
>
<
LocaleSelect
value=
{
locale
}
onChange=
{
handleLocaleSelectChange
}
/>
<
AppearanceSelect
value=
{
appearance
}
onChange=
{
handleAppearanceSelectChange
}
/>
</
div
>
<
div
className=
"flex flex-row justify-start items-center w-full mt-6"
>
<
Checkbox
label=
{
t
(
"common.remember-me"
)
}
checked=
{
remember
}
onChange=
{
(
e
)
=>
setRemember
(
e
.
target
.
checked
)
}
/>
</
div
>
<
div
className=
"flex flex-row justify-end items-center w-full mt-6"
>
<
Button
className=
"w-full"
size=
"md"
type=
"submit"
disabled=
{
actionBtnLoadingState
.
isLoading
}
loading=
{
actionBtnLoadingState
.
isLoading
}
onClick=
{
handleSignInButtonClick
}
>
{
t
(
"common.sign-in"
)
}
</
Button
>
</
div
>
</
form
>
{
systemStatus
.
allowSignUp
&&
(
<
p
className=
"w-full mt-4 text-sm"
>
<
span
className=
"dark:text-gray-500"
>
{
t
(
"auth.sign-up-tip"
)
}
</
span
>
<
Link
to=
"/auth/signup"
className=
"cursor-pointer ml-2 text-blue-600 hover:underline"
>
{
t
(
"common.sign-up"
)
}
</
Link
>
</
p
>
)
}
</>
)
}
{
identityProviderList
.
length
>
0
&&
(
<>
{
!
disablePasswordLogin
&&
<
Divider
className=
"!my-4"
>
{
t
(
"common.or"
)
}
</
Divider
>
}
<
div
className=
"w-full flex flex-col space-y-2"
>
{
identityProviderList
.
map
((
identityProvider
)
=>
(
<
Button
key=
{
identityProvider
.
id
}
variant=
"outlined"
color=
"neutral"
className=
"w-full"
size=
"md"
onClick=
{
()
=>
handleSignInWithIdentityProvider
(
identityProvider
)
}
>
{
t
(
"common.sign-in-with"
,
{
provider
:
identityProvider
.
name
})
}
</
Button
>
))
}
</
div
>
</>
)
}
</
div
>
<
div
className=
"mt-4 flex flex-row items-center justify-center w-full gap-2"
>
<
LocaleSelect
value=
{
locale
}
onChange=
{
handleLocaleSelectChange
}
/>
<
AppearanceSelect
value=
{
appearance
}
onChange=
{
handleAppearanceSelectChange
}
/>
</
div
>
</
div
>
);
...
...
web/src/pages/SignUp.tsx
View file @
fe4ec0b1
...
...
@@ -70,68 +70,66 @@ const SignUp = () => {
};
return
(
<
div
className=
"flex flex-row justify-center items-center w-full h-full dark:bg-zinc-800"
>
<
div
className=
"w-80 max-w-full h-full min-h-screen py-4 flex flex-col justify-start items-center"
>
<
div
className=
"w-full py-4 grow flex flex-col justify-center items-center"
>
<
div
className=
"w-full flex flex-row justify-center items-center mb-6"
>
<
img
className=
"h-14 w-auto rounded-full shadow"
src=
{
systemStatus
.
customizedProfile
.
logoUrl
}
alt=
""
/>
<
p
className=
"ml-2 text-5xl text-black opacity-80 dark:text-gray-200"
>
{
systemStatus
.
customizedProfile
.
name
}
</
p
>
</
div
>
<
p
className=
"w-full text-2xl mt-2 dark:text-gray-500"
>
{
t
(
"auth.create-your-account"
)
}
</
p
>
<
form
className=
"w-full mt-2"
onSubmit=
{
handleFormSubmit
}
>
<
div
className=
"flex flex-col justify-start items-start w-full gap-4"
>
<
div
className=
"w-full flex flex-col justify-start items-start gap-2"
>
<
span
className=
"leading-8 text-gray-600"
>
{
t
(
"common.username"
)
}
</
span
>
<
Input
className=
"w-full"
size=
"lg"
type=
"text"
readOnly=
{
actionBtnLoadingState
.
isLoading
}
placeholder=
{
t
(
"common.username"
)
}
value=
{
username
}
onChange=
{
handleUsernameInputChanged
}
required
/>
</
div
>
<
div
className=
"w-full flex flex-col justify-start items-start gap-2"
>
<
span
className=
"leading-8 text-gray-600"
>
{
t
(
"common.password"
)
}
</
span
>
<
Input
className=
"w-full"
size=
"lg"
type=
"password"
readOnly=
{
actionBtnLoadingState
.
isLoading
}
placeholder=
{
t
(
"common.password"
)
}
value=
{
password
}
onChange=
{
handlePasswordInputChanged
}
required
/>
</
div
>
<
div
className=
"pt-12 pb-8 w-80 max-w-full h-auto mx-auto flex flex-col justify-start items-center"
>
<
div
className=
"w-full py-4 grow flex flex-col justify-center items-center"
>
<
div
className=
"w-full flex flex-row justify-center items-center mb-6"
>
<
img
className=
"h-14 w-auto rounded-full shadow"
src=
{
systemStatus
.
customizedProfile
.
logoUrl
}
alt=
""
/>
<
p
className=
"ml-2 text-5xl text-black opacity-80 dark:text-gray-200"
>
{
systemStatus
.
customizedProfile
.
name
}
</
p
>
</
div
>
<
p
className=
"w-full text-2xl mt-2 dark:text-gray-500"
>
{
t
(
"auth.create-your-account"
)
}
</
p
>
<
form
className=
"w-full mt-2"
onSubmit=
{
handleFormSubmit
}
>
<
div
className=
"flex flex-col justify-start items-start w-full gap-4"
>
<
div
className=
"w-full flex flex-col justify-start items-start gap-2"
>
<
span
className=
"leading-8 text-gray-600"
>
{
t
(
"common.username"
)
}
</
span
>
<
Input
className=
"w-full"
size=
"lg"
type=
"text"
readOnly=
{
actionBtnLoadingState
.
isLoading
}
placeholder=
{
t
(
"common.username"
)
}
value=
{
username
}
onChange=
{
handleUsernameInputChanged
}
required
/>
</
div
>
<
div
className=
"flex flex-row justify-end items-center w-full mt-6"
>
<
Button
<
div
className=
"w-full flex flex-col justify-start items-start gap-2"
>
<
span
className=
"leading-8 text-gray-600"
>
{
t
(
"common.password"
)
}
</
span
>
<
Input
className=
"w-full"
size=
"
md
"
type=
"
submit
"
disabled
=
{
actionBtnLoadingState
.
isLoading
}
loading=
{
actionBtnLoadingState
.
isLoading
}
onClick=
{
handleSignUpButtonClick
}
>
{
t
(
"common.sign-up"
)
}
</
Button
>
size=
"
lg
"
type=
"
password
"
readOnly
=
{
actionBtnLoadingState
.
isLoading
}
placeholder=
{
t
(
"common.password"
)
}
value=
{
password
}
onChange=
{
handlePasswordInputChanged
}
required
/
>
</
div
>
</
form
>
{
!
systemStatus
.
host
&&
<
p
className=
"w-full mt-4 text-sm font-medium dark:text-gray-500"
>
{
t
(
"auth.host-tip"
)
}
</
p
>
}
<
p
className=
"w-full mt-4 text-sm"
>
<
span
className=
"dark:text-gray-500"
>
{
t
(
"auth.sign-in-tip"
)
}
</
span
>
<
Link
to=
"/auth"
className=
"cursor-pointer ml-2 text-blue-600 hover:underline"
>
{
t
(
"common.sign-in"
)
}
</
Link
>
</
p
>
</
div
>
<
div
className=
"flex flex-row items-center justify-center w-full gap-2"
>
<
LocaleSelect
value=
{
locale
}
onChange=
{
handleLocaleSelectChange
}
/>
<
AppearanceSelect
value=
{
appearance
}
onChange=
{
handleAppearanceSelectChange
}
/>
</
div
>
</
div
>
<
div
className=
"flex flex-row justify-end items-center w-full mt-6"
>
<
Button
className=
"w-full"
size=
"md"
type=
"submit"
disabled=
{
actionBtnLoadingState
.
isLoading
}
loading=
{
actionBtnLoadingState
.
isLoading
}
onClick=
{
handleSignUpButtonClick
}
>
{
t
(
"common.sign-up"
)
}
</
Button
>
</
div
>
</
form
>
{
!
systemStatus
.
host
&&
<
p
className=
"w-full mt-4 text-sm font-medium dark:text-gray-500"
>
{
t
(
"auth.host-tip"
)
}
</
p
>
}
<
p
className=
"w-full mt-4 text-sm"
>
<
span
className=
"dark:text-gray-500"
>
{
t
(
"auth.sign-in-tip"
)
}
</
span
>
<
Link
to=
"/auth"
className=
"cursor-pointer ml-2 text-blue-600 hover:underline"
>
{
t
(
"common.sign-in"
)
}
</
Link
>
</
p
>
</
div
>
<
div
className=
"mt-4 flex flex-row items-center justify-center w-full gap-2"
>
<
LocaleSelect
value=
{
locale
}
onChange=
{
handleLocaleSelectChange
}
/>
<
AppearanceSelect
value=
{
appearance
}
onChange=
{
handleAppearanceSelectChange
}
/>
</
div
>
</
div
>
);
...
...
web/src/pages/
DailyReview
.tsx
→
web/src/pages/
Timeline
.tsx
View file @
fe4ec0b1
...
...
@@ -18,7 +18,7 @@ import { useMemoStore } from "@/store/module";
import
{
extractUsernameFromName
}
from
"@/store/v1"
;
import
{
useTranslate
}
from
"@/utils/i18n"
;
const
DailyReview
=
()
=>
{
const
Timeline
=
()
=>
{
const
t
=
useTranslate
();
const
memoStore
=
useMemoStore
();
const
currentUser
=
useCurrentUser
();
...
...
@@ -128,7 +128,7 @@ const DailyReview = () => {
{
selectedDateStamp
===
currentDateStamp
&&
(
<
div
className=
"w-full pl-0 sm:pl-12 sm:mt-4"
>
<
MemoEditor
cacheKey=
"
daily-review
-editor"
/>
<
MemoEditor
cacheKey=
"
timeline
-editor"
/>
</
div
>
)
}
</
div
>
...
...
@@ -138,4 +138,4 @@ const DailyReview = () => {
);
};
export
default
DailyReview
;
export
default
Timeline
;
web/src/router/index.tsx
View file @
fe4ec0b1
...
...
@@ -13,7 +13,7 @@ const Home = lazy(() => import("@/pages/Home"));
const
UserProfile
=
lazy
(()
=>
import
(
"@/pages/UserProfile"
));
const
MemoDetail
=
lazy
(()
=>
import
(
"@/pages/MemoDetail"
));
const
Archived
=
lazy
(()
=>
import
(
"@/pages/Archived"
));
const
DailyReview
=
lazy
(()
=>
import
(
"@/pages/DailyReview
"
));
const
Timeline
=
lazy
(()
=>
import
(
"@/pages/Timeline
"
));
const
Resources
=
lazy
(()
=>
import
(
"@/pages/Resources"
));
const
Inboxes
=
lazy
(()
=>
import
(
"@/pages/Inboxes"
));
const
Setting
=
lazy
(()
=>
import
(
"@/pages/Setting"
));
...
...
@@ -59,10 +59,10 @@ const router = createBrowserRouter([
),
},
{
path
:
"
review
"
,
path
:
"
timeline
"
,
element
:
(
<
AuthStatusProvider
>
<
DailyReview
/>
<
Timeline
/>
</
AuthStatusProvider
>
),
},
...
...
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