diff --git a/src/pages/settings/components/ThemeModal.tsx b/src/pages/settings/components/ThemeModal.tsx
index 39a7be3..941b874 100644
--- a/src/pages/settings/components/ThemeModal.tsx
+++ b/src/pages/settings/components/ThemeModal.tsx
@@ -39,14 +39,23 @@ function ThemeModal({
const filtered = backgroundList.filter((item: any) =>
item.toLowerCase().includes(query.toLowerCase()),
);
+ const re = /(?:\.([^.]+))?$/;
const items = filtered.map((item: any, index: any) => (
setSelectedTheme({
...selectedTheme,
@@ -54,13 +63,43 @@ function ThemeModal({
})
}
>
- {item}
+
+
+ {item.replace(/\.[^/.]+$/, '')}
+
+ {item !== 'None' && (
+
+ {re.exec(item.toUpperCase())?.[1]}
+
+ )}
+
));
useEffect(() => {
if (selectedTheme) {
- setQuery(selectedTheme?.backgroundImage || '');
+ if (selectedTheme?.backgroundImage === 'none') {
+ setQuery('');
+ } else {
+ setQuery(selectedTheme?.backgroundImage || '');
+ }
}
}, [selectedTheme]);
@@ -273,44 +312,65 @@ function ThemeModal({
)}
- {
- setQuery(event.currentTarget.value);
- setHovered(-1);
- }}
- onKeyDown={(event) => {
- if (event.key === 'ArrowDown') {
- event.preventDefault();
- setHovered((current) => {
- const nextIndex =
- current + 1 >= filtered.length ? current : current + 1;
- viewportRef.current
- ?.querySelectorAll('[data-list-item]')
- ?.[nextIndex]?.scrollIntoView({ block: 'nearest' });
- return nextIndex;
- });
+
+ Search:
+ {
+ setQuery('');
+ }}
+ />
}
+ onChange={(event) => {
+ setQuery(event.currentTarget.value);
+ setHovered(-1);
+ }}
+ onKeyDown={(event) => {
+ if (event.key === 'ArrowDown') {
+ event.preventDefault();
+ setHovered((current) => {
+ const nextIndex =
+ current + 1 >= filtered.length ? current : current + 1;
+ viewportRef.current
+ ?.querySelectorAll('[data-list-item]')
+ ?.[nextIndex]?.scrollIntoView({ block: 'nearest' });
+ return nextIndex;
+ });
+ }
- if (event.key === 'ArrowUp') {
- event.preventDefault();
- setHovered((current) => {
- const nextIndex = current - 1 < 0 ? current : current - 1;
- viewportRef.current
- ?.querySelectorAll('[data-list-item]')
- ?.[nextIndex]?.scrollIntoView({ block: 'nearest' });
- return nextIndex;
- });
- }
+ if (event.key === 'ArrowUp') {
+ event.preventDefault();
+ setHovered((current) => {
+ const nextIndex = current - 1 < 0 ? current : current - 1;
+ viewportRef.current
+ ?.querySelectorAll('[data-list-item]')
+ ?.[nextIndex]?.scrollIntoView({ block: 'nearest' });
+ return nextIndex;
+ });
+ }
+ }}
+ />
+
+
-
-
+ >
+
{items}
-
+