Inventory

Inventory- details of product loads with id and described with filter, and categories selection
This commit is contained in:
Nikitha
2026-03-29 16:26:21 -06:00
parent 55f40572de
commit 87a4404c20
10 changed files with 1028 additions and 343 deletions

View File

@@ -11,6 +11,7 @@
android:layout_height="match_parent"
android:orientation="vertical">
<!-- Header -->
<LinearLayout
android:id="@+id/header"
android:layout_width="match_parent"
@@ -38,12 +39,15 @@
</LinearLayout>
<!-- Search bar -->
<EditText
android:id="@+id/etSearchInventory"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:hint="Search by item name or category..."
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginTop="8dp"
android:hint="Search by product or category…"
android:inputType="text"
android:drawableStart="@android:drawable/ic_menu_search"
android:drawablePadding="8dp"
@@ -51,6 +55,51 @@
android:padding="12dp"
android:textColor="@color/text_dark"/>
<!-- Category filter dropdown -->
<Spinner
android:id="@+id/spinnerCategory"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginTop="4dp"
android:layout_marginBottom="4dp"
android:background="@android:color/white"
android:padding="4dp"/>
<!-- Bulk-delete action bar (hidden until long-press) -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:background="@color/primary_medium"
android:paddingStart="16dp"
android:paddingEnd="8dp"
android:paddingTop="4dp"
android:paddingBottom="4dp">
<TextView
android:id="@+id/tvSelectionCount"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="0 selected"
android:textColor="@color/white"
android:visibility="gone"/>
<Button
android:id="@+id/btnBulkDelete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Delete Selected"
android:backgroundTint="@color/accent_coral"
android:textColor="@color/white"
android:visibility="gone"/>
</LinearLayout>
<!-- Inventory list -->
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/swipeRefreshInventory"
android:layout_width="match_parent"
@@ -60,7 +109,8 @@
android:id="@+id/recyclerViewInventory"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="8dp"/>
android:padding="8dp"
android:clipToPadding="false"/>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
@@ -73,7 +123,7 @@
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:backgroundTint="@color/accent_coral"
android:contentDescription="Add Inventory Item"
android:contentDescription="Add Inventory"
app:srcCompat="@android:drawable/ic_input_add"
app:tint="@color/white"/>

View File

@@ -5,6 +5,7 @@
android:orientation="vertical"
android:background="@color/background_grey">
<!-- Header -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="56dp"
@@ -19,7 +20,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Add Inventory Item"
android:text="Add Inventory"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold"/>
@@ -28,10 +29,10 @@
android:id="@+id/btnDeleteInventory"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:backgroundTint="@color/accent_coral"
android:text="Delete"
android:textColor="@color/white" />
android:textColor="@color/white"
android:visibility="gone"/>
</LinearLayout>
@@ -51,52 +52,51 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/rounded_card"
android:padding="16dp"
android:layout_marginBottom="16dp">
android:padding="16dp">
<!-- Inventory ID — edit mode only -->
<TextView
android:id="@+id/tvInventoryId"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ID: #0"
android:text="Inventory ID: "
android:textColor="@color/text_light"
android:textSize="11sp"
android:textStyle="italic"
android:layout_gravity="end"
android:layout_marginBottom="8dp"/>
android:layout_marginBottom="12dp"
android:visibility="gone"/>
<!-- Product search label -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Item Name"
android:text="Product"
android:textColor="@color/text_dark"
android:textSize="12sp"
android:layout_marginBottom="4dp"/>
<EditText
android:id="@+id/etItemName"
<!-- AutoComplete search box -->
<AutoCompleteTextView
android:id="@+id/etProductSearch"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter item name"
android:hint="Search product name"
android:inputType="text"
android:layout_marginBottom="16dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Category"
android:textColor="@color/text_dark"
android:textSize="12sp"
android:completionThreshold="1"
android:layout_marginBottom="4dp"/>
<EditText
android:id="@+id/etInventoryCategory"
<!-- Selected product info (ID + category) shown after picking -->
<TextView
android:id="@+id/tvProductInfo"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="e.g. Food, Toys, Medicine"
android:inputType="text"
android:layout_marginBottom="16dp"/>
android:textColor="#888888"
android:textSize="12sp"
android:layout_marginBottom="16dp"
android:visibility="gone"/>
<!-- Quantity label -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -105,44 +105,13 @@
android:textSize="12sp"
android:layout_marginBottom="4dp"/>
<!-- Quantity input -->
<EditText
android:id="@+id/etQuantity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter quantity"
android:inputType="number"
android:layout_marginBottom="16dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Unit Price"
android:textColor="@color/text_dark"
android:textSize="12sp"
android:layout_marginBottom="4dp"/>
<EditText
android:id="@+id/etUnitPrice"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter unit price"
android:inputType="numberDecimal"
android:layout_marginBottom="16dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Supplier"
android:textColor="@color/text_dark"
android:textSize="12sp"
android:layout_marginBottom="4dp"/>
<EditText
android:id="@+id/etInventorySupplier"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter supplier name"
android:inputType="text"/>
android:inputType="number"/>
</LinearLayout>
@@ -150,6 +119,7 @@
</ScrollView>
<!-- Bottom buttons -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@@ -2,80 +2,84 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:orientation="horizontal"
android:background="@color/white"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:paddingTop="16dp"
android:paddingBottom="16dp"
android:background="@color/white">
android:paddingTop="12dp"
android:paddingBottom="12dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical">
<TextView
android:id="@+id/tvItemName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:maxLines="1"
android:text="Item Name"
android:textColor="@color/text_dark"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tvUnitPrice"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="$0.00"
android:textColor="@color/accent_coral"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
<TextView
android:id="@+id/tvCategory"
<!-- Checkbox (visible only in bulk-delete selection mode) -->
<CheckBox
android:id="@+id/cbSelectInventory"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="Category"
android:textColor="#888888"
android:textSize="13sp" />
android:layout_gravity="center_vertical"
android:layout_marginEnd="8dp"
android:visibility="gone"
android:clickable="false"
android:focusable="false"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginTop="8dp">
android:orientation="vertical">
<!-- Row 1: Product Name (most prominent — like desktop table header) -->
<TextView
android:id="@+id/tvProductName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:text="Product Name"
android:textColor="@color/text_dark"
android:textSize="17sp"
android:textStyle="bold"/>
<!-- Row 2: Inventory ID | Product ID -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginTop="4dp">
<TextView
android:id="@+id/tvInventoryId"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Inv ID: —"
android:textColor="#888888"
android:textSize="12sp"/>
<TextView
android:id="@+id/tvProdId"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Prod ID: —"
android:textColor="#888888"
android:textSize="12sp"/>
</LinearLayout>
<!-- Row 3: Quantity -->
<TextView
android:id="@+id/tvQuantity"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Qty: 0"
android:textSize="13sp" />
<TextView
android:id="@+id/tvInvSupplier"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Supplier: "
android:textColor="#888888"
android:textSize="13sp" />
android:layout_marginTop="6dp"
android:text="0"
android:textSize="14sp"
android:textStyle="bold"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#F0F0F0"
android:layout_marginTop="10dp"/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#F0F0F0"
android:layout_marginTop="12dp"/>
</LinearLayout>