chore: tweak dark mode styles

This commit is contained in:
Steven 2024-01-03 23:12:50 +08:00
parent 369b8af109
commit 96140f3875
29 changed files with 62 additions and 56 deletions

View File

@ -96,7 +96,7 @@ const CreateMemoRelationDialog: React.FC<Props> = (props: Props) => {
<div className="w-full flex flex-row justify-start items-start flex-wrap gap-2 mt-1"> <div className="w-full flex flex-row justify-start items-start flex-wrap gap-2 mt-1">
{memoList.map((memo) => ( {memoList.map((memo) => (
<div <div
className="max-w-[50%] text-sm px-3 py-1 flex flex-row justify-start items-center border rounded-md cursor-pointer truncate opacity-80 dark:text-gray-300 hover:opacity-60 hover:line-through" className="max-w-[50%] text-sm px-3 py-1 flex flex-row justify-start items-center border rounded-md cursor-pointer truncate opacity-80 dark:text-gray-300 dark:border-zinc-700 hover:opacity-60 hover:line-through"
key={memo.id} key={memo.id}
onClick={() => handleDeleteMemoRelation(memo)} onClick={() => handleDeleteMemoRelation(memo)}
> >

View File

@ -3,7 +3,7 @@ interface Props {
} }
const Code: React.FC<Props> = ({ content }: Props) => { const Code: React.FC<Props> = ({ content }: Props) => {
return <code>{content}</code>; return <code className="text-sm">`{content}`</code>;
}; };
export default Code; export default Code;

View File

@ -29,7 +29,7 @@ const CodeBlock: React.FC<Props> = ({ language, content }: Props) => {
}; };
return ( return (
<pre className="w-full my-1 p-3 rounded bg-gray-100 dark:bg-zinc-600 whitespace-pre-wrap relative"> <pre className="w-full my-1 p-3 rounded bg-gray-100 dark:bg-zinc-700 whitespace-pre-wrap relative">
<IconButton <IconButton
size="sm" size="sm"
className="!absolute top-0.5 right-0.5 opacity-50" className="!absolute top-0.5 right-0.5 opacity-50"

View File

@ -24,14 +24,17 @@ const TagSelector = (props: Props) => {
}, []); }, []);
return ( return (
<IconButton className="relative group flex flex-row justify-center items-center p-1 w-auto h-auto mr-1 select-none rounded cursor-pointer text-gray-600 dark:text-gray-400 hover:bg-gray-300 dark:hover:bg-zinc-800 hover:shadow"> <IconButton
className="relative group flex flex-row justify-center items-center p-1 w-auto h-auto mr-1 select-none rounded cursor-pointer text-gray-600 dark:!text-gray-400 hover:bg-gray-300 hover:shadow"
size="sm"
>
<Icon.Hash className="w-5 h-5 mx-auto" /> <Icon.Hash className="w-5 h-5 mx-auto" />
<div className="hidden flex-row justify-start items-start flex-wrap absolute top-8 left-0 mt-1 p-1 z-1 rounded w-52 h-auto max-h-48 overflow-y-auto font-mono shadow bg-zinc-200 dark:bg-zinc-600 group-hover:flex"> <div className="hidden flex-row justify-start items-start flex-wrap absolute top-8 left-0 mt-1 p-1 z-1 rounded w-52 h-auto max-h-48 overflow-y-auto font-mono shadow bg-zinc-100 dark:bg-zinc-700 group-hover:flex">
{tags.length > 0 ? ( {tags.length > 0 ? (
tags.map((tag) => { tags.map((tag) => {
return ( return (
<div <div
className="w-auto max-w-full text-black dark:text-gray-300 cursor-pointer rounded text-sm leading-6 px-2 hover:bg-zinc-300 dark:hover:bg-zinc-700 shrink-0" className="w-auto max-w-full text-black dark:text-gray-300 cursor-pointer rounded text-sm leading-6 px-2 hover:bg-zinc-200 dark:hover:bg-zinc-800 shrink-0"
onClick={() => onTagSelectorClick(tag)} onClick={() => onTagSelectorClick(tag)}
key={tag} key={tag}
> >

View File

@ -114,7 +114,7 @@ const TagSuggestions = ({ editorRef, editorActions }: Props) => {
if (!isVisibleRef.current || !position) return null; if (!isVisibleRef.current || !position) return null;
return ( return (
<div <div
className="z-20 p-1 mt-1 -ml-2 absolute max-w-[12rem] gap-px rounded font-mono flex flex-col justify-start items-start overflow-auto shadow bg-zinc-200 dark:bg-zinc-600" className="z-20 p-1 mt-1 -ml-2 absolute max-w-[12rem] gap-px rounded font-mono flex flex-col justify-start items-start overflow-auto shadow bg-zinc-100 dark:bg-zinc-700"
style={{ left: position.left, top: position.top + position.height }} style={{ left: position.left, top: position.top + position.height }}
> >
{suggestionsRef.current.map((tag, i) => ( {suggestionsRef.current.map((tag, i) => (
@ -122,7 +122,7 @@ const TagSuggestions = ({ editorRef, editorActions }: Props) => {
key={tag} key={tag}
onMouseDown={() => autocomplete(tag)} onMouseDown={() => autocomplete(tag)}
className={classNames( className={classNames(
"rounded p-1 px-2 w-full truncate text-sm dark:text-gray-300 cursor-pointer hover:bg-zinc-300 dark:hover:bg-zinc-700", "rounded p-1 px-2 w-full truncate text-sm dark:text-gray-300 cursor-pointer hover:bg-zinc-200 dark:hover:bg-zinc-800",
i === selected ? "bg-zinc-300 dark:bg-zinc-700" : "" i === selected ? "bg-zinc-300 dark:bg-zinc-700" : ""
)} )}
> >

View File

@ -145,7 +145,7 @@ const Editor = forwardRef(function Editor(props: Props, ref: React.ForwardedRef<
}, []); }, []);
return ( return (
<div className={classNames("flex flex-col justify-start items-start relative w-full h-auto bg-inherit dark:text-gray-200", className)}> <div className={classNames("flex flex-col justify-start items-start relative w-full h-auto bg-inherit dark:text-gray-300", className)}>
<textarea <textarea
className="w-full h-full max-h-[300px] my-1 text-base resize-none overflow-x-hidden overflow-y-auto bg-transparent outline-none whitespace-pre-wrap word-break" className="w-full h-full max-h-[300px] my-1 text-base resize-none overflow-x-hidden overflow-y-auto bg-transparent outline-none whitespace-pre-wrap word-break"
rows={1} rows={1}

View File

@ -52,7 +52,7 @@ export default function showMemoEditorDialog(props: Pick<Props, "memoId" | "rela
{ {
className: "memo-editor-dialog", className: "memo-editor-dialog",
dialogName: "memo-editor-dialog", dialogName: "memo-editor-dialog",
containerClassName: "dark:!bg-zinc-700", containerClassName: "dark:!bg-zinc-800",
}, },
MemoEditorDialog, MemoEditorDialog,
props props

View File

@ -38,13 +38,13 @@ const RelationListView = (props: Props) => {
return ( return (
<div <div
key={memo.id} key={memo.id}
className="w-auto max-w-xs overflow-hidden flex flex-row justify-start items-center bg-gray-100 dark:bg-zinc-800 hover:opacity-80 rounded-md text-sm p-1 px-2 text-gray-500 cursor-pointer hover:line-through" className="w-auto max-w-xs overflow-hidden flex flex-row justify-start items-center bg-zinc-100 dark:bg-zinc-900 hover:opacity-80 rounded-md text-sm p-1 px-2 text-gray-500 dark:text-gray-400 cursor-pointer hover:line-through"
onClick={() => handleDeleteRelation(memo)} onClick={() => handleDeleteRelation(memo)}
> >
<Icon.Link className="w-4 h-auto shrink-0 opacity-80" /> <Icon.Link className="w-4 h-auto shrink-0 opacity-80" />
<span className="px-1 shrink-0 opacity-80">#{memo.id}</span> <span className="px-1 shrink-0 opacity-80">#{memo.id}</span>
<span className="max-w-full text-ellipsis whitespace-nowrap overflow-hidden">{memo.content}</span> <span className="max-w-full text-ellipsis whitespace-nowrap overflow-hidden">{memo.content}</span>
<Icon.X className="w-4 h-auto hover:opacity-80 shrink-0 ml-1" /> <Icon.X className="w-4 h-auto cursor-pointer opacity-60 hover:opacity-100" />
</div> </div>
); );
})} })}

View File

@ -22,7 +22,7 @@ const ResourceListView = (props: Props) => {
return ( return (
<div <div
key={resource.id} key={resource.id}
className="max-w-full flex flex-row justify-start items-center flex-nowrap gap-x-1 bg-gray-100 dark:bg-zinc-800 px-2 py-1 rounded text-gray-500" className="max-w-full flex flex-row justify-start items-center flex-nowrap gap-x-1 bg-zinc-100 dark:bg-zinc-900 px-2 py-1 rounded text-gray-500 dark:text-gray-400"
> >
<ResourceIcon resource={resource} className="!w-4 !h-4 !opacity-100" /> <ResourceIcon resource={resource} className="!w-4 !h-4 !opacity-100" />
<span className="text-sm max-w-[8rem] truncate">{resource.filename}</span> <span className="text-sm max-w-[8rem] truncate">{resource.filename}</span>

View File

@ -357,7 +357,7 @@ const MemoEditor = (props: Props) => {
<div <div
className={`${ className={`${
className ?? "" className ?? ""
} relative w-full flex flex-col justify-start items-start bg-white dark:bg-zinc-700 px-4 pt-4 rounded-lg border border-gray-200 dark:border-zinc-600`} } relative w-full flex flex-col justify-start items-start bg-white dark:bg-zinc-800 px-4 pt-4 rounded-lg border border-gray-200 dark:border-zinc-700`}
tabIndex={0} tabIndex={0}
onKeyDown={handleKeyDown} onKeyDown={handleKeyDown}
onDrop={handleDropEvent} onDrop={handleDropEvent}
@ -368,13 +368,15 @@ const MemoEditor = (props: Props) => {
<div className="flex flex-row justify-start items-center"> <div className="flex flex-row justify-start items-center">
<TagSelector onTagSelectorClick={(tag) => handleTagSelectorClick(tag)} /> <TagSelector onTagSelectorClick={(tag) => handleTagSelectorClick(tag)} />
<IconButton <IconButton
className="flex flex-row justify-center items-center p-1 w-auto h-auto mr-1 select-none rounded cursor-pointer text-gray-600 dark:text-gray-400 hover:bg-gray-300 dark:hover:bg-zinc-800 hover:shadow" className="flex flex-row justify-center items-center p-1 w-auto h-auto mr-1 select-none rounded cursor-pointer text-gray-600 dark:!text-gray-400 hover:bg-gray-300 dark:hover:bg-zinc-800 hover:shadow"
size="sm"
onClick={handleUploadFileBtnClick} onClick={handleUploadFileBtnClick}
> >
<Icon.Image className="w-5 h-5 mx-auto" /> <Icon.Image className="w-5 h-5 mx-auto" />
</IconButton> </IconButton>
<IconButton <IconButton
className="flex flex-row justify-center items-center p-1 w-auto h-auto mr-1 select-none rounded cursor-pointer text-gray-600 dark:text-gray-400 hover:bg-gray-300 dark:hover:bg-zinc-800 hover:shadow" className="flex flex-row justify-center items-center p-1 w-auto h-auto mr-1 select-none rounded cursor-pointer text-gray-600 dark:!text-gray-400 hover:bg-gray-300 dark:hover:bg-zinc-800 hover:shadow"
size="sm"
onClick={handleAddMemoRelationBtnClick} onClick={handleAddMemoRelationBtnClick}
> >
<Icon.Link className="w-5 h-5 mx-auto" /> <Icon.Link className="w-5 h-5 mx-auto" />

View File

@ -18,14 +18,14 @@ const MemoFilter = () => {
return ( return (
<div <div
className={`flex flex-row justify-start items-start w-full flex-wrap px-2 pb-2 text-sm font-mono leading-7 dark:text-gray-300 ${ className={`flex flex-row justify-start items-start w-full flex-wrap px-2 pb-2 text-sm font-mono leading-7 dark:text-gray-400 ${
showFilter ? "" : "!hidden" showFilter ? "" : "!hidden"
}`} }`}
> >
<span className="mx-2 text-gray-400">{t("common.filter")}:</span> <span className="mx-2 text-gray-400">{t("common.filter")}:</span>
<div <div
className={ className={
"max-w-xs flex flex-row justify-start items-center px-2 mr-2 cursor-pointer dark:text-gray-300 bg-gray-200 dark:bg-zinc-700 rounded whitespace-nowrap truncate hover:line-through " + "max-w-xs flex flex-row justify-start items-center px-2 mr-2 cursor-pointer dark:text-gray-400 bg-gray-200 dark:bg-zinc-800 rounded whitespace-nowrap truncate hover:line-through " +
(tagQuery ? "" : "!hidden") (tagQuery ? "" : "!hidden")
} }
onClick={() => { onClick={() => {
@ -37,7 +37,7 @@ const MemoFilter = () => {
</div> </div>
<div <div
className={ className={
"max-w-xs flex flex-row justify-start items-center px-2 mr-2 cursor-pointer dark:text-gray-300 bg-gray-200 dark:bg-zinc-700 rounded whitespace-nowrap truncate hover:line-through " + "max-w-xs flex flex-row justify-start items-center px-2 mr-2 cursor-pointer dark:text-gray-400 bg-gray-200 dark:bg-zinc-800 rounded whitespace-nowrap truncate hover:line-through " +
(visibility ? "" : "!hidden") (visibility ? "" : "!hidden")
} }
onClick={() => { onClick={() => {
@ -49,7 +49,7 @@ const MemoFilter = () => {
</div> </div>
<div <div
className={ className={
"max-w-xs flex flex-row justify-start items-center px-2 mr-2 cursor-pointer dark:text-gray-300 bg-gray-200 dark:bg-zinc-700 rounded whitespace-nowrap truncate hover:line-through " + "max-w-xs flex flex-row justify-start items-center px-2 mr-2 cursor-pointer dark:text-gray-400 bg-gray-200 dark:bg-zinc-800 rounded whitespace-nowrap truncate hover:line-through " +
(textQuery ? "" : "!hidden") (textQuery ? "" : "!hidden")
} }
onClick={() => { onClick={() => {

View File

@ -42,7 +42,7 @@ const MemoRelationListView = (props: Props) => {
return ( return (
<div key={memo.id} className="block w-auto max-w-[50%]"> <div key={memo.id} className="block w-auto max-w-[50%]">
<Link <Link
className="px-2 border rounded-md w-auto text-sm leading-6 flex flex-row justify-start items-center flex-nowrap text-gray-600 dark:text-gray-300 dark:border-gray-600 hover:shadow hover:opacity-80" className="px-2 border rounded-md w-auto text-sm leading-6 flex flex-row justify-start items-center flex-nowrap text-gray-600 dark:text-gray-400 dark:border-zinc-700 dark:bg-zinc-900 hover:shadow hover:opacity-80"
to={`/m/${memo.id}`} to={`/m/${memo.id}`}
unstable_viewTransition unstable_viewTransition
> >

View File

@ -17,7 +17,7 @@ const MobileHeader = (props: Props) => {
return ( return (
<div <div
className={classNames( className={classNames(
"sticky top-0 pt-3 pb-2 sm:pt-2 px-4 sm:px-6 sm:mb-1 bg-zinc-100 dark:bg-zinc-800 bg-opacity-80 backdrop-blur-lg flex md:hidden flex-row justify-between items-center w-full h-auto flex-nowrap shrink-0 z-1", "sticky top-0 pt-3 pb-2 sm:pt-2 px-4 sm:px-6 sm:mb-1 bg-zinc-100 dark:bg-zinc-900 bg-opacity-80 backdrop-blur-lg flex md:hidden flex-row justify-between items-center w-full h-auto flex-nowrap shrink-0 z-1",
offsetTop > 0 && "shadow-md" offsetTop > 0 && "shadow-md"
)} )}
> >

View File

@ -35,32 +35,28 @@ const PersonalStatistics = (props: Props) => {
}, [memos.length, user.name]); }, [memos.length, user.name]);
return ( return (
<div className="w-full border mt-2 py-2 px-3 rounded-md space-y-0.5 bg-zinc-50 dark:bg-zinc-900 dark:border-zinc-800"> <div className="w-full border mt-2 py-2 px-3 rounded-md space-y-0.5 text-gray-500 dark:text-gray-400 bg-zinc-50 dark:bg-zinc-900 dark:border-zinc-800">
<p className="text-sm font-medium text-gray-500">Statistics</p> <p className="text-sm font-medium">Statistics</p>
<div className="w-full flex justify-between items-center"> <div className="w-full flex justify-between items-center">
<div className="w-full flex justify-start items-center text-gray-500"> <div className="w-full flex justify-start items-center">
<Icon.CalendarDays className="w-4 h-auto mr-1" /> <Icon.CalendarDays className="w-4 h-auto mr-1" />
<span className="block text-base sm:text-sm">Days</span> <span className="block text-base sm:text-sm">Days</span>
</div> </div>
<span className="text-gray-500 font-mono">{days}</span> <span className="font-mono">{days}</span>
</div> </div>
<div className="w-full flex justify-between items-center"> <div className="w-full flex justify-between items-center">
<div className="w-full flex justify-start items-center text-gray-500"> <div className="w-full flex justify-start items-center">
<Icon.PencilLine className="w-4 h-auto mr-1" /> <Icon.PencilLine className="w-4 h-auto mr-1" />
<span className="block text-base sm:text-sm">Memos</span> <span className="block text-base sm:text-sm">Memos</span>
</div> </div>
{isRequesting ? ( {isRequesting ? <Icon.Loader className="animate-spin w-4 h-auto text-gray-400" /> : <span className="font-mono">{memoAmount}</span>}
<Icon.Loader className="animate-spin w-4 h-auto text-gray-400" />
) : (
<span className="text-gray-500 font-mono">{memoAmount}</span>
)}
</div> </div>
<div className="w-full flex justify-between items-center"> <div className="w-full flex justify-between items-center">
<div className="w-full flex justify-start items-center text-gray-500"> <div className="w-full flex justify-start items-center">
<Icon.Hash className="w-4 h-auto mr-1" /> <Icon.Hash className="w-4 h-auto mr-1" />
<span className="block text-base sm:text-sm">Tags</span> <span className="block text-base sm:text-sm">Tags</span>
</div> </div>
<span className="text-gray-500 font-mono">{tags}</span> <span className="font-mono">{tags}</span>
</div> </div>
</div> </div>
); );

View File

@ -27,7 +27,7 @@ const ResourceIcon = (props: Props) => {
return ( return (
<SquareDiv className={classNames(className, "flex items-center justify-center overflow-clip")}> <SquareDiv className={classNames(className, "flex items-center justify-center overflow-clip")}>
<img <img
className="min-w-full min-h-full object-cover shadow" className="min-w-full min-h-full object-cover border rounded dark:border-none"
src={resource.externalLink ? resourceUrl : resourceUrl + "?thumbnail=1"} src={resource.externalLink ? resourceUrl : resourceUrl + "?thumbnail=1"}
onClick={() => showPreviewImageDialog(resourceUrl)} onClick={() => showPreviewImageDialog(resourceUrl)}
/> />

View File

@ -30,7 +30,7 @@ const SearchBar = () => {
return ( return (
<div className="w-full h-9 flex flex-row justify-start items-center"> <div className="w-full h-9 flex flex-row justify-start items-center">
<Input <Input
className="w-full !shadow-none !border-gray-200 dark:!border-zinc-800" className="w-full !text-sm !shadow-none !border-gray-200 dark:!border-zinc-800"
size="md" size="md"
startDecorator={<Icon.Search className="w-4 h-auto opacity-30" />} startDecorator={<Icon.Search className="w-4 h-auto opacity-30" />}
placeholder={t("memo.search-placeholder")} placeholder={t("memo.search-placeholder")}

View File

@ -103,7 +103,7 @@ const ShareMemoDialog: React.FC<Props> = (props: Props) => {
<MemoContent nodes={memo.nodes} /> <MemoContent nodes={memo.nodes} />
<MemoResourceListView resourceList={memo.resources} /> <MemoResourceListView resourceList={memo.resources} />
</div> </div>
<div className="flex flex-row justify-between items-center w-full bg-gray-100 dark:bg-zinc-700 py-4 px-6"> <div className="flex flex-row justify-between items-center w-full bg-gray-100 dark:bg-zinc-900 py-4 px-6">
<div className="flex flex-row justify-start items-center"> <div className="flex flex-row justify-start items-center">
<UserAvatar className="mr-2" avatarUrl={user.avatarUrl} /> <UserAvatar className="mr-2" avatarUrl={user.avatarUrl} />
<div className="w-auto grow truncate flex mr-2 flex-col justify-center items-start"> <div className="w-auto grow truncate flex mr-2 flex-col justify-center items-start">

View File

@ -75,7 +75,7 @@ const TagList = () => {
<span className="text-sm leading-6 font-mono text-gray-400">{t("common.tags")}</span> <span className="text-sm leading-6 font-mono text-gray-400">{t("common.tags")}</span>
<button <button
onClick={() => showCreateTagDialog()} onClick={() => showCreateTagDialog()}
className="flex flex-col justify-center items-center w-5 h-5 bg-gray-200 dark:bg-zinc-700 rounded ml-2 hover:shadow" className="flex flex-col justify-center items-center w-5 h-5 bg-gray-200 dark:bg-zinc-800 rounded ml-2 hover:shadow"
> >
<Icon.Plus className="w-4 h-4 text-gray-400" /> <Icon.Plus className="w-4 h-4 text-gray-400" />
</button> </button>
@ -141,7 +141,7 @@ const TagItemContainer: React.FC<TagItemContainerProps> = (props: TagItemContain
</div> </div>
{hasSubTags ? ( {hasSubTags ? (
<div <div
className={`w-[calc(100%-0.5rem)] flex flex-col justify-start items-start h-auto ml-2 pl-2 border-l-2 border-l-gray-200 dark:border-l-gray-400 ${ className={`w-[calc(100%-0.5rem)] flex flex-col justify-start items-start h-auto ml-2 pl-2 border-l-2 border-l-gray-200 dark:border-l-zinc-800 ${
!showSubTags && "!hidden" !showSubTags && "!hidden"
}`} }`}
> >

View File

@ -1,5 +1,5 @@
body { body {
@apply text-base w-full min-h-[100svh] p-0 m-0 bg-zinc-100 dark:bg-zinc-800; @apply text-base w-full min-h-[100svh] p-0 m-0 bg-zinc-100 dark:bg-zinc-900;
} }
#root { #root {

View File

@ -11,7 +11,7 @@ function Root() {
<div className="w-full min-h-full"> <div className="w-full min-h-full">
<div className="w-full sm:pl-56 md:pl-64 mx-auto flex flex-row justify-center items-start"> <div className="w-full sm:pl-56 md:pl-64 mx-auto flex flex-row justify-center items-start">
{sm && ( {sm && (
<div className="hidden sm:block fixed top-0 left-0 w-56 md:w-64 px-4 border-r dark:border-zinc-800 h-full bg-zinc-50 dark:bg-zinc-700 dark:bg-opacity-40 transition-all hover:shadow-xl z-2"> <div className="hidden sm:block fixed top-0 left-0 w-56 md:w-64 px-4 border-r dark:border-zinc-800 h-full bg-zinc-50 dark:bg-zinc-800 dark:bg-opacity-60 transition-all hover:shadow-xl z-2">
<Navigation /> <Navigation />
</div> </div>
)} )}

View File

@ -10,14 +10,14 @@
} }
> .dialog-container { > .dialog-container {
@apply max-w-full shadow flex flex-col justify-start items-start bg-white dark:bg-zinc-800 dark:text-gray-200 p-4 rounded-lg; @apply max-w-full shadow flex flex-col justify-start items-start bg-white dark:bg-zinc-800 dark:text-gray-300 p-4 rounded-lg;
> .dialog-header-container { > .dialog-header-container {
@apply flex flex-row justify-between items-center w-full mb-4; @apply flex flex-row justify-between items-center w-full mb-4;
> .title-text { > .title-text {
> .icon-text { > .icon-text {
@apply mr-2 text-base; @apply mr-2 text-base dark:text-gray-300;
} }
} }

View File

@ -1,8 +1,8 @@
.memo-wrapper { .memo-wrapper {
@apply relative flex flex-col justify-start items-start w-full p-4 pt-3 mb-2 bg-white dark:bg-zinc-700 rounded-lg border border-white dark:border-zinc-600 hover:border-gray-200 dark:hover:border-zinc-600; @apply relative flex flex-col justify-start items-start w-full p-4 pt-3 mb-2 bg-white dark:bg-zinc-800 rounded-lg border border-white dark:border-zinc-800 hover:border-gray-200 dark:hover:border-zinc-700;
&.pinned { &.pinned {
@apply border-gray-200 border dark:border-zinc-600; @apply border-gray-200 border dark:border-zinc-700;
} }
> .memo-top-wrapper { > .memo-top-wrapper {
@ -15,7 +15,7 @@
@apply hidden flex-col justify-start items-center absolute top-2 -right-4 flex-nowrap hover:flex p-3; @apply hidden flex-col justify-start items-center absolute top-2 -right-4 flex-nowrap hover:flex p-3;
> .more-action-btns-container { > .more-action-btns-container {
@apply w-auto h-auto p-1 z-1 whitespace-nowrap rounded-lg bg-white dark:bg-zinc-800; @apply w-auto h-auto p-1 z-1 whitespace-nowrap rounded-lg bg-white dark:bg-zinc-700;
box-shadow: 0 0 8px 0 rgb(0 0 0 / 20%); box-shadow: 0 0 8px 0 rgb(0 0 0 / 20%);
> .btn { > .btn {

View File

@ -1,5 +1,5 @@
.setting-page-wrapper { .setting-page-wrapper {
@apply flex flex-row justify-start items-start relative w-full h-full shadow p-4 rounded-lg bg-white dark:bg-zinc-700 dark:text-gray-200 sm:gap-x-4; @apply flex flex-row justify-start items-start relative w-full h-full shadow p-4 rounded-lg bg-white dark:bg-zinc-800 dark:text-gray-300 sm:gap-x-4;
> .section-selector-container { > .section-selector-container {
@apply hidden sm:flex flex-col justify-start items-start sm:w-40 h-auto sm:h-full shrink-0 pb-2 border-r dark:border-r-zinc-600; @apply hidden sm:flex flex-col justify-start items-start sm:w-40 h-auto sm:h-full shrink-0 pb-2 border-r dark:border-r-zinc-600;

View File

@ -86,7 +86,7 @@ const Archived = () => {
{archivedMemos.map((memo) => ( {archivedMemos.map((memo) => (
<div <div
key={memo.id} key={memo.id}
className="relative flex flex-col justify-start items-start w-full p-4 pt-3 mb-2 bg-white dark:bg-zinc-700 rounded-lg" className="relative flex flex-col justify-start items-start w-full p-4 pt-3 mb-2 bg-white dark:bg-zinc-800 rounded-lg"
> >
<div className="w-full mb-1 flex flex-row justify-between items-center"> <div className="w-full mb-1 flex flex-row justify-between items-center">
<div className="w-full max-w-[calc(100%-20px)] flex flex-row justify-start items-center mr-1"> <div className="w-full max-w-[calc(100%-20px)] flex flex-row justify-start items-center mr-1">

View File

@ -23,13 +23,13 @@ const Inboxes = () => {
<section className="@container w-full max-w-5xl 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-5xl 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-700 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">
<div className="relative w-full flex flex-row justify-between items-center"> <div className="relative w-full flex flex-row justify-between items-center">
<p className="px-2 py-1 flex flex-row justify-start items-center select-none opacity-80"> <p className="px-2 py-1 flex flex-row justify-start items-center select-none opacity-80">
<Icon.Bell className="w-5 h-auto mr-1" /> {t("common.inbox")} <Icon.Bell className="w-5 h-auto mr-1" /> {t("common.inbox")}
</p> </p>
</div> </div>
<div className="w-full h-auto flex flex-col justify-start items-start px-2 pb-4 bg-white dark:bg-zinc-700"> <div className="w-full h-auto flex flex-col justify-start items-start px-2 pb-4">
{inboxes.length === 0 && ( {inboxes.length === 0 && (
<div className="w-full mt-4 mb-8 flex flex-col justify-center items-center italic"> <div className="w-full mt-4 mb-8 flex flex-col justify-center items-center italic">
<Empty /> <Empty />

View File

@ -115,7 +115,7 @@ const MemoDetail = () => {
<section className="@container w-full max-w-5xl 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-5xl 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="relative flex-grow w-full min-h-full flex flex-col justify-start items-start border dark:border-zinc-700 bg-white dark:bg-zinc-700 shadow hover:shadow-xl transition-all p-4 pb-3 rounded-lg"> <div className="relative flex-grow w-full min-h-full flex flex-col justify-start items-start border dark:border-zinc-700 bg-white dark:bg-zinc-800 shadow hover:shadow-xl transition-all p-4 pb-3 rounded-lg">
<div className="mb-3"> <div className="mb-3">
<Link to={`/u/${encodeURIComponent(extractUsernameFromName(memo.creator))}`} unstable_viewTransition> <Link to={`/u/${encodeURIComponent(extractUsernameFromName(memo.creator))}`} unstable_viewTransition>
<span className="w-full flex flex-row justify-start items-center"> <span className="w-full flex flex-row justify-start items-center">

View File

@ -69,7 +69,7 @@ const Resources = () => {
<section className="@container w-full max-w-5xl 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-5xl 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-700 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">
<div className="relative w-full flex flex-row justify-between items-center"> <div className="relative w-full flex flex-row justify-between items-center">
<p className="px-2 py-1 flex flex-row justify-start items-center select-none opacity-80"> <p className="px-2 py-1 flex flex-row justify-start items-center select-none opacity-80">
<Icon.Paperclip className="w-5 h-auto mr-1" /> {t("common.resources")} <Icon.Paperclip className="w-5 h-auto mr-1" /> {t("common.resources")}

View File

@ -142,7 +142,12 @@ const SignIn = () => {
</div> </div>
</div> </div>
<div className="flex flex-row justify-start items-center w-full mt-6"> <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)} /> <Checkbox
className="dark:!text-gray-400"
label={t("common.remember-me")}
checked={remember}
onChange={(e) => setRemember(e.target.checked)}
/>
</div> </div>
<div className="flex flex-row justify-end items-center w-full mt-6"> <div className="flex flex-row justify-end items-center w-full mt-6">
<Button <Button

View File

@ -61,7 +61,7 @@ const Timeline = () => {
<section className="@container w-full max-w-5xl 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-5xl 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-700 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">
<div className="relative w-full flex flex-row justify-start items-center"> <div className="relative w-full flex flex-row justify-start items-center">
<p <p
className="px-2 py-1 mr-2 flex flex-row justify-start items-center cursor-pointer select-none rounded opacity-80 hover:bg-gray-100 dark:hover:bg-zinc-700" className="px-2 py-1 mr-2 flex flex-row justify-start items-center cursor-pointer select-none rounded opacity-80 hover:bg-gray-100 dark:hover:bg-zinc-700"
@ -89,7 +89,7 @@ const Timeline = () => {
handleClickAway={() => toggleShowDatePicker(false)} handleClickAway={() => toggleShowDatePicker(false)}
/> />
</div> </div>
<div className="w-full h-auto flex flex-col justify-start items-start px-2 pb-4 bg-white dark:bg-zinc-700"> <div className="w-full h-auto flex flex-col justify-start items-start px-2 pb-4 bg-white dark:bg-zinc-800">
<div className="flex flex-col justify-start items-start w-full mt-2"> <div className="flex flex-col justify-start items-start w-full mt-2">
{sortedMemos.map((memo, index) => ( {sortedMemos.map((memo, index) => (
<div <div
@ -101,7 +101,7 @@ const Timeline = () => {
{index !== sortedMemos.length - 1 && ( {index !== sortedMemos.length - 1 && (
<div className="absolute top-2 left-[7px] h-full w-0.5 bg-gray-400 dark:bg-gray-500 block"></div> <div className="absolute top-2 left-[7px] h-full w-0.5 bg-gray-400 dark:bg-gray-500 block"></div>
)} )}
<div className="border-4 rounded-full border-white relative dark:border-zinc-700"> <div className="border-4 rounded-full border-white relative dark:border-zinc-800">
<Icon.Circle className="w-2 h-auto bg-gray-400 text-gray-400 dark:bg-gray-500 dark:text-gray-500 rounded-full" /> <Icon.Circle className="w-2 h-auto bg-gray-400 text-gray-400 dark:bg-gray-500 dark:text-gray-500 rounded-full" />
</div> </div>
</div> </div>