Skip to main content

Contract List

This is where you browse, search, and manage all the contracts that belong to your currently selected gym. Think of it as a filing cabinet for your contracts -- you can see every contract at a glance, search by name, switch between a card-style gr...

Written by Ronny Christensen
Updated over 3 weeks ago

What This Screen Does

This is where you browse, search, and manage all the contracts that belong to your currently selected gym. Think of it as a filing cabinet for your contracts – you can see every contract at a glance, search by name, switch between a card-style grid view and a traditional table view, and jump straight to editing any contract. You can also create brand-new contracts from here.


How to Get There

  1. Open the dashboard.

  2. In the left-hand menu, click Contracts.

  3. You are now on the Contract List screen.


Step-by-Step Guide

1. Review Your Contracts

  • When the screen loads it automatically fetches all contracts for the gym you have selected in the top navigation bar.

  • Each contract shows its name and the date it was last modified.

2. Switch Between Grid View and List View

  • In the top-right area of the filters bar you will see two small toggle buttons (a list icon and a grid icon).

  • Grid view (default) displays contracts as cards arranged in a responsive grid (1 column on phones, up to 4 columns on large screens). Each card shows a document icon, the contract name, and the last-modified date.

  • List view displays contracts in a sortable table with columns for Name, Type, and Modified date.

View

Best For

Grid

A quick visual overview when you have a smaller number of contracts.

List

Scanning a long list, sorting by column, or selecting multiple contracts at once.

3. Search for a Contract

  • Use the Search text field at the top of the screen.

  • Type part of a contract name. The list updates instantly as you type.

  • The search is case-insensitive, so “membership” and “Membership” both work.

  • When a search (or date filter) is active you will see a results summary (for example, 3 results found) and a Clear button to reset all filters at once.

Filter

What It Does

Name search

Filters contracts whose name contains the text you typed.

Date range

(Available via filter chips) Filters contracts by their created date. The start date must be before or equal to the end date.

4. Sort Contracts (List View Only)

  • In list view, click a column header (Name, Type, or Modified) to sort ascending or descending.

  • Click the same header again to reverse the sort direction.

5. Select Contracts

  • List view: Use the checkbox on the left side of each row. A header checkbox lets you select or deselect all contracts at once.

  • Grid view: Select contracts by clicking on them. When at least one contract is selected a floating action bar appears at the bottom.

6. Edit a Contract

  • List view: Click the three-dot menu icon on the right side of a row, then choose Edit. You will be taken to /contracts/:id/edit.

  • Grid view: Click the three-dot menu icon on a contract card, then choose Edit.

  • You can also click on a row in list view to open quick details.

7. Delete a Contract (List View Only)

  • Click the three-dot menu icon on the right side of the row.

  • Choose Delete (shown in red).

  • A confirmation prompt appears. Confirm to proceed.

8. Create a New Contract

  • Click the + New contract button in the top-right corner of the screen (next to the breadcrumbs).

  • You will be taken to the Create Contract screen at /contracts/new.

  • The breadcrumb trail at the top reads Dashboard > Contract > List.

  • Click Dashboard to return to the home screen, or Contract to go back to the contracts root.

10. Paginate Through Results (List View Only)

  • Below the table you will find pagination controls.

  • Change the rows per page (default is 10) or navigate between pages using the arrow buttons.

  • A Dense toggle lets you shrink row height for a more compact view.


What Happens Behind the Scenes

You open the Contract List screen
        |
        v
The selected gym is read from global state
        |
        v
API call: GET /api/contracts
  params: { pageNumber: 0, pageSize: max }
        |
        v
The API returns an array of ContractDto objects
(id, name, body, createdDate, lastModifiedDate, chainId)
        |
        v
Contracts are stored in Redux (state.contract.contracts)
        |
        v
Client-side filtering and sorting is applied
(search by name, date range, column sort order)
        |
        v
Filtered results are displayed in the chosen view (grid or list)

When you switch the selected gym in the top navigation, the contracts automatically reload for the new gym.


Troubleshooting

“I see ‘No Data’ on the screen even though I know we have contracts”

  • Make sure the correct gym is selected in the top navigation bar. Contracts are loaded per gym – if you have the wrong gym selected, its contract list may be empty.

  • Try refreshing the page. The data comes from the API, and a temporary network hiccup may have prevented the initial load.

“My search is not finding the contract I am looking for”

  • The search only matches the contract name, not the body text. Double-check that you are typing part of the actual name.

  • The search is case-insensitive, but it must be a substring match. For example, searching “gym rules” will not find a contract named “Rules for the Gym” – try just “Rules” instead.

  • If active filters are narrowing your results, click the Clear button to reset all filters and try again.

“I cannot see the Delete option on a contract”

  • The Delete action is only available in list view. Switch from grid view to list view using the toggle buttons, then open the three-dot menu on the row.

  • If you still do not see it, you may not have sufficient permissions. Contact your administrator.

“The date filter shows an error or does not work”

  • Make sure the start date is earlier than or equal to the end date. If the start date is after the end date, the filter is ignored and no date filtering is applied.

  • Click the Clear button on the filter chips to remove the date filter and start over.

“Contracts did not refresh after I switched gyms”

  • The contract list should reload automatically when you change the selected gym. If it does not, try refreshing the browser page.

  • Check your internet connection. If the API call fails, the old data may remain on screen. A stable connection should resolve this.

“The page feels slow with many contracts”

  • All contracts are fetched in a single API call. If your gym has a very large number of contracts, the initial load may take a moment.

  • Use the search filter to narrow down results quickly.

  • In list view, pagination limits how many rows are rendered at once (default 10 per page), which should keep performance smooth.

“I clicked on a contract row but nothing happened”

  • A single click in list view opens a quick-details panel. A double-click does nothing by design. To edit the contract, use the three-dot menu and select Edit.

  • In grid view, clicking the contract name opens quick details. Use the three-dot menu to navigate to the edit screen.

Did this answer your question?