diff --git a/src-tauri/src/handlers.rs b/src-tauri/src/handlers.rs
index 230e014..ba8cf59 100644
--- a/src-tauri/src/handlers.rs
+++ b/src-tauri/src/handlers.rs
@@ -31,7 +31,7 @@ pub struct Work {
pub struct ImageAsset {
name: String,
path: String,
- image_dimensions: ImageDimensions,
+ dimensions: ImageDimensions,
}
#[derive(serde::Serialize)]
@@ -287,7 +287,7 @@ fn add_asset(asset: &PathBuf, work: &mut Work) {
work.assets.push(ImageAsset {
name: asset_name.to_string_lossy().to_string(),
path: asset.to_string_lossy().to_string(),
- image_dimensions: ImageDimensions {
+ dimensions: ImageDimensions {
width: asset_width,
height: asset_height,
},
diff --git a/src/App.tsx b/src/App.tsx
index 2912722..a3990cb 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -3,7 +3,7 @@ import { WorksViewer } from '@/components/layout/works-viewer/WorksViewer';
import { CollectionProvider } from '@/contexts/CollectionContext';
import { SearchProvider } from '@/contexts/SearchContext';
import { ThemeButton } from '@/components/layout/ThemeButton';
-import { useLocalStorage } from '@/hooks/useLocalStorage';
+import { useLocalStorage } from '@/hooks/use-local-storage';
import { FC, useCallback } from 'react';
export type Theme = 'light' | 'dark';
diff --git a/src/components/layout/FavoriteButton.tsx b/src/components/layout/FavoriteButton.tsx
index 71c6635..e0ed0c6 100644
--- a/src/components/layout/FavoriteButton.tsx
+++ b/src/components/layout/FavoriteButton.tsx
@@ -1,5 +1,5 @@
import { SearchContext } from '@/contexts/SearchContext';
-import { useKeyboardEvent } from '@/hooks/useKeyboardEvent';
+import { useKeyboardEvent } from '@/hooks/use-keyboard-event';
import { FC, useCallback, useContext, useEffect, useState } from 'react';
export const FavoriteButton: FC = () => {
@@ -7,17 +7,13 @@ export const FavoriteButton: FC = () => {
const [prevSearchRequest, setPrevSearchRequest] = useState('');
const toggleFavorites = useCallback(
- () =>
- setSearch((prev) => ({
- request: prev?.request === '#favorites' ? prevSearchRequest : '#favorites',
- mode: prev?.mode ?? 'all',
- })),
+ () => setSearch((prev) => (prev === '#favorites' ? prevSearchRequest : '#favorites')),
[setSearch, prevSearchRequest],
);
useEffect(() => {
- if (!search || search.request === '#favorites') return;
- setPrevSearchRequest(search.request);
+ if (search === '#favorites') return;
+ setPrevSearchRequest(search);
}, [search]);
useKeyboardEvent(
@@ -37,9 +33,9 @@ export const FavoriteButton: FC = () => {
);
};
diff --git a/src/components/layout/header/CollectionButton.tsx b/src/components/layout/header/CollectionButton.tsx
index 7c6b564..36027de 100644
--- a/src/components/layout/header/CollectionButton.tsx
+++ b/src/components/layout/header/CollectionButton.tsx
@@ -1,7 +1,7 @@
import { FC, useCallback, useContext, useEffect, useRef } from 'react';
import { CollectionContext } from '@/contexts/CollectionContext';
-import { useLocalStorage } from '@/hooks/useLocalStorage';
-import { useKeyboardEvent } from '@/hooks/useKeyboardEvent';
+import { useLocalStorage } from '@/hooks/use-local-storage';
+import { useKeyboardEvent } from '@/hooks/use-keyboard-event';
export const CollectionButton: FC = () => {
const { collection, loadCollection } = useContext(CollectionContext);
diff --git a/src/components/layout/header/Searchbar.tsx b/src/components/layout/header/Searchbar.tsx
index cfef2a4..9f73f44 100644
--- a/src/components/layout/header/Searchbar.tsx
+++ b/src/components/layout/header/Searchbar.tsx
@@ -1,6 +1,6 @@
import { SearchContext } from '@/contexts/SearchContext';
-import { useKeyboardEvent } from '@/hooks/useKeyboardEvent';
-import { useWanakana } from '@/hooks/useWanakana';
+import { useKeyboardEvent } from '@/hooks/use-keyboard-event';
+import { useWanakana } from '@/hooks/use-wanakana';
import { FC, useContext, useRef, useState } from 'react';
export const Searchbar: FC = () => {
@@ -11,14 +11,6 @@ export const Searchbar: FC = () => {
useWanakana(inputRef, {}, kanaConversion);
- const toggleSearchMode = () => {
- setSearch((prev) => ({
- request: prev?.request ?? '',
- mode: prev?.mode === 'all' ? 'works' : prev?.mode === 'works' ? 'users' : 'all',
- }));
- inputRef.current?.focus();
- };
-
const toggleKanaConversion = () => {
setKanaConversion((prev) => !prev);
inputRef.current?.focus();
@@ -30,8 +22,6 @@ export const Searchbar: FC = () => {
useKeyboardEvent('keydown', 'Escape', () => inputRef.current?.blur(), [inputRef.current]);
- useKeyboardEvent('keyup', 'Backquote', toggleSearchMode, [], { alt: true });
-
useKeyboardEvent('keyup', 'Backquote', toggleKanaConversion, [], { control: true });
return (
@@ -40,36 +30,22 @@ export const Searchbar: FC = () => {
e.preventDefault();
inputRef.current?.blur();
}}
- className="border-text-header flex min-w-0 grow basis-40 gap-1 rounded-full border-2"
+ className="flex min-w-0 grow basis-40 gap-1 rounded-full border-2 border-text-header"
>
- setSearch((prev) => ({
- request: (e.target as HTMLInputElement).value,
- mode: prev?.mode ?? 'all',
- }))
- }
+ className="min-w-0 grow bg-transparent py-1.5 pl-3 placeholder:text-text-header/80 focus:outline-none"
+ value={search}
+ onInput={(e) => setSearch((e.target as HTMLInputElement).value)}
onFocus={() => setIsInputInFocus(true)}
onBlur={() => setIsInputInFocus(false)}
/>
-
-