diff --git a/server/src/main/kotlin/ir/armor/tachidesk/util/Library.kt b/server/src/main/kotlin/ir/armor/tachidesk/util/Library.kt index dd390e8..b37ca2d 100644 --- a/server/src/main/kotlin/ir/armor/tachidesk/util/Library.kt +++ b/server/src/main/kotlin/ir/armor/tachidesk/util/Library.kt @@ -1,9 +1,12 @@ package ir.armor.tachidesk.util import ir.armor.tachidesk.database.dataclass.MangaDataClass +import ir.armor.tachidesk.database.table.CategoryMangaTable import ir.armor.tachidesk.database.table.MangaTable import ir.armor.tachidesk.database.table.toDataClass +import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq import org.jetbrains.exposed.sql.and +import org.jetbrains.exposed.sql.deleteWhere import org.jetbrains.exposed.sql.select import org.jetbrains.exposed.sql.transactions.transaction import org.jetbrains.exposed.sql.update @@ -29,7 +32,9 @@ fun removeMangaFromLibrary(mangaId: Int) { transaction { MangaTable.update({ MangaTable.id eq manga.id }) { it[inLibrary] = false + it[defaultCategory] = true } + CategoryMangaTable.deleteWhere { CategoryMangaTable.manga eq mangaId } } } } diff --git a/webUI/react/src/components/CategorySelect.tsx b/webUI/react/src/components/CategorySelect.tsx index 36bc410..cf5feb6 100644 --- a/webUI/react/src/components/CategorySelect.tsx +++ b/webUI/react/src/components/CategorySelect.tsx @@ -56,7 +56,7 @@ export default function CategorySelect(props: IProps) { setCategoryInfos(tmpCategoryInfos); }); }); - }, [updateTriggerHolder]); + }, [updateTriggerHolder, open]); const handleCancel = () => { setOpen(false); @@ -90,7 +90,6 @@ export default function CategorySelect(props: IProps) { handleChange(e, categoryInfo.category.id)} - name="checkedB" color="default" /> )} diff --git a/webUI/react/src/components/MangaDetails.tsx b/webUI/react/src/components/MangaDetails.tsx index a030a07..85f4c48 100644 --- a/webUI/react/src/components/MangaDetails.tsx +++ b/webUI/react/src/components/MangaDetails.tsx @@ -26,7 +26,7 @@ export default function MangaDetails(props: IProps) { const [inLibrary, setInLibrary] = useState( manga.inLibrary ? 'In Library' : 'Not In Library', ); - const [categoryDialogOpen, setCategoryDialogOpen] = useState(true); + const [categoryDialogOpen, setCategoryDialogOpen] = useState(false); function addToLibrary() { setInLibrary('adding');