mirror of
https://github.com/calibrain/shelfmark.git
synced 2026-10-05 22:05:50 +01:00
Add prek + pytest-cov (#873)
This commit is contained in:
@@ -96,4 +96,3 @@ make typecheck
|
||||
- Clear `node_modules` and reinstall: `make clean && make install`
|
||||
- Check Node.js version compatibility
|
||||
- Verify TypeScript configuration
|
||||
|
||||
|
||||
@@ -5,16 +5,16 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
||||
<meta name="description" content="Shelfmark - Book search and download" />
|
||||
<base href="/" data-shelfmark-base />
|
||||
|
||||
|
||||
<!-- Theme color with media queries for light/dark mode -->
|
||||
<meta name="theme-color" content="#f8f8f8" media="(prefers-color-scheme: light)" />
|
||||
<meta name="theme-color" content="#121212" media="(prefers-color-scheme: dark)" />
|
||||
|
||||
|
||||
<!-- iOS PWA Meta Tags -->
|
||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
|
||||
<meta name="apple-mobile-web-app-title" content="Shelfmark" />
|
||||
|
||||
|
||||
<!-- App Icons -->
|
||||
<link rel="icon" type="image/x-icon" href="favicon.ico" />
|
||||
<link rel="apple-touch-icon" href="logo.png" />
|
||||
|
||||
@@ -421,7 +421,7 @@ export const Header = forwardRef<HeaderHandle, HeaderProps>(({
|
||||
}}
|
||||
>
|
||||
<div className="py-1">
|
||||
|
||||
|
||||
<a
|
||||
href="https://github.com/calibrain/shelfmark/issues"
|
||||
target="_blank"
|
||||
|
||||
@@ -121,5 +121,3 @@ export const LanguageMultiSelect = ({
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -215,4 +215,3 @@ export const CardView = ({ book, onDetails, onDownload, onGetReleases, buttonSta
|
||||
</article>
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
@@ -219,4 +219,3 @@ export const CompactView = ({ book, onDetails, onDownload, onGetReleases, button
|
||||
</article>
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
@@ -274,4 +274,3 @@ export const ListView = ({ books, onDetails, onDownload, onGetReleases, getButto
|
||||
</article>
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
@@ -24,4 +24,3 @@ export const CONTENT_OPTIONS = [
|
||||
{ value: 'other', label: 'Other' },
|
||||
{ value: 'musical_score', label: 'Musical score' },
|
||||
];
|
||||
|
||||
|
||||
@@ -7,13 +7,13 @@ export const useToast = () => {
|
||||
const showToast = useCallback((message: string, type: 'info' | 'success' | 'error' = 'info', persistent: boolean = false): string => {
|
||||
const id = Date.now().toString();
|
||||
setToasts(prev => [...prev, { id, message, type }]);
|
||||
|
||||
|
||||
if (!persistent) {
|
||||
setTimeout(() => {
|
||||
setToasts(prev => prev.filter(t => t.id !== id));
|
||||
}, 4000);
|
||||
}
|
||||
|
||||
|
||||
return id;
|
||||
}, []);
|
||||
|
||||
|
||||
@@ -38,4 +38,3 @@ export const LoginPage = ({ onLogin, error, isLoading, authMode, oidcButtonLabel
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
@@ -8,4 +8,3 @@ export class UserCancelledError extends Error {
|
||||
export function isUserCancelledError(error: unknown): error is UserCancelledError {
|
||||
return error instanceof UserCancelledError;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user