Merge master into storybook-deploy

This commit is contained in:
github-actions[bot]
2023-10-21 15:22:56 +00:00
committed by GitHub
5 changed files with 184 additions and 172 deletions

View File

@@ -1,4 +1,5 @@
module.exports = { module.exports = {
...require('@it-incubator/prettier-config'), ...require('@it-incubator/prettier-config'),
tabWidth: 4,
//override settings here //override settings here
} }

View File

@@ -1,7 +1,7 @@
import { useForm } from 'react-hook-form' import { useForm } from 'react-hook-form'
import { Link } from 'react-router-dom' import { Link } from 'react-router-dom'
import { Button, Card, ControlledTextField, Typography } from '../../ui' import { Button, Card, ControlledTextField, Typography } from '@/components'
import { DevTool } from '@hookform/devtools' import { DevTool } from '@hookform/devtools'
import { zodResolver } from '@hookform/resolvers/zod' import { zodResolver } from '@hookform/resolvers/zod'
import { z } from 'zod' import { z } from 'zod'

View File

@@ -117,7 +117,12 @@ export const DecksPage = () => {
/> />
</div> </div>
<div className={s.filters}> <div className={s.filters}>
<TextField onValueChange={setSearch} placeholder={'Search'} search value={search} /> <TextField
onValueChange={setSearch}
placeholder={'Search'}
search
value={search}
/>
<Tabs onValueChange={value => setCurrentTab(value as Tab)} value={currentTab}> <Tabs onValueChange={value => setCurrentTab(value as Tab)} value={currentTab}>
<TabsList> <TabsList>
<TabsTrigger value={'my'}>My decks</TabsTrigger> <TabsTrigger value={'my'}>My decks</TabsTrigger>

View File

@@ -6,19 +6,31 @@ import {
GetDecksArgs, GetDecksArgs,
UpdateDeckArgs, UpdateDeckArgs,
} from './decks.types' } from './decks.types'
import { baseApi } from '@/services' import { baseApi } from '@/services'
const decksService = baseApi.injectEndpoints({ const decksService = baseApi.injectEndpoints({
endpoints: builder => ({ endpoints: builder => ({
getDecks: builder.query<DecksResponse, GetDecksArgs | void>({ createDeck: builder.mutation<DeckResponse, CreateDeckArgs>({
query: args => { invalidatesTags: ['Decks'],
return { onQueryStarted: async (_, { dispatch, getCacheEntry, getState, queryFulfilled }) => {
url: `v1/decks`, const data = getCacheEntry()
params: args ?? undefined, const state = getState()
}
decksService.util.re
await queryFulfilled
}, },
providesTags: ['Decks'], query: body => ({
body,
method: 'POST',
url: `v1/decks`,
}),
}),
deleteDeck: builder.mutation<void, { id: string }>({
invalidatesTags: ['Decks'],
query: ({ id }) => ({
method: 'DELETE',
url: `v1/decks/${id}`,
}),
}), }),
getDeckById: builder.query<DeckResponse, { id: string }>({ getDeckById: builder.query<DeckResponse, { id: string }>({
query: ({ id }) => `v1/decks/${id}`, query: ({ id }) => `v1/decks/${id}`,
@@ -26,37 +38,31 @@ const decksService = baseApi.injectEndpoints({
getDeckCards: builder.query<CardsResponse, { id: string }>({ getDeckCards: builder.query<CardsResponse, { id: string }>({
query: ({ id }) => `v1/decks/${id}/cards`, query: ({ id }) => `v1/decks/${id}/cards`,
}), }),
createDeck: builder.mutation<DeckResponse, CreateDeckArgs>({ getDecks: builder.query<DecksResponse, GetDecksArgs | void>({
query: body => ({ providesTags: ['Decks'],
query: args => {
return {
params: args ?? undefined,
url: `v1/decks`, url: `v1/decks`,
method: 'POST', }
body, },
}),
invalidatesTags: ['Decks'],
}),
deleteDeck: builder.mutation<void, { id: string }>({
query: ({ id }) => ({
url: `v1/decks/${id}`,
method: 'DELETE',
}),
invalidatesTags: ['Decks'],
}), }),
updateDeck: builder.mutation<DeckResponse, UpdateDeckArgs>({ updateDeck: builder.mutation<DeckResponse, UpdateDeckArgs>({
query: ({ id, ...body }) => ({
url: `v1/decks/${id}`,
method: 'PATCH',
body,
}),
invalidatesTags: ['Decks'], invalidatesTags: ['Decks'],
query: ({ id, ...body }) => ({
body,
method: 'PATCH',
url: `v1/decks/${id}`,
}),
}), }),
}), }),
}) })
export const { export const {
useGetDecksQuery,
useGetDeckByIdQuery,
useGetDeckCardsQuery,
useCreateDeckMutation, useCreateDeckMutation,
useDeleteDeckMutation, useDeleteDeckMutation,
useGetDeckByIdQuery,
useGetDeckCardsQuery,
useGetDecksQuery,
useUpdateDeckMutation, useUpdateDeckMutation,
} = decksService } = decksService