refactor: remove cutting management components to streamline codebase and improve maintainability
This commit is contained in:
parent
3b256f1be3
commit
cf7e199306
@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Head, Link } from '@inertiajs/vue3';
|
import { Head, Link } from '@inertiajs/vue3';
|
||||||
import { ArrowLeft } from '@lucide/vue';
|
import { ArrowLeft } from '@lucide/vue';
|
||||||
import CuttingPosForm from '@/components/admin/manage/cuttings/CuttingPosForm.vue';
|
import CuttingPosForm from './form/CuttingPosForm.vue';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
import AdminLayout from '@/layouts/AdminLayout.vue';
|
import AdminLayout from '@/layouts/AdminLayout.vue';
|
||||||
import type { CuttingProductCatalogItem, CuttingRawMaterialCatalogItem } from '@/types/cutting';
|
import type { CuttingProductCatalogItem, CuttingRawMaterialCatalogItem } from '@/types/cutting';
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
import { Head, Link } from '@inertiajs/vue3';
|
import { Head, Link } from '@inertiajs/vue3';
|
||||||
import { ArrowLeft } from '@lucide/vue';
|
import { ArrowLeft } from '@lucide/vue';
|
||||||
import { computed } from 'vue';
|
import { computed } from 'vue';
|
||||||
import CuttingPosForm from '@/components/admin/manage/cuttings/CuttingPosForm.vue';
|
import CuttingPosForm from './form/CuttingPosForm.vue';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
import AdminLayout from '@/layouts/AdminLayout.vue';
|
import AdminLayout from '@/layouts/AdminLayout.vue';
|
||||||
import type {
|
import type {
|
||||||
|
|||||||
@ -2,8 +2,8 @@
|
|||||||
import { Head, Link } from '@inertiajs/vue3';
|
import { Head, Link } from '@inertiajs/vue3';
|
||||||
import { Plus } from '@lucide/vue';
|
import { Plus } from '@lucide/vue';
|
||||||
import { computed, ref, watch } from 'vue';
|
import { computed, ref, watch } from 'vue';
|
||||||
import CuttingGroupedTable from '@/components/admin/manage/cuttings/CuttingGroupedTable.vue';
|
import CuttingGroupedTable from './table/CuttingGroupedTable.vue';
|
||||||
import CuttingInProgressSection from '@/components/admin/manage/cuttings/CuttingInProgressSection.vue';
|
import CuttingInProgressSection from './table/CuttingInProgressSection.vue';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
import { Card, CardContent } from '@/components/ui/card';
|
import { Card, CardContent } from '@/components/ui/card';
|
||||||
import { useCan } from '@/composables/useCan';
|
import { useCan } from '@/composables/useCan';
|
||||||
|
|||||||
@ -3,8 +3,8 @@ import { useForm } from '@inertiajs/vue3';
|
|||||||
import { Minus, Plus, Save, Scissors, Search, Trash2 } from '@lucide/vue';
|
import { Minus, Plus, Save, Scissors, Search, Trash2 } from '@lucide/vue';
|
||||||
import { computed, ref, watch } from 'vue';
|
import { computed, ref, watch } from 'vue';
|
||||||
import { toast } from 'vue-sonner';
|
import { toast } from 'vue-sonner';
|
||||||
import PosCatalogCard from '@/components/admin/manage/PosCatalogCard.vue';
|
import PosCatalogCard from '../../shared/PosCatalogCard.vue';
|
||||||
import PosCatalogVariantThumb from '@/components/admin/manage/PosCatalogVariantThumb.vue';
|
import PosCatalogVariantThumb from '../../shared/PosCatalogVariantThumb.vue';
|
||||||
import { DecimalInput } from '@/components/form/decimal-input';
|
import { DecimalInput } from '@/components/form/decimal-input';
|
||||||
import { NumberInput } from '@/components/form/number-input';
|
import { NumberInput } from '@/components/form/number-input';
|
||||||
import { RupiahInput } from '@/components/form/rupiah-input';
|
import { RupiahInput } from '@/components/form/rupiah-input';
|
||||||
@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Check, ChevronDown } from '@lucide/vue';
|
import { Check, ChevronDown } from '@lucide/vue';
|
||||||
import { computed, ref } from 'vue';
|
import { computed, ref } from 'vue';
|
||||||
import DataTableActions from '@/components/admin/manage/cuttings/data-table-actions.vue';
|
import DataTableActions from './data-table-actions.vue';
|
||||||
import { Badge } from '@/components/ui/badge';
|
import { Badge } from '@/components/ui/badge';
|
||||||
import { Card, CardContent } from '@/components/ui/card';
|
import { Card, CardContent } from '@/components/ui/card';
|
||||||
import {
|
import {
|
||||||
@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Link } from '@inertiajs/vue3';
|
import { Link } from '@inertiajs/vue3';
|
||||||
import { computed } from 'vue';
|
import { computed } from 'vue';
|
||||||
import DataTableActions from '@/components/admin/manage/cuttings/data-table-actions.vue';
|
import DataTableActions from './data-table-actions.vue';
|
||||||
import DataTableToolbar from '@/components/data-table/DataTableToolbar.vue';
|
import DataTableToolbar from '@/components/data-table/DataTableToolbar.vue';
|
||||||
import { Badge } from '@/components/ui/badge';
|
import { Badge } from '@/components/ui/badge';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ChevronDown, Scissors } from '@lucide/vue';
|
import { ChevronDown, Scissors } from '@lucide/vue';
|
||||||
import { computed, ref } from 'vue';
|
import { computed, ref } from 'vue';
|
||||||
import DataTableActions from '@/components/admin/manage/cuttings/data-table-actions.vue';
|
import DataTableActions from './data-table-actions.vue';
|
||||||
import { Badge } from '@/components/ui/badge';
|
import { Badge } from '@/components/ui/badge';
|
||||||
import { Card, CardContent } from '@/components/ui/card';
|
import { Card, CardContent } from '@/components/ui/card';
|
||||||
import {
|
import {
|
||||||
@ -2,7 +2,7 @@
|
|||||||
import { Head, Link } from '@inertiajs/vue3';
|
import { Head, Link } from '@inertiajs/vue3';
|
||||||
import { ArrowLeft } from '@lucide/vue';
|
import { ArrowLeft } from '@lucide/vue';
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import OrderPosForm from '@/components/admin/manage/orders/OrderPosForm.vue';
|
import OrderPosForm from './form/OrderPosForm.vue';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
import AdminLayout from '@/layouts/AdminLayout.vue';
|
import AdminLayout from '@/layouts/AdminLayout.vue';
|
||||||
import type { EnumOption, OrderCartItem, OrderCatalogItem, SelectOption } from '@/types/order';
|
import type { EnumOption, OrderCartItem, OrderCatalogItem, SelectOption } from '@/types/order';
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
import { Head, Link } from '@inertiajs/vue3';
|
import { Head, Link } from '@inertiajs/vue3';
|
||||||
import { ArrowLeft } from '@lucide/vue';
|
import { ArrowLeft } from '@lucide/vue';
|
||||||
import { computed, ref } from 'vue';
|
import { computed, ref } from 'vue';
|
||||||
import OrderPosForm from '@/components/admin/manage/orders/OrderPosForm.vue';
|
import OrderPosForm from './form/OrderPosForm.vue';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
import AdminLayout from '@/layouts/AdminLayout.vue';
|
import AdminLayout from '@/layouts/AdminLayout.vue';
|
||||||
import type { EnumOption, OrderCatalogItem, OrderEditItem, SelectOption } from '@/types/order';
|
import type { EnumOption, OrderCatalogItem, OrderEditItem, SelectOption } from '@/types/order';
|
||||||
|
|||||||
@ -3,8 +3,8 @@ import { Head, Link, usePage } from '@inertiajs/vue3';
|
|||||||
import { Plus } from '@lucide/vue';
|
import { Plus } from '@lucide/vue';
|
||||||
import { computed, onMounted, ref, watch } from 'vue';
|
import { computed, onMounted, ref, watch } from 'vue';
|
||||||
import { toast } from 'vue-sonner';
|
import { toast } from 'vue-sonner';
|
||||||
import OrderGroupedTable from '@/components/admin/manage/orders/OrderGroupedTable.vue';
|
import OrderGroupedTable from './table/OrderGroupedTable.vue';
|
||||||
import ThermalPrinterConnectButton from '@/components/admin/manage/orders/ThermalPrinterConnectButton.vue';
|
import ThermalPrinterConnectButton from './form/ThermalPrinterConnectButton.vue';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
import { Card, CardContent } from '@/components/ui/card';
|
import { Card, CardContent } from '@/components/ui/card';
|
||||||
import { useCan } from '@/composables/useCan';
|
import { useCan } from '@/composables/useCan';
|
||||||
|
|||||||
@ -17,7 +17,7 @@ import {
|
|||||||
} from '@lucide/vue';
|
} from '@lucide/vue';
|
||||||
import { computed, ref } from 'vue';
|
import { computed, ref } from 'vue';
|
||||||
import { toast } from 'vue-sonner';
|
import { toast } from 'vue-sonner';
|
||||||
import OrderPrintButton from '@/components/admin/manage/orders/OrderPrintButton.vue';
|
import OrderPrintButton from './form/OrderPrintButton.vue';
|
||||||
import ConfirmDialog from '@/components/ConfirmDialog.vue';
|
import ConfirmDialog from '@/components/ConfirmDialog.vue';
|
||||||
import { Badge } from '@/components/ui/badge';
|
import { Badge } from '@/components/ui/badge';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
|
|||||||
@ -3,9 +3,9 @@ import { useForm, usePage } from '@inertiajs/vue3';
|
|||||||
import { Minus, Plus, Save, Search, ShoppingCart, Trash2 } from '@lucide/vue';
|
import { Minus, Plus, Save, Search, ShoppingCart, Trash2 } from '@lucide/vue';
|
||||||
import { computed, ref, watch } from 'vue';
|
import { computed, ref, watch } from 'vue';
|
||||||
import { toast } from 'vue-sonner';
|
import { toast } from 'vue-sonner';
|
||||||
import CustomerQuickCreateModal from '@/components/admin/manage/orders/CustomerQuickCreateModal.vue';
|
import CustomerQuickCreateModal from './CustomerQuickCreateModal.vue';
|
||||||
import PosCatalogCard from '@/components/admin/manage/PosCatalogCard.vue';
|
import PosCatalogCard from '../../shared/PosCatalogCard.vue';
|
||||||
import PosCatalogVariantThumb from '@/components/admin/manage/PosCatalogVariantThumb.vue';
|
import PosCatalogVariantThumb from '../../shared/PosCatalogVariantThumb.vue';
|
||||||
import { NumberInput } from '@/components/form/number-input';
|
import { NumberInput } from '@/components/form/number-input';
|
||||||
import { RupiahInput } from '@/components/form/rupiah-input';
|
import { RupiahInput } from '@/components/form/rupiah-input';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Link } from '@inertiajs/vue3';
|
import { Link } from '@inertiajs/vue3';
|
||||||
import { computed } from 'vue';
|
import { computed } from 'vue';
|
||||||
import DataTableActions from '@/components/admin/manage/orders/data-table-actions.vue';
|
import DataTableActions from './data-table-actions.vue';
|
||||||
import { formatRupiah } from '@/lib/rupiah';
|
import { formatRupiah } from '@/lib/rupiah';
|
||||||
import DataTableToolbar from '@/components/data-table/DataTableToolbar.vue';
|
import DataTableToolbar from '@/components/data-table/DataTableToolbar.vue';
|
||||||
import { Badge } from '@/components/ui/badge';
|
import { Badge } from '@/components/ui/badge';
|
||||||
@ -3,7 +3,7 @@ import { Link, router } from '@inertiajs/vue3';
|
|||||||
import { Check, Eye, Pencil, Send, Trash2, X } from '@lucide/vue';
|
import { Check, Eye, Pencil, Send, Trash2, X } from '@lucide/vue';
|
||||||
import { computed, ref } from 'vue';
|
import { computed, ref } from 'vue';
|
||||||
import { toast } from 'vue-sonner';
|
import { toast } from 'vue-sonner';
|
||||||
import OrderPrintButton from '@/components/admin/manage/orders/OrderPrintButton.vue';
|
import OrderPrintButton from '../form/OrderPrintButton.vue';
|
||||||
import ConfirmDialog from '@/components/ConfirmDialog.vue';
|
import ConfirmDialog from '@/components/ConfirmDialog.vue';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';
|
import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';
|
||||||
@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Head, Link } from '@inertiajs/vue3';
|
import { Head, Link } from '@inertiajs/vue3';
|
||||||
import { ArrowLeft } from '@lucide/vue';
|
import { ArrowLeft } from '@lucide/vue';
|
||||||
import PurchasePosForm from '@/components/admin/manage/purchases/PurchasePosForm.vue';
|
import PurchasePosForm from './form/PurchasePosForm.vue';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
import AdminLayout from '@/layouts/AdminLayout.vue';
|
import AdminLayout from '@/layouts/AdminLayout.vue';
|
||||||
import type { PurchaseCartItem, PurchaseCatalogItem, SelectOption } from '@/types/purchase';
|
import type { PurchaseCartItem, PurchaseCatalogItem, SelectOption } from '@/types/purchase';
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
import { Head, Link } from '@inertiajs/vue3';
|
import { Head, Link } from '@inertiajs/vue3';
|
||||||
import { ArrowLeft } from '@lucide/vue';
|
import { ArrowLeft } from '@lucide/vue';
|
||||||
import { computed } from 'vue';
|
import { computed } from 'vue';
|
||||||
import PurchasePosForm from '@/components/admin/manage/purchases/PurchasePosForm.vue';
|
import PurchasePosForm from './form/PurchasePosForm.vue';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
import AdminLayout from '@/layouts/AdminLayout.vue';
|
import AdminLayout from '@/layouts/AdminLayout.vue';
|
||||||
import type { PurchaseCatalogItem, PurchaseEditItem, SelectOption } from '@/types/purchase';
|
import type { PurchaseCatalogItem, PurchaseEditItem, SelectOption } from '@/types/purchase';
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
import { Head, Link } from '@inertiajs/vue3';
|
import { Head, Link } from '@inertiajs/vue3';
|
||||||
import { Plus } from '@lucide/vue';
|
import { Plus } from '@lucide/vue';
|
||||||
import { computed, ref, watch } from 'vue';
|
import { computed, ref, watch } from 'vue';
|
||||||
import PurchaseGroupedTable from '@/components/admin/manage/purchases/PurchaseGroupedTable.vue';
|
import PurchaseGroupedTable from './table/PurchaseGroupedTable.vue';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
import { Card, CardContent } from '@/components/ui/card';
|
import { Card, CardContent } from '@/components/ui/card';
|
||||||
import { useCan } from '@/composables/useCan';
|
import { useCan } from '@/composables/useCan';
|
||||||
|
|||||||
@ -3,8 +3,8 @@ import { useForm } from '@inertiajs/vue3';
|
|||||||
import { Minus, Plus, Save, Search, ShoppingCart, Trash2 } from '@lucide/vue';
|
import { Minus, Plus, Save, Search, ShoppingCart, Trash2 } from '@lucide/vue';
|
||||||
import { computed, ref, watch } from 'vue';
|
import { computed, ref, watch } from 'vue';
|
||||||
import { toast } from 'vue-sonner';
|
import { toast } from 'vue-sonner';
|
||||||
import PosCatalogCard from '@/components/admin/manage/PosCatalogCard.vue';
|
import PosCatalogCard from '../../shared/PosCatalogCard.vue';
|
||||||
import PosCatalogVariantThumb from '@/components/admin/manage/PosCatalogVariantThumb.vue';
|
import PosCatalogVariantThumb from '../../shared/PosCatalogVariantThumb.vue';
|
||||||
import { DecimalInput } from '@/components/form/decimal-input';
|
import { DecimalInput } from '@/components/form/decimal-input';
|
||||||
import { ImageUploadField } from '@/components/form/image-upload-field';
|
import { ImageUploadField } from '@/components/form/image-upload-field';
|
||||||
import { RupiahInput } from '@/components/form/rupiah-input';
|
import { RupiahInput } from '@/components/form/rupiah-input';
|
||||||
@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Link } from '@inertiajs/vue3';
|
import { Link } from '@inertiajs/vue3';
|
||||||
import { computed } from 'vue';
|
import { computed } from 'vue';
|
||||||
import DataTableActions from '@/components/admin/manage/purchases/data-table-actions.vue';
|
import DataTableActions from './data-table-actions.vue';
|
||||||
import DataTableToolbar from '@/components/data-table/DataTableToolbar.vue';
|
import DataTableToolbar from '@/components/data-table/DataTableToolbar.vue';
|
||||||
import MediaThumbnailCell from '@/components/media/MediaThumbnailCell.vue';
|
import MediaThumbnailCell from '@/components/media/MediaThumbnailCell.vue';
|
||||||
import { Badge } from '@/components/ui/badge';
|
import { Badge } from '@/components/ui/badge';
|
||||||
@ -2,8 +2,8 @@
|
|||||||
import { router } from '@inertiajs/vue3';
|
import { router } from '@inertiajs/vue3';
|
||||||
import { ChevronDown, PackageX, TriangleAlert } from '@lucide/vue';
|
import { ChevronDown, PackageX, TriangleAlert } from '@lucide/vue';
|
||||||
import { computed, ref } from 'vue';
|
import { computed, ref } from 'vue';
|
||||||
import PosCatalogCard from '@/components/admin/manage/PosCatalogCard.vue';
|
import PosCatalogCard from '@/pages/admin/manage/shared/PosCatalogCard.vue';
|
||||||
import PosCatalogVariantThumb from '@/components/admin/manage/PosCatalogVariantThumb.vue';
|
import PosCatalogVariantThumb from '@/pages/admin/manage/shared/PosCatalogVariantThumb.vue';
|
||||||
import { Badge } from '@/components/ui/badge';
|
import { Badge } from '@/components/ui/badge';
|
||||||
import { Card, CardContent } from '@/components/ui/card';
|
import { Card, CardContent } from '@/components/ui/card';
|
||||||
import {
|
import {
|
||||||
@ -1,8 +1,8 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Head } from '@inertiajs/vue3';
|
import { Head } from '@inertiajs/vue3';
|
||||||
import { computed, ref, watch } from 'vue';
|
import { computed, ref, watch } from 'vue';
|
||||||
import ActivityLogDetailModal from '@/components/admin/system/activity-logs/ActivityLogDetailModal.vue';
|
import ActivityLogDetailModal from './table/ActivityLogDetailModal.vue';
|
||||||
import { createColumns } from '@/components/admin/system/activity-logs/columns';
|
import { createColumns } from './table/columns';
|
||||||
import { DataTable } from '@/components/data-table';
|
import { DataTable } from '@/components/data-table';
|
||||||
import { Card, CardContent } from '@/components/ui/card';
|
import { Card, CardContent } from '@/components/ui/card';
|
||||||
import { useDataTableQuery, useDataTableQuerySync } from '@/composables/useDataTableQuery';
|
import { useDataTableQuery, useDataTableQuerySync } from '@/composables/useDataTableQuery';
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import type { ColumnDef } from '@tanstack/vue-table';
|
import type { ColumnDef } from '@tanstack/vue-table';
|
||||||
import { h } from 'vue';
|
import { h } from 'vue';
|
||||||
import DataTableActions from '@/components/admin/system/activity-logs/data-table-actions.vue';
|
import DataTableActions from './data-table-actions.vue';
|
||||||
import { DataTableColumnHeader } from '@/components/data-table';
|
import { DataTableColumnHeader } from '@/components/data-table';
|
||||||
import type { ActivityLogListItem } from '@/types/activity-log';
|
import type { ActivityLogListItem } from '@/types/activity-log';
|
||||||
|
|
||||||
@ -1,11 +1,11 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { Head } from '@inertiajs/vue3';
|
import { Head } from '@inertiajs/vue3';
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import HomepageSection from '@/components/admin/setting/HomepageSection.vue';
|
import HomepageSection from './form/HomepageSection.vue';
|
||||||
import HrSection from '@/components/admin/setting/HrSection.vue';
|
import HrSection from './form/HrSection.vue';
|
||||||
import MarketplaceSection from '@/components/admin/setting/MarketplaceSection.vue';
|
import MarketplaceSection from './form/MarketplaceSection.vue';
|
||||||
import SocialMediaSection from '@/components/admin/setting/SocialMediaSection.vue';
|
import SocialMediaSection from './form/SocialMediaSection.vue';
|
||||||
import SystemSection from '@/components/admin/setting/SystemSection.vue';
|
import SystemSection from './form/SystemSection.vue';
|
||||||
import SettingLayout from '@/layouts/SettingLayout.vue';
|
import SettingLayout from '@/layouts/SettingLayout.vue';
|
||||||
import type {
|
import type {
|
||||||
HomepageSettingsData,
|
HomepageSettingsData,
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import { useForm } from '@inertiajs/vue3';
|
|||||||
import { Save, ShoppingBag, Store } from '@lucide/vue';
|
import { Save, ShoppingBag, Store } from '@lucide/vue';
|
||||||
import { ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
import { toast } from 'vue-sonner';
|
import { toast } from 'vue-sonner';
|
||||||
import MarketplaceFeeField from '@/components/admin/setting/MarketplaceFeeField.vue';
|
import MarketplaceFeeField from './MarketplaceFeeField.vue';
|
||||||
import { Button } from '@/components/ui/button';
|
import { Button } from '@/components/ui/button';
|
||||||
import {
|
import {
|
||||||
Card,
|
Card,
|
||||||
Loading…
Reference in New Issue
Block a user