From e7de20f648649e37b80300a9bbe895a2c51fe1de Mon Sep 17 00:00:00 2001
From: JimmFly <447268514@qq.com>
Date: Wed, 3 Apr 2024 04:04:36 +0000
Subject: [PATCH] fix(core): add max-height to tag filter (#6442)
close TOV-778
close #6334
---
.../page-list/filter/multi-select.css.ts | 6 ++
.../page-list/filter/multi-select.tsx | 76 +++++++++++--------
packages/frontend/i18n/src/resources/en.json | 3 +-
3 files changed, 54 insertions(+), 31 deletions(-)
diff --git a/packages/frontend/core/src/components/page-list/filter/multi-select.css.ts b/packages/frontend/core/src/components/page-list/filter/multi-select.css.ts
index 9c595e3971..6eac712031 100644
--- a/packages/frontend/core/src/components/page-list/filter/multi-select.css.ts
+++ b/packages/frontend/core/src/components/page-list/filter/multi-select.css.ts
@@ -22,6 +22,12 @@ export const optionList = style({
flexDirection: 'column',
gap: 4,
padding: '0 4px',
+ maxHeight: '220px',
+});
+export const scrollbar = style({
+ vars: {
+ '--scrollbar-width': '4px',
+ },
});
export const selectOption = style({
display: 'flex',
diff --git a/packages/frontend/core/src/components/page-list/filter/multi-select.tsx b/packages/frontend/core/src/components/page-list/filter/multi-select.tsx
index 41dd71552a..d0eae8daa5 100644
--- a/packages/frontend/core/src/components/page-list/filter/multi-select.tsx
+++ b/packages/frontend/core/src/components/page-list/filter/multi-select.tsx
@@ -1,4 +1,5 @@
-import { Menu, MenuItem } from '@affine/component';
+import { Menu, MenuItem, Scrollable } from '@affine/component';
+import { useAFFiNEI18N } from '@affine/i18n/hooks';
import type { MouseEvent } from 'react';
import { useMemo } from 'react';
@@ -16,40 +17,55 @@ export const MultiSelect = ({
value: string;
}[];
}) => {
+ const t = useAFFiNEI18N();
const optionMap = useMemo(
() => Object.fromEntries(options.map(v => [v.value, v])),
[options]
);
+ const items = useMemo(() => {
+ return (
+