коммит заебал

This commit is contained in:
kazachilo 2025-03-25 18:08:00 +03:00
parent b9c026a23c
commit 61a8740d37
4 changed files with 11 additions and 4 deletions

View File

@ -6,6 +6,7 @@ interface ImageWithFallbackProps {
alt: string; alt: string;
className?: string; className?: string;
onClick?: () => void; onClick?: () => void;
onContextMenu?: (e: React.MouseEvent<HTMLDivElement>) => void;
maxRetries?: number; maxRetries?: number;
} }
@ -14,6 +15,7 @@ const ImageWithFallback: React.FC<ImageWithFallbackProps> = ({
alt, alt,
className = '', className = '',
onClick, onClick,
onContextMenu,
maxRetries = 2 // По умолчанию 2 попытки автоматической перезагрузки maxRetries = 2 // По умолчанию 2 попытки автоматической перезагрузки
}) => { }) => {
const [loading, setLoading] = useState(true); const [loading, setLoading] = useState(true);
@ -109,6 +111,7 @@ const ImageWithFallback: React.FC<ImageWithFallbackProps> = ({
<div <div
className={`${styles.container} ${className}`} className={`${styles.container} ${className}`}
onClick={handleClick} onClick={handleClick}
onContextMenu={onContextMenu}
> >
{/* Показываем индикатор загрузки, если изображение загружается */} {/* Показываем индикатор загрузки, если изображение загружается */}
{loading && ( {loading && (

View File

@ -50,14 +50,14 @@ const NotificationModal: React.FC<NotificationModalProps> = ({
<div className={styles.buttons}> <div className={styles.buttons}>
{showGalleryButton && ( {showGalleryButton && (
<button <button
className={`${styles.button} ${styles.primaryButton}`} className={`${styles.button} ${styles.secondaryButton}`}
onClick={onGalleryClick} onClick={onGalleryClick}
> >
В галерею Отмена
</button> </button>
)} )}
<button <button
className={`${styles.button} ${!showGalleryButton ? styles.primaryButton : styles.secondaryButton}`} className={`${styles.button} ${styles.primaryButton}`}
onClick={onContinueClick} onClick={onContinueClick}
> >
{continueButtonText} {continueButtonText}

View File

@ -166,6 +166,9 @@
width: 100%; width: 100%;
height: 100%; height: 100%;
object-fit: cover; object-fit: cover;
-webkit-touch-callout: none;
-webkit-user-select: none;
user-select: none;
} }
.error { .error {

View File

@ -310,6 +310,7 @@ const GalleryScreen: React.FC = () => {
alt={`Стикер ${index + 1}`} alt={`Стикер ${index + 1}`}
className={styles.image} className={styles.image}
onClick={() => !isDeleteMode && image.url && setSelectedImage(image.url)} onClick={() => !isDeleteMode && image.url && setSelectedImage(image.url)}
onContextMenu={(e: React.MouseEvent<HTMLDivElement>) => e.preventDefault()}
maxRetries={3} maxRetries={3}
/> />
{isDeleteMode && ( {isDeleteMode && (
@ -341,7 +342,7 @@ const GalleryScreen: React.FC = () => {
title="Удаление стикера" title="Удаление стикера"
message="Вы уверены, что хотите удалить этот стикер?" message="Вы уверены, что хотите удалить этот стикер?"
isLoading={isDeleting} isLoading={isDeleting}
showGalleryButton={false} showGalleryButton={true}
continueButtonText="Удалить" continueButtonText="Удалить"
onContinueClick={handleConfirmDelete} onContinueClick={handleConfirmDelete}
onGalleryClick={() => setSelectedForDelete(null)} onGalleryClick={() => setSelectedForDelete(null)}