Skip to content

Commit

Permalink
Merge pull request #16 from mirea-ninja/main
Browse files Browse the repository at this point in the history
fix: Post editing and typos
  • Loading branch information
ValeryVerkhoturov authored Sep 20, 2023
2 parents 81c7083 + 6f7a8e6 commit 4c9b4ab
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 29 deletions.
43 changes: 23 additions & 20 deletions src/components/posts/edit/edit-post.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,6 @@ export default function EditPost() {
onError: (error) => {
errorToast(error.message)
},
refetchOnWindowFocus: false,
refetchOnMount: false,
refetchOnReconnect: false,
},
)

Expand Down Expand Up @@ -93,28 +90,32 @@ export default function EditPost() {
successToast('Пост успешно обновлен!')
await router.push(`/${post.reason === 'LOST' ? 'losses' : 'finds'}/${newPost.slug}`)
},
[isInStoragePlace],
[isInStoragePlace, post, images],
)

const handleDelete = async () => {
if (!post) {
errorToast('При удалении поста произошла ошибка!')
return
}
const handleDelete = useCallback(
async (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {
event.preventDefault()
if (!post) {
errorToast('При удалении поста произошла ошибка!')
return
}

if (confirm('Вы уверены, что хотите удалить этот пост?')) {
await deletePost.mutateAsync({ postId: post.id })
successToast('Пост успешно удален!')
await router.push('/')
}
}
if (confirm('Вы уверены, что хотите удалить этот пост?')) {
await deletePost.mutateAsync({ postId: post.id })
successToast('Пост успешно удален!')
await router.push('/')
}
},
[post],
)

return (
<Window>
<div className='mx-auto max-w-2xl px-4 py-8 sm:px-6 lg:max-w-7xl lg:px-8'>
{postQuery.isLoading ? (
<p>Загрузка...</p>
) : post ? (
{postQuery.isLoading && <p>Загрузка...</p>}

{post && (
<>
<form onSubmit={(event) => void handleSubmit(event)}>
<div className='grid grid-cols-1 gap-x-4 gap-y-6 sm:grid-cols-6'>
Expand Down Expand Up @@ -222,15 +223,17 @@ export default function EditPost() {
</button>
<button
type='button'
onClick={void handleDelete}
onClick={(event) => void handleDelete(event)}
className='inline-flex items-center rounded-md border border-gray-300 px-4 py-2 text-sm font-medium text-gray-700 shadow-sm hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2'
>
Удалить
</button>
</div>
</form>
</>
) : (
)}

{postQuery.isFetched && !post && (
<div className='flex h-110 flex-col items-center justify-center text-center font-medium text-gray-700 lg:h-130'>
Пост не найден
</div>
Expand Down
6 changes: 3 additions & 3 deletions src/components/posts/is-in-storage-place-banner.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,19 @@ export const IsInStoragePlaceBanner: React.FC = () => {
<p className='mt-1 text-gray-500'>
А-131 - это аудитория, в которую можно отнести находки. Сотрудники студенческого союза
заботятся о том, чтобы с предметом ничего не случилось! <br />
<span className='font-bold'>Вы можете забрать предмет оттуда</span>
<span className='font-semibold'>Вы можете забрать предмет оттуда</span>
</p>
<Link
target='_blank'
href='https://map.mirea.ru/?object=2318:6159'
className='mt-1 flex items-center text-blue-600 hover:text-blue-500'
>
Аудиторя на карте <AiOutlineRight className='ml-1 h-4 w-4 text-blue-600' />
Аудитория на карте <AiOutlineRight className='ml-1 h-4 w-4 text-blue-600' />
</Link>
</div>
</div>
</div>
<AiOutlineSafety className='m-3 h-12 w-12 text-blue-600' aria-hidden='true' />
<AiOutlineSafety className='m-3 hidden h-12 w-12 text-blue-600 sm:block' aria-hidden='true' />
</div>
)
}
8 changes: 4 additions & 4 deletions src/components/posts/is-in-storage-place-checker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,19 @@ export const IsInStoragePlaceChecker: React.FC<IsInStoragePlaceCheckerProps> = (
<p className='mt-1 text-gray-500'>
А-131 - это аудитория, в которую вы можете отнести находку. Сотрудники студенческого
союза заберут её и позаботятся о том, чтобы с предметом ничего не случилось! <br />
<span className='font-bold'>Мы рекомендуем отнести найденный предмет туда</span>
<span className='font-semibold'>Мы рекомендуем отнести найденный предмет туда</span>
</p>
<Link
target='_blank'
href='https://map.mirea.ru/?object=2318:6159'
className='mt-1 flex items-center text-blue-600 hover:text-blue-500'
className='mt-1 flex items-center text-sm text-blue-600 hover:text-blue-500'
>
Аудиторя на карте <AiOutlineRight className='ml-1 h-4 w-4 text-blue-600' />
Аудитория на карте <AiOutlineRight className='ml-1 h-4 w-4 text-blue-600' />
</Link>
</div>
</div>
</div>
<AiOutlineSafety className='m-3 h-12 w-12 text-blue-600' aria-hidden='true' />
<AiOutlineSafety className='m-3 hidden h-12 w-12 text-blue-600 sm:block' aria-hidden='true' />
</div>
)
}
6 changes: 4 additions & 2 deletions src/components/posts/overview/overview-post/overview-post.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,9 @@ export default function OverviewPost(props: OverviewPostProps) {

const findSocialNetworkByName = (network: string, socialNetworks: Record<string, any>[]) => {
return socialNetworks.find(
(socialNetwork) => socialNetwork.socialNetwork === network,
(socialNetwork) =>
socialNetwork.socialNetwork === network &&
(socialNetwork.externalId || socialNetwork.username),
) as Record<string, string>
}

Expand Down Expand Up @@ -121,7 +123,7 @@ export default function OverviewPost(props: OverviewPostProps) {

{post.user.socialNetworks.length > 0 && (
<div className='mt-6 flex flex-col space-y-2'>
<h3 className='text-xl font-medium text-gray-900'>Связаться</h3>
<h3 className='text-xl font-medium text-gray-900'>Связаться с автором</h3>
<div className='flex space-x-2'>
{findSocialNetworkByName('VK', post.user.socialNetworks) && (
<Link
Expand Down

0 comments on commit 4c9b4ab

Please sign in to comment.