|
72 | 72 | <i class="ph ph-shopping-cart nav-icon"></i> |
73 | 73 | <span class="nav-text">Shopping</span> |
74 | 74 | </a> |
| 75 | + <a href="#" data-page="inventory" class="nav-link"> |
| 76 | + <i class="ph ph-archive nav-icon"></i> |
| 77 | + <span class="nav-text">Inventory</span> |
| 78 | + </a> |
75 | 79 | <a href="#" data-page="settings" class="nav-link"> |
76 | 80 | <i class="ph ph-gear nav-icon"></i> |
77 | 81 | <span class="nav-text">Settings</span> |
@@ -835,6 +839,181 @@ <h3 style="margin-bottom: 1rem;">Filters & Sorting</h3> |
835 | 839 | </div> |
836 | 840 | </div> |
837 | 841 |
|
| 842 | + <!-- Inventory Page --> |
| 843 | + <div id="inventory-page" class="page hidden"> |
| 844 | + <div class="page-header"> |
| 845 | + <h2>My Inventory</h2> |
| 846 | + <div class="page-header-actions"> |
| 847 | + <button id="inventory-select-toggle" class="btn btn-secondary" title="Select multiple cards"> |
| 848 | + <i class="ph ph-selection btn-icon"></i> |
| 849 | + <span class="btn-text">Select</span> |
| 850 | + </button> |
| 851 | + <button id="inventory-bulk-add-btn" class="btn btn-primary"> |
| 852 | + <i class="ph ph-plus-circle btn-icon"></i> |
| 853 | + <span class="btn-text">Bulk Add</span> |
| 854 | + </button> |
| 855 | + </div> |
| 856 | + </div> |
| 857 | + |
| 858 | + <!-- Bulk Actions Bar (hidden by default) --> |
| 859 | + <div id="inventory-bulk-actions" class="inventory-bulk-actions hidden"> |
| 860 | + <div class="bulk-actions-left"> |
| 861 | + <span id="inventory-selected-count">0 selected</span> |
| 862 | + <button id="inventory-select-all" class="btn btn-sm btn-secondary">Select All</button> |
| 863 | + <button id="inventory-clear-selection" class="btn btn-sm btn-secondary">Clear</button> |
| 864 | + </div> |
| 865 | + <div class="bulk-actions-right"> |
| 866 | + <button id="inventory-add-to-deck" class="btn btn-sm btn-primary"> |
| 867 | + <i class="ph ph-folder-plus"></i> Add to Deck |
| 868 | + </button> |
| 869 | + <button id="inventory-remove-selected" class="btn btn-sm btn-danger"> |
| 870 | + <i class="ph ph-trash"></i> Remove |
| 871 | + </button> |
| 872 | + </div> |
| 873 | + </div> |
| 874 | + |
| 875 | + <!-- Stats row --> |
| 876 | + <div id="inventory-stats" class="inventory-stats"></div> |
| 877 | + |
| 878 | + <!-- Quick Add search bar --> |
| 879 | + <div class="inventory-quick-add"> |
| 880 | + <div class="quick-add-wrapper"> |
| 881 | + <input |
| 882 | + type="text" |
| 883 | + id="inventory-quick-search" |
| 884 | + placeholder="Quick add: type card name..." |
| 885 | + autocomplete="off" |
| 886 | + /> |
| 887 | + <div id="inventory-quick-results" class="inventory-quick-results hidden"></div> |
| 888 | + </div> |
| 889 | + </div> |
| 890 | + |
| 891 | + <!-- Filters --> |
| 892 | + <div class="inventory-filters"> |
| 893 | + <div class="inventory-filter-row"> |
| 894 | + <div class="filter-group"> |
| 895 | + <label>Search</label> |
| 896 | + <input |
| 897 | + type="text" |
| 898 | + id="inventory-search" |
| 899 | + placeholder="Filter by name..." |
| 900 | + class="filter-input" |
| 901 | + /> |
| 902 | + </div> |
| 903 | + <div class="filter-group"> |
| 904 | + <label>Sort By</label> |
| 905 | + <select id="inventory-sort" class="filter-select"> |
| 906 | + <option value="name">Name</option> |
| 907 | + <option value="quantity">Quantity</option> |
| 908 | + <option value="cmc">Mana Value</option> |
| 909 | + <option value="color">Color</option> |
| 910 | + <option value="type">Type</option> |
| 911 | + </select> |
| 912 | + </div> |
| 913 | + <div class="filter-group"> |
| 914 | + <label>Card Type</label> |
| 915 | + <select id="inventory-type" class="filter-select"> |
| 916 | + <option value="all">All Types</option> |
| 917 | + <option value="Creature">Creature</option> |
| 918 | + <option value="Instant">Instant</option> |
| 919 | + <option value="Sorcery">Sorcery</option> |
| 920 | + <option value="Enchantment">Enchantment</option> |
| 921 | + <option value="Artifact">Artifact</option> |
| 922 | + <option value="Planeswalker">Planeswalker</option> |
| 923 | + <option value="Land">Land</option> |
| 924 | + </select> |
| 925 | + </div> |
| 926 | + <div class="filter-group"> |
| 927 | + <label>Availability</label> |
| 928 | + <select id="inventory-availability" class="filter-select"> |
| 929 | + <option value="all">All Cards</option> |
| 930 | + <option value="available">Available Only</option> |
| 931 | + <option value="in_decks">In Decks Only</option> |
| 932 | + </select> |
| 933 | + </div> |
| 934 | + <div class="filter-group"> |
| 935 | + <label>Colors</label> |
| 936 | + <div id="inventory-colors" class="color-filter-group"> |
| 937 | + <label class="color-checkbox"> |
| 938 | + <input type="checkbox" value="W" /> |
| 939 | + <span class="color-checkbox-box"><i class="ms ms-w ms-cost"></i></span> |
| 940 | + </label> |
| 941 | + <label class="color-checkbox"> |
| 942 | + <input type="checkbox" value="U" /> |
| 943 | + <span class="color-checkbox-box"><i class="ms ms-u ms-cost"></i></span> |
| 944 | + </label> |
| 945 | + <label class="color-checkbox"> |
| 946 | + <input type="checkbox" value="B" /> |
| 947 | + <span class="color-checkbox-box"><i class="ms ms-b ms-cost"></i></span> |
| 948 | + </label> |
| 949 | + <label class="color-checkbox"> |
| 950 | + <input type="checkbox" value="R" /> |
| 951 | + <span class="color-checkbox-box"><i class="ms ms-r ms-cost"></i></span> |
| 952 | + </label> |
| 953 | + <label class="color-checkbox"> |
| 954 | + <input type="checkbox" value="G" /> |
| 955 | + <span class="color-checkbox-box"><i class="ms ms-g ms-cost"></i></span> |
| 956 | + </label> |
| 957 | + <label class="color-checkbox"> |
| 958 | + <input type="checkbox" value="C" /> |
| 959 | + <span class="color-checkbox-box"><i class="ms ms-c ms-cost"></i></span> |
| 960 | + </label> |
| 961 | + </div> |
| 962 | + </div> |
| 963 | + <div class="filter-group"> |
| 964 | + <label>View</label> |
| 965 | + <div class="view-toggle"> |
| 966 | + <button id="inventory-grid-view-btn" class="btn-icon active" title="Grid view"> |
| 967 | + <i class="ph ph-squares-four"></i> |
| 968 | + </button> |
| 969 | + <button id="inventory-list-view-btn" class="btn-icon" title="List view"> |
| 970 | + <i class="ph ph-list"></i> |
| 971 | + </button> |
| 972 | + </div> |
| 973 | + </div> |
| 974 | + </div> |
| 975 | + </div> |
| 976 | + |
| 977 | + <!-- Card Grid/List --> |
| 978 | + <div id="inventory-grid" class="inventory-grid"></div> |
| 979 | + |
| 980 | + <!-- Pagination --> |
| 981 | + <div id="inventory-pagination" class="pagination"> |
| 982 | + <button id="inventory-prev-page" class="btn btn-secondary" disabled>Previous</button> |
| 983 | + <span id="inventory-page-info" style="font-weight: 600">Page 1 of 1</span> |
| 984 | + <button id="inventory-next-page" class="btn btn-secondary" disabled>Next</button> |
| 985 | + </div> |
| 986 | + </div> |
| 987 | + |
| 988 | + <!-- Bulk Add Modal --> |
| 989 | + <div id="bulk-add-modal" class="modal hidden"> |
| 990 | + <div class="modal-content" style="max-width: 700px"> |
| 991 | + <span class="modal-close" id="bulk-add-modal-close">×</span> |
| 992 | + <h2 style="margin-bottom: 1rem">Bulk Add Cards</h2> |
| 993 | + <p style="color: var(--text-secondary); margin-bottom: 1.5rem;"> |
| 994 | + Paste a list of cards to add to your inventory. Format: "4 Lightning Bolt" or "4 Lightning Bolt [M21]" |
| 995 | + </p> |
| 996 | + <div class="form-group"> |
| 997 | + <label for="bulk-add-text">Card List</label> |
| 998 | + <textarea |
| 999 | + id="bulk-add-text" |
| 1000 | + rows="12" |
| 1001 | + placeholder="4 Lightning Bolt 2 Counterspell [DMR] 1 Black Lotus 3 Sol Ring" |
| 1002 | + style="font-family: monospace; font-size: 0.875rem; width: 100%;" |
| 1003 | + ></textarea> |
| 1004 | + </div> |
| 1005 | + <div id="bulk-add-preview" class="hidden" style="margin-bottom: 1rem;"> |
| 1006 | + <h4 style="margin-bottom: 0.5rem;">Preview</h4> |
| 1007 | + <div id="bulk-add-preview-content" style="background: var(--bg-tertiary); padding: 1rem; border-radius: 0.5rem; max-height: 200px; overflow-y: auto;"></div> |
| 1008 | + </div> |
| 1009 | + <div style="display: flex; gap: 0.5rem;"> |
| 1010 | + <button id="bulk-add-preview-btn" class="btn btn-secondary" style="flex: 1">Preview</button> |
| 1011 | + <button id="bulk-add-submit-btn" class="btn btn-primary" style="flex: 1">Add to Inventory</button> |
| 1012 | + </div> |
| 1013 | + <div id="bulk-add-result" class="hidden" style="margin-top: 1rem; padding: 1rem; background: var(--bg-tertiary); border-radius: 0.5rem;"></div> |
| 1014 | + </div> |
| 1015 | + </div> |
| 1016 | + |
838 | 1017 | <!-- Settings Page --> |
839 | 1018 | <div id="settings-page" class="page hidden"> |
840 | 1019 | <div class="page-header"> |
|
0 commit comments