chore: update explore header style (#1137)

This commit is contained in:
boojack 2023-02-22 19:21:08 +08:00 committed by GitHub
parent d1b307b18f
commit 42d849abfc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 36 additions and 46 deletions

View File

@ -66,7 +66,7 @@ func (s *Server) registerSystemRoutes(g *echo.Group) {
var value interface{} var value interface{}
err := json.Unmarshal([]byte(systemSetting.Value), &value) err := json.Unmarshal([]byte(systemSetting.Value), &value)
if err != nil { 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 { if systemSetting.Name == api.SystemSettingAllowSignUpName {

View File

@ -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) { func findSystemSettingList(ctx context.Context, tx *sql.Tx, find *api.SystemSettingFind) ([]*systemSettingRaw, error) {
where, args := []string{"1 = 1"}, []interface{}{} 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 := ` query := `
SELECT SELECT
name, name,
value, value,
description description
FROM system_setting FROM system_setting
WHERE ` + strings.Join(where, " AND ") WHERE ` + strings.Join(where, " AND ")

View File

@ -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 () => { const handleSaveBtnClick = async () => {
if (state.isRequesting) { if (state.isRequesting) {
return; return;
@ -327,7 +318,6 @@ const MemoEditor = () => {
editorStore.clearResourceList(); editorStore.clearResourceList();
setEditorContentCache(""); setEditorContentCache("");
editorRef.current?.setContent(""); editorRef.current?.setContent("");
scrollToEditingMemo();
}; };
const handleCancelEdit = () => { const handleCancelEdit = () => {
@ -336,7 +326,6 @@ const MemoEditor = () => {
editorStore.clearResourceList(); editorStore.clearResourceList();
editorRef.current?.setContent(""); editorRef.current?.setContent("");
setEditorContentCache(""); setEditorContentCache("");
scrollToEditingMemo();
} }
}; };

View File

@ -11,17 +11,11 @@
@apply flex flex-row justify-start items-center; @apply flex flex-row justify-start items-center;
> .logo-img { > .logo-img {
@apply h-12 sm:h-14 w-auto mr-2; @apply h-12 w-auto rounded-md mr-2;
} }
> .title-text { > .title-text {
@apply text-xl sm:text-4xl font-mono text-gray-700 dark:text-gray-200; @apply text-xl sm:text-4xl 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;
} }
} }
} }

View File

@ -34,7 +34,7 @@
} }
.tag-span { .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 { .link {
@ -70,13 +70,13 @@
@apply block; @apply block;
} }
&:hover{ &:hover {
.codeblock-copy-btn{ .codeblock-copy-btn {
@apply flex; @apply flex;
} }
} }
.codeblock-copy-btn{ .codeblock-copy-btn {
@apply btn-normal absolute hidden top-2 right-2 border-solid border-2; @apply btn-normal absolute hidden top-2 right-2 border-solid border-2;
} }
} }

View File

@ -1,7 +1,7 @@
import dayjs from "dayjs"; import dayjs from "dayjs";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
import { useTranslation } from "react-i18next"; 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 { useGlobalStore, useLocationStore, useMemoStore, useUserStore } from "../store/module";
import { DEFAULT_MEMO_LIMIT } from "../helpers/consts"; import { DEFAULT_MEMO_LIMIT } from "../helpers/consts";
import useLoading from "../hooks/useLoading"; import useLoading from "../hooks/useLoading";
@ -19,6 +19,7 @@ interface State {
const Explore = () => { const Explore = () => {
const { t, i18n } = useTranslation(); const { t, i18n } = useTranslation();
const navigate = useNavigate();
const globalStore = useGlobalStore(); const globalStore = useGlobalStore();
const locationStore = useLocationStore(); const locationStore = useLocationStore();
const userStore = useUserStore(); const userStore = useUserStore();
@ -72,11 +73,11 @@ const Explore = () => {
}) })
: state.memos; : state.memos;
const memoSort = (mi: Memo, mj: Memo) => { const sortedMemos = shownMemos
return mj.displayTs - mi.displayTs; .filter((m) => m.rowStatus === "NORMAL")
}; .sort((mi: Memo, mj: Memo) => {
shownMemos.sort(memoSort); return mj.displayTs - mi.displayTs;
const sortedMemos = shownMemos.filter((m) => m.rowStatus === "NORMAL"); });
const handleFetchMoreClick = async () => { const handleFetchMoreClick = async () => {
try { try {
@ -109,27 +110,31 @@ const Explore = () => {
} }
}; };
const handleTitleClick = () => {
if (user) {
navigate("/");
} else {
navigate("/auth");
}
};
return ( return (
<section className="page-wrapper explore"> <section className="page-wrapper explore">
<div className="page-container"> <div className="page-container">
<div className="page-header"> <div className="page-header">
<div className="title-container"> <div className="title-container cursor-pointer hover:opacity-80" onClick={handleTitleClick}>
<img className="logo-img" src={customizedProfile.logoUrl} alt="" /> <img className="logo-img" src={customizedProfile.logoUrl} alt="" />
<span className="title-text">{customizedProfile.name}</span> <span className="title-text">{customizedProfile.name}</span>
<a className="dark:text-white ml-1 mt-1" href="/explore/rss.xml" target="_blank" rel="noreferrer">
<Icon.Rss className="w-6 h-auto opacity-40 hover:opacity-60" />
</a>
</div> </div>
<div className="action-button-container"> <div className="flex flex-row justify-end items-center">
{!loadingState.isLoading && user ? ( <a
<Link to="/" className="link-btn btn-normal"> className="flex flex-row justify-center items-center h-12 w-12 border rounded-full hover:opacity-80 hover:shadow dark:text-white "
<span>🏠</span> {t("common.back-to-home")} href="/explore/rss.xml"
</Link> target="_blank"
) : ( rel="noreferrer"
<Link to="/auth" className="link-btn btn-normal"> >
<span>👉</span> {t("common.sign-in")} <Icon.Rss className="w-7 h-auto opacity-60" />
</Link> </a>
)}
</div> </div>
</div> </div>
{!loadingState.isLoading && ( {!loadingState.isLoading && (