postmerge-fix

This commit is contained in:
Untone 2024-03-07 15:49:28 +03:00
parent cc951c305b
commit 4e2152b8b0
3 changed files with 24 additions and 24 deletions

View File

@ -57,7 +57,7 @@ export const RatingControl = (props: RatingControlProps) => {
)
createEffect(
on(
reactionEntities,
() => reactionEntities,
(reactions) => {
const ratings = Object.values(reactions).filter((r) => !r?.reply_to)
const likes = ratings.filter((rating) => rating.kind === 'LIKE').length

View File

@ -160,7 +160,7 @@ export const LoginForm = () => {
/>
<Show when={submitError()}>
<div class={clsx('form-message--error', styles.submitError)}>{submitError()}</div>
<div class={clsx('form-message--error', styles.validationError)}>{submitError()}</div>
</Show>
<div>

View File

@ -1,6 +1,6 @@
import type { Accessor, JSX } from 'solid-js'
import type { JSX } from 'solid-js'
import { createContext, createSignal, onCleanup, useContext } from 'solid-js'
import { createContext, onCleanup, useContext } from 'solid-js'
import { createStore, reconcile } from 'solid-js/store'
import { apiClient } from '../graphql/client/core'
@ -9,12 +9,12 @@ import { useLocalize } from './localize'
import { useSnackbar } from './snackbar'
type ReactionsContextType = {
reactionEntities: Accessor<Record<number, Reaction>>
reactionEntities: Record<number, Reaction>
loadReactionsBy: ({
by,
limit,
offset,
}: {
by,
limit,
offset,
}: {
by: ReactionBy
limit?: number
offset?: number
@ -36,21 +36,21 @@ export const ReactionsProvider = (props: { children: JSX.Element }) => {
const { showSnackbar } = useSnackbar()
const loadReactionsBy = async ({
by,
limit,
offset,
}: {
by,
limit,
offset,
}: {
by: ReactionBy
limit?: number
offset?: number
}): Promise<Reaction[]> => {
const reactions = await apiClient.getReactionsBy({ by, limit, offset })
const newReactionEntities = reactions.reduce(
(acc: { [reaction_id: number]: Reaction }, reaction: Reaction) => {
acc[reaction.id] = reaction
return acc
},
{},
(acc: { [reaction_id: number]: Reaction }, reaction: Reaction) => {
acc[reaction.id] = reaction
return acc
},
{},
)
setReactionEntities(newReactionEntities)
return reactions
@ -66,14 +66,14 @@ export const ReactionsProvider = (props: { children: JSX.Element }) => {
if ([ReactionKind.Like, ReactionKind.Dislike].includes(reaction.kind)) {
const oppositeReactionKind =
reaction.kind === ReactionKind.Like ? ReactionKind.Dislike : ReactionKind.Like
reaction.kind === ReactionKind.Like ? ReactionKind.Dislike : ReactionKind.Like
const oppositeReaction = Object.values(reactionEntities).find(
(r) =>
r.kind === oppositeReactionKind &&
r.created_by.slug === reaction.created_by.slug &&
r.shout.id === reaction.shout.id &&
r.reply_to === reaction.reply_to,
(r) =>
r.kind === oppositeReactionKind &&
r.created_by.slug === reaction.created_by.slug &&
r.shout.id === reaction.shout.id &&
r.reply_to === reaction.reply_to,
)
if (oppositeReaction) {