diff --git a/server/system.go b/server/system.go index 71bf6249..f837f587 100644 --- a/server/system.go +++ b/server/system.go @@ -66,7 +66,7 @@ func (s *Server) registerSystemRoutes(g *echo.Group) { var value interface{} err := json.Unmarshal([]byte(systemSetting.Value), &value) if err != nil { - return echo.NewHTTPError(http.StatusInternalServerError, "Failed to unmarshal system setting").SetInternal(err) + return echo.NewHTTPError(http.StatusInternalServerError, "Failed to unmarshal system setting value").SetInternal(err) } if systemSetting.Name == api.SystemSettingAllowSignUpName { diff --git a/store/system_setting.go b/store/system_setting.go index 21841acb..e7792163 100644 --- a/store/system_setting.go +++ b/store/system_setting.go @@ -114,12 +114,14 @@ func upsertSystemSetting(ctx context.Context, tx *sql.Tx, upsert *api.SystemSett func findSystemSettingList(ctx context.Context, tx *sql.Tx, find *api.SystemSettingFind) ([]*systemSettingRaw, error) { where, args := []string{"1 = 1"}, []interface{}{} - where, args = append(where, "name = ?"), append(args, find.Name.String()) + if find.Name.String() != "" { + where, args = append(where, "name = ?"), append(args, find.Name.String()) + } query := ` SELECT name, - value, + value, description FROM system_setting WHERE ` + strings.Join(where, " AND ") diff --git a/web/src/components/MemoEditor.tsx b/web/src/components/MemoEditor.tsx index 9ea8130b..45ac93e6 100644 --- a/web/src/components/MemoEditor.tsx +++ b/web/src/components/MemoEditor.tsx @@ -257,15 +257,6 @@ const MemoEditor = () => { } }; - const scrollToEditingMemo = useCallback(() => { - if (editorState.editMemoId) { - const memoElements = document.getElementsByClassName(`memos-${editorState.editMemoId}`); - if (memoElements.length !== 0) { - memoElements[0].scrollIntoView({ behavior: "smooth" }); - } - } - }, [editorState.editMemoId]); - const handleSaveBtnClick = async () => { if (state.isRequesting) { return; @@ -327,7 +318,6 @@ const MemoEditor = () => { editorStore.clearResourceList(); setEditorContentCache(""); editorRef.current?.setContent(""); - scrollToEditingMemo(); }; const handleCancelEdit = () => { @@ -336,7 +326,6 @@ const MemoEditor = () => { editorStore.clearResourceList(); editorRef.current?.setContent(""); setEditorContentCache(""); - scrollToEditingMemo(); } }; diff --git a/web/src/less/explore.less b/web/src/less/explore.less index 0b83fab7..a700c5a9 100644 --- a/web/src/less/explore.less +++ b/web/src/less/explore.less @@ -11,17 +11,11 @@ @apply flex flex-row justify-start items-center; > .logo-img { - @apply h-12 sm:h-14 w-auto mr-2; + @apply h-12 w-auto rounded-md mr-2; } > .title-text { - @apply text-xl sm:text-4xl font-mono text-gray-700 dark:text-gray-200; - } - } - - > .action-button-container { - > .link-btn { - @apply block text-gray-600 dark:text-gray-200 dark:border-gray-600 font-mono text-base py-1 border px-3 leading-8 rounded-xl hover:opacity-80; + @apply text-xl sm:text-4xl text-gray-700 dark:text-gray-200; } } } diff --git a/web/src/less/memo-content.less b/web/src/less/memo-content.less index db44e58a..a8fd23bf 100644 --- a/web/src/less/memo-content.less +++ b/web/src/less/memo-content.less @@ -34,7 +34,7 @@ } .tag-span { - @apply inline-block w-auto font-mono text-blue-600 dark:text-blue-400 cursor-pointer; + @apply inline-block w-auto text-blue-600 dark:text-blue-400 cursor-pointer; } .link { @@ -70,13 +70,13 @@ @apply block; } - &:hover{ - .codeblock-copy-btn{ + &:hover { + .codeblock-copy-btn { @apply flex; } } - .codeblock-copy-btn{ + .codeblock-copy-btn { @apply btn-normal absolute hidden top-2 right-2 border-solid border-2; } } diff --git a/web/src/pages/Explore.tsx b/web/src/pages/Explore.tsx index ede994f2..6f4089d8 100644 --- a/web/src/pages/Explore.tsx +++ b/web/src/pages/Explore.tsx @@ -1,7 +1,7 @@ import dayjs from "dayjs"; import { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; -import { Link } from "react-router-dom"; +import { useNavigate } from "react-router-dom"; import { useGlobalStore, useLocationStore, useMemoStore, useUserStore } from "../store/module"; import { DEFAULT_MEMO_LIMIT } from "../helpers/consts"; import useLoading from "../hooks/useLoading"; @@ -19,6 +19,7 @@ interface State { const Explore = () => { const { t, i18n } = useTranslation(); + const navigate = useNavigate(); const globalStore = useGlobalStore(); const locationStore = useLocationStore(); const userStore = useUserStore(); @@ -72,11 +73,11 @@ const Explore = () => { }) : state.memos; - const memoSort = (mi: Memo, mj: Memo) => { - return mj.displayTs - mi.displayTs; - }; - shownMemos.sort(memoSort); - const sortedMemos = shownMemos.filter((m) => m.rowStatus === "NORMAL"); + const sortedMemos = shownMemos + .filter((m) => m.rowStatus === "NORMAL") + .sort((mi: Memo, mj: Memo) => { + return mj.displayTs - mi.displayTs; + }); const handleFetchMoreClick = async () => { try { @@ -109,27 +110,31 @@ const Explore = () => { } }; + const handleTitleClick = () => { + if (user) { + navigate("/"); + } else { + navigate("/auth"); + } + }; + return (
-
+
{customizedProfile.name} - - -
-
- {!loadingState.isLoading && user ? ( - - 🏠 {t("common.back-to-home")} - - ) : ( - - 👉 {t("common.sign-in")} - - )} +
{!loadingState.isLoading && (