Your API key is stored securely and used only for Gemini features within this app.
Appearance
List Organization
Allow Gemini to periodically reorder your shopping list items based on common store layouts. This requires a
Gemini API Key to be set. Sorting occurs when a new item is added or at most once every 7 days per list.
Welcome to Buy Some Milk! This app helps you manage your shopping lists easily. Sign in with your Google account to
begin.
Navigating the App
Main Title ("Buy Some Milk"): Clicking this takes you to your main lists overview page (or
welcome screen if you have no lists).
Your Email (Top Right): Clicking your email takes you to the Settings page.
Sign Out: Logs you out of the application.
Your Lists Page (Main View)
This page appears after you sign in and shows all shopping lists you own or are a member of. Lists are ordered by
when they were last modified.
New List: Click the "New List" button (top right of this section, or on the
welcome screen if you have no lists) to create a new shopping list. You'll be prompted for a name.
Opening a List: Click on any list card to open it and view/manage its items.
Renaming a List: If you are the owner, click the pencil icon on a list card to rename it.
Deleting a List: If you are the owner, click the trash can icon on a list card to delete it. This action is permanent and will delete all items in the list.
List cards show the list name, number of items, and when it was last modified. They also indicate if you own
the list or if it's shared with you.
Managing Items in a Shopping List
Once a list is open:
Adding Items:
Click the "+ Add New Item" button at the bottom of the list page. This reveals input
fields.
Enter the item name and desired quantity (defaults to 1).
Click "Add Item" or press Enter in either field.
If an item with the same name already exists (case-insensitive), its quantity will be increased instead of
adding a duplicate entry.
Click "Cancel" to hide the add item form.
Item Details: Each item in the list has interactive controls:
Name: Double-click an item's name to edit it directly in the list. Press Enter to save
your changes, or Escape to cancel the edit.
Quantity: Use the "-" and "+" buttons next to the
quantity display to increase or decrease it. Reducing the quantity to 0 or less will prompt you to confirm
if you want to delete the item.
Status (Dropdown Menu): Select an item's current status:
To Do: The default status for new items.
Bought: Marks the item as purchased. "Bought" items are visually distinguished (e.g.,
faded, green text/background) and cannot be reordered by dragging.
Not Available: Use this if an item couldn't be found at the store.
Delete Item: Select this to remove the item from the list. You may be asked for
confirmation, especially if you haven't recently deleted an item.
Reordering Items: Click and drag items (that are not in "Bought" status) up or down to change
their order within the list. The new order is saved automatically.
Reset 'Not Available' Items: If your list contains items marked as "Not Available", a button
labeled "Reset 'Not Available'" will appear at the bottom of the list page. Clicking this will
change all "Not Available" items back to "To Do" status after you confirm the action.
Sharing Lists & Collaboration
You can share your shopping lists with other Buy-Some-Milk users for collaborative editing:
Open the list you wish to share. You must be the owner of the list to initiate sharing or manage members.
Click the "Share List" button located at the bottom of the list page.
A share modal (pop-up window) will appear:
This modal lists users currently sharing the list and their roles (e.g., owner, editor).
Enter the email address of the user you want to share with in the designated input field.
Click the "Share" button in the modal. The user will be added as an "editor" by default.
Editors can add, edit, delete, and reorder items in the list.
Removing Members: As the list owner, you can remove a shared user by clicking the "Remove"
button next to their name in the share modal. You cannot remove yourself (the owner) using this method.
Settings Page
Access the Settings page by clicking your email address displayed in the top right corner of the application
header.
Display Name: Set or change your display name. This name might be shown to other users if you
share lists with them. Click the "Save" button next to this field to apply changes.
Email: Shows your registered email address. This is not editable from the settings page.
API Keys (Gemini API Key): This is an optional field where you can enter a Google Gemini API
Key. If provided, it may enable future AI-powered features within the app. Enter your key and click the "Save"
button next to this field. Note: The "Save" button for Display Name also saves the Gemini API key.
Appearance (Theme): Use the toggle switch to alternate between Light and Dark mode for the
app. Your preference is saved and applied immediately across the application.
Login Activity: For your security, this section displays a history of your recent login
timestamps and the IP addresses from which a login was detected.
Last Used Device Info: Shows technical details (User Agent, screen/viewport dimensions) about
the browser and device used during your most recent login.
Support: Provides links to the Terms of Service, Privacy Policy, and this Help/FAQs page.
Offline Access (Progressive Web App - PWA)
Buy Some Milk is designed as a Progressive Web App (PWA) to provide a reliable experience, even when you're offline.
Essential parts of the app (like the main interface, your lists, and items) and recently accessed data are
cached in your browser.
If you lose your internet connection, you should still be able to view your lists and make changes (e.g., add
items, change item statuses).
Any changes made while offline will automatically attempt to sync with the server once your internet
connection is restored.
If you see an "You are Offline" page, it usually means a specific resource you requested wasn't available in
the cache, or you're trying to perform an action that strictly requires a live connection for the first time
(like an initial login or sharing action).
Troubleshooting Tips
Data Not Updating: Ensure you have a stable internet connection. Try refreshing the page
(usually Ctrl+R or Cmd+R). Firebase (our backend data store) typically syncs data in real-time, but network
issues can cause delays or temporary interruptions.
Login Issues: Verify your internet connection. Ensure you're using the correct Google account
for sign-in. If problems persist, try clearing your browser's cache and cookies specifically for this site.
Sharing Not Working: Double-check the email address of the person you're sharing with. They
need to have an account with Buy Some Milk (i.e., they should have signed in at least once) or have a Google account
that can be recognized by Firebase Authentication.
Drag & Drop Not Working for an Item: Ensure the item you are trying to drag is not marked as
"Bought". Items that are already "Bought" are locked from reordering via drag and drop to prevent accidental
changes.