@@ -80,7 +80,7 @@ export function PostCard({
: "items-center justify-between gap-3"
}`}
>
-
diff --git a/src/components/commons/card/postCard/postCard.types.ts b/src/components/commons/card/postCard/postCard.types.ts
index c75f8bb6..4512abca 100644
--- a/src/components/commons/card/postCard/postCard.types.ts
+++ b/src/components/commons/card/postCard/postCard.types.ts
@@ -1,5 +1,5 @@
import { POST_CARD_TYPES, CATEGORY_TYPES } from "@/lib/constants/post";
-import { ApiPostResponse } from "@/lib/hono/schemas/community.schema";
+import type { ApiPostResponse } from "@/lib/hono/schemas/community.schema";
export type PostCardType =
(typeof POST_CARD_TYPES)[keyof typeof POST_CARD_TYPES];
diff --git a/src/components/commons/card/reviewCard/index.tsx b/src/components/commons/card/reviewCard/index.tsx
index d14e68eb..7e005b39 100644
--- a/src/components/commons/card/reviewCard/index.tsx
+++ b/src/components/commons/card/reviewCard/index.tsx
@@ -91,10 +91,10 @@ export default function ReviewCard({
{/* 메인 컨텐츠 */}
-
+
{brandName}
-
-
{title}
+
+ {title}
{/* 리뷰 내용 */}
{children}
diff --git a/src/components/commons/ckeditor5/CkEditor5.tsx b/src/components/commons/ckeditor5/CkEditor5.tsx
index 1f29d7ab..36ebede5 100644
--- a/src/components/commons/ckeditor5/CkEditor5.tsx
+++ b/src/components/commons/ckeditor5/CkEditor5.tsx
@@ -5,9 +5,7 @@ import {
Alignment,
AutoImage,
Autosave,
- BalloonToolbar,
Bold,
- CloudServices,
Essentials,
Heading,
ImageBlock,
@@ -20,7 +18,6 @@ import {
ImageTextAlternative,
ImageToolbar,
ImageUpload,
- ImageUtils,
Indent,
IndentBlock,
Italic,
@@ -57,12 +54,13 @@ export default function CkEditor5({
useEffect(() => {
setIsLayoutReady(true);
+ const blobRegistry = blobRegistryRef.current;
return () => {
- for (const url of blobRegistryRef.current.keys()) {
+ for (const url of blobRegistry.keys()) {
URL.revokeObjectURL(url);
}
- blobRegistryRef.current.clear();
+ blobRegistry.clear();
setIsLayoutReady(false);
};
}, [blobRegistryRef]);
@@ -100,9 +98,7 @@ export default function CkEditor5({
Alignment,
AutoImage,
Autosave,
- BalloonToolbar,
Bold,
- CloudServices,
Essentials,
Heading,
ImageBlock,
@@ -115,7 +111,6 @@ export default function CkEditor5({
ImageTextAlternative,
ImageToolbar,
ImageUpload,
- ImageUtils,
Indent,
IndentBlock,
Italic,
@@ -123,10 +118,8 @@ export default function CkEditor5({
Paragraph,
Strikethrough,
Underline,
+ localPreviewPlugin,
],
-
- extraPlugins: [localPreviewPlugin],
- balloonToolbar: ["bold", "italic", "|", "link"],
heading: {
options: [
{
diff --git a/src/components/commons/comment/index.tsx b/src/components/commons/comment/index.tsx
index 38076a57..c6037d28 100644
--- a/src/components/commons/comment/index.tsx
+++ b/src/components/commons/comment/index.tsx
@@ -30,7 +30,7 @@ export default function Comment({
/>
= maxLength ? "text-red-500" : "text-gray-400"
+ value.length >= maxLength ? "text-red-500" : "text-black-200"
}`}
>
{value.length}/{maxLength}
diff --git a/src/components/commons/dropdown/DropdownMenu.tsx b/src/components/commons/dropdown/DropdownMenu.tsx
index 071a52b9..69c7efaf 100644
--- a/src/components/commons/dropdown/DropdownMenu.tsx
+++ b/src/components/commons/dropdown/DropdownMenu.tsx
@@ -10,17 +10,28 @@ export default function DropdownMenu({
}: IDropdownMenuProps) {
return (
<>
-
+
{options.map((option: Option) => (
- handleSelectOption(option)}
- className="list-none py-1 text-label-1 tablet:text-body-2 font-medium hover:bg-gray-300 rounded-md tablet:rounded-lg"
+ className="list-none py-1 text-label-1 tablet:text-body-2 font-medium hover:bg-gray-300 rounded-md tablet:rounded-lg cursor-pointer"
key={`${option.value}`}
+ role="menuitem"
+ tabIndex={0}
+ onKeyDown={(e) => {
+ if (e.key === 'Enter' || e.key === ' ') {
+ e.preventDefault();
+ handleSelectOption(option);
+ }
+ }}
>
{option.label}
))}
-
+
>
);
}
diff --git a/src/components/commons/dropdown/SearchResultsDropdown.tsx b/src/components/commons/dropdown/SearchResultsDropdown.tsx
index fec83145..c6dbab85 100644
--- a/src/components/commons/dropdown/SearchResultsDropdown.tsx
+++ b/src/components/commons/dropdown/SearchResultsDropdown.tsx
@@ -10,11 +10,15 @@ export function SearchResultsDropdown({
children,
}: SearchResultsDropdownProps) {
return (
-
+
{results.length > 0 ? (
{results.map((item) => children(item))}
) : !isLoading ? (
-
+
검색 결과가 없습니다.
) : null}
diff --git a/src/components/commons/dropdown/ShareDropdownMenu.tsx b/src/components/commons/dropdown/ShareDropdownMenu.tsx
index 96ebfc27..b8a13eb2 100644
--- a/src/components/commons/dropdown/ShareDropdownMenu.tsx
+++ b/src/components/commons/dropdown/ShareDropdownMenu.tsx
@@ -14,9 +14,9 @@ export default function ShareDropdownMenu({
{ label: "링크 복사", value: "link" },
];
- const handleSelectOption = (option: Option) => {
+ const handleSelectOption = async (option: Option) => {
if (option.value === "kakao") {
- kakaoShare();
+ await kakaoShare();
} else if (option.value === "link") {
handleShare();
}
diff --git a/src/components/commons/input/index.tsx b/src/components/commons/input/index.tsx
index 4931b0ba..1482161d 100644
--- a/src/components/commons/input/index.tsx
+++ b/src/components/commons/input/index.tsx
@@ -25,7 +25,7 @@ export default function InputBase({
${
isError
? "border-red focus:border-red-300"
- : "border-gray-100 focus:border-primary-300 "
+ : "border-gray-200 focus:border-primary-300 "
}
${className}
`}
@@ -33,7 +33,7 @@ export default function InputBase({
{helperText}
diff --git a/src/components/commons/interactions/icons/BookmarkIcon.tsx b/src/components/commons/interactions/icons/BookmarkIcon.tsx
index 2b68ba56..f0ab0918 100644
--- a/src/components/commons/interactions/icons/BookmarkIcon.tsx
+++ b/src/components/commons/interactions/icons/BookmarkIcon.tsx
@@ -5,8 +5,8 @@ interface BookmarkIconProps {
export const BookmarkIcon = ({ isActive = false }: BookmarkIconProps) => {
return (
@@ -60,7 +60,7 @@ const CommunityListItem = ({
} rounded-md tablet:hidden`}
>
{formattedCount}
-
댓글
+
댓글
);
diff --git a/src/components/commons/navBar/UserProfileSection.tsx b/src/components/commons/navBar/UserProfileSection.tsx
index c0df51b0..ca9c7200 100644
--- a/src/components/commons/navBar/UserProfileSection.tsx
+++ b/src/components/commons/navBar/UserProfileSection.tsx
@@ -13,43 +13,48 @@ const UserProfileSection = () => {
const { openModal } = useModalStore();
const [isDropdownOpen, setIsDropdownOpen] = useState(false);
- if (isLoading) {
- return (
-
- );
- }
-
return (
- {!user ? (
-
+ {isLoading ? (
+
+ ) : !user ? (
+
) : (
-
-
-