chore: rename navigator

This commit is contained in:
Steven 2023-12-19 00:13:22 +08:00
parent 7c5fdd1b06
commit fe4ec0b156
16 changed files with 161 additions and 194 deletions

View file

@ -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'
);

View file

@ -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 mt-1">
<div className="w-auto max-w-full mb-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}`}

View file

@ -43,11 +43,11 @@ const Navigation = () => {
title: t("common.home"),
icon: <Icon.Home className="mr-3 w-6 h-auto opacity-70" />,
};
const dailyReviewNavLink: 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 timelineNavLink: 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, dailyReviewNavLink, resourcesNavLink, exploreNavLink, inboxNavLink, archivedNavLink, settingNavLink]
? [homeNavLink, timelineNavLink, resourcesNavLink, exploreNavLink, inboxNavLink, archivedNavLink, settingNavLink]
: [exploreNavLink, signInNavLink];
return (

View file

@ -70,10 +70,6 @@
"visibility": "الرؤية",
"yourself": "نفسك"
},
"daily-review": {
"no-memos": "عفوًا، لا يوجد شيء.",
"title": "المراجعة اليومية"
},
"editor": {
"cancel-edit": "إلغاء التعديل",
"cant-empty": "المحتوى لا يمكن أن يكون فارغ",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -78,10 +78,6 @@
"visibility": "Видимость",
"yourself": "Вы"
},
"daily-review": {
"no-memos": "Записей нет.",
"title": "По дням"
},
"days": {
"fri": "Пт.",
"mon": "Пон.",

View file

@ -82,9 +82,8 @@
"yourself": "您自己",
"inbox": "通知"
},
"daily-review": {
"no-memos": "哎呀,空无一物。",
"title": "每日回顾"
"timeline": {
"title": "时间线"
},
"days": {
"fri": "五",

View file

@ -82,9 +82,8 @@
"visibility": "可見度",
"yourself": "你自己"
},
"daily-review": {
"no-memos": "可惜可惜,是日空空如也。",
"title": "每日回顧"
"timeline": {
"title": "时间线"
},
"days": {
"fri": "五",

View file

@ -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="submit"
disabled={actionBtnLoadingState.isLoading}
loading={actionBtnLoadingState.isLoading}
onClick={handleSignInButtonClick}
>
{t("common.sign-in")}
</Button>
size="lg"
type="text"
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>
);

View file

@ -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>
<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>
<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="md"
type="submit"
disabled={actionBtnLoadingState.isLoading}
loading={actionBtnLoadingState.isLoading}
onClick={handleSignUpButtonClick}
>
{t("common.sign-up")}
</Button>
size="lg"
type="text"
readOnly={actionBtnLoadingState.isLoading}
placeholder={t("common.username")}
value={username}
onChange={handleUsernameInputChanged}
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 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-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>
);

View file

@ -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;

View file

@ -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>
),
},