stuff
Some checks are pending
Backend CI / test (push) Waiting to run
Backend CI / build (push) Blocked by required conditions
Deploy Admin Panel / Deploy Admin Panel (push) Waiting to run
Deploy Admin Panel / Admin Panel Verification (push) Blocked by required conditions
Deploy Mnemo Cards / Deploy Backend (push) Waiting to run
Deploy Mnemo Cards / Deploy Web App (push) Blocked by required conditions
Deploy Mnemo Cards / Final Verification (push) Blocked by required conditions
Some checks are pending
Backend CI / test (push) Waiting to run
Backend CI / build (push) Blocked by required conditions
Deploy Admin Panel / Deploy Admin Panel (push) Waiting to run
Deploy Admin Panel / Admin Panel Verification (push) Blocked by required conditions
Deploy Mnemo Cards / Deploy Backend (push) Waiting to run
Deploy Mnemo Cards / Deploy Web App (push) Blocked by required conditions
Deploy Mnemo Cards / Final Verification (push) Blocked by required conditions
This commit is contained in:
parent
8e77f99c02
commit
d869e5c17d
2 changed files with 16 additions and 10 deletions
|
|
@ -202,10 +202,15 @@ export default function CardsPage() {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Determine if this is an update or create
|
// Determine if this is an update or create
|
||||||
const isUpdate = selectedCard !== null && selectedCard.id !== undefined && selectedCard.id !== null && selectedCard.id !== ''
|
// Check if id exists and is not empty (handle both string and number)
|
||||||
|
const hasValidId = selectedCard?.id != null &&
|
||||||
|
selectedCard.id !== '' &&
|
||||||
|
selectedCard.id !== 0 &&
|
||||||
|
String(selectedCard.id).trim() !== ''
|
||||||
|
const isUpdate = selectedCard !== null && hasValidId
|
||||||
|
|
||||||
const cardData: GameCardDto = {
|
const cardData: GameCardDto = {
|
||||||
id: isUpdate ? selectedCard.id : null,
|
id: isUpdate ? String(selectedCard.id) : null,
|
||||||
packId: formData.packId.trim() || undefined,
|
packId: formData.packId.trim() || undefined,
|
||||||
original: formData.original.trim(),
|
original: formData.original.trim(),
|
||||||
translation: formData.translation.trim(),
|
translation: formData.translation.trim(),
|
||||||
|
|
@ -230,8 +235,12 @@ export default function CardsPage() {
|
||||||
}
|
}
|
||||||
|
|
||||||
const confirmDelete = () => {
|
const confirmDelete = () => {
|
||||||
if (cardToDelete && cardToDelete.id) {
|
if (cardToDelete && cardToDelete.id != null && cardToDelete.id !== '') {
|
||||||
deleteMutation.mutate(cardToDelete.id)
|
// Ensure id is a string
|
||||||
|
const cardId = String(cardToDelete.id)
|
||||||
|
deleteMutation.mutate(cardId)
|
||||||
|
} else {
|
||||||
|
toast.error('Invalid card ID')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -87,9 +87,8 @@ class AdminCardsApiV2 {
|
||||||
for (final card in paginatedCards) {
|
for (final card in paginatedCards) {
|
||||||
final packs = await _db.packDao.getPacksForCard(card.id);
|
final packs = await _db.packDao.getPacksForCard(card.id);
|
||||||
final packId = packs.isNotEmpty ? packs.first.id : null;
|
final packId = packs.isNotEmpty ? packs.first.id : null;
|
||||||
final cardId = int.tryParse(card.id) ?? 0;
|
|
||||||
cardsWithPacks.add({
|
cardsWithPacks.add({
|
||||||
'id': cardId,
|
'id': card.id,
|
||||||
'packId': packId,
|
'packId': packId,
|
||||||
'original': card.original,
|
'original': card.original,
|
||||||
'translation': card.translation,
|
'translation': card.translation,
|
||||||
|
|
@ -257,7 +256,6 @@ class AdminCardsApiV2 {
|
||||||
updatedAt: PgDateTime(DateTime.now()),
|
updatedAt: PgDateTime(DateTime.now()),
|
||||||
);
|
);
|
||||||
await _db.packDao.updateCard(updated);
|
await _db.packDao.updateCard(updated);
|
||||||
final cardIdInt = int.tryParse(updated.id) ?? 0;
|
|
||||||
// Получить паки для карточки
|
// Получить паки для карточки
|
||||||
final packs = await _db.packDao.getPacksForCard(updated.id);
|
final packs = await _db.packDao.getPacksForCard(updated.id);
|
||||||
final packId = packs.isNotEmpty ? packs.first.id : null;
|
final packId = packs.isNotEmpty ? packs.first.id : null;
|
||||||
|
|
@ -266,7 +264,7 @@ class AdminCardsApiV2 {
|
||||||
json.encode({
|
json.encode({
|
||||||
'success': true,
|
'success': true,
|
||||||
'card': {
|
'card': {
|
||||||
'id': cardIdInt,
|
'id': updated.id,
|
||||||
'packId': packId,
|
'packId': packId,
|
||||||
'original': updated.original,
|
'original': updated.original,
|
||||||
'translation': updated.translation,
|
'translation': updated.translation,
|
||||||
|
|
@ -319,12 +317,11 @@ class AdminCardsApiV2 {
|
||||||
final packs = await _db.packDao.getPacksForCard(cardId);
|
final packs = await _db.packDao.getPacksForCard(cardId);
|
||||||
final packId = packs.isNotEmpty ? packs.first.id : null;
|
final packId = packs.isNotEmpty ? packs.first.id : null;
|
||||||
|
|
||||||
final cardIdInt = int.tryParse(created.id) ?? 0;
|
|
||||||
return Response.ok(
|
return Response.ok(
|
||||||
json.encode({
|
json.encode({
|
||||||
'success': true,
|
'success': true,
|
||||||
'card': {
|
'card': {
|
||||||
'id': cardIdInt,
|
'id': created.id,
|
||||||
'packId': packId,
|
'packId': packId,
|
||||||
'original': created.original,
|
'original': created.original,
|
||||||
'translation': created.translation,
|
'translation': created.translation,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue