# Add collections Area: Feedback State: DONE Database - [x] Split up from seed to migrations: topics, cards, profiles - [x] Import production database. - [x] Push to production database: profiles table Shell - [x] Add menu button to cards. - [x] Menu button opens Sheet. Database - [x] Add `collection` attribute to `profiles` table: JSONB. List of topic_id. - [x] Add `member_topic_interactions` table: `member_id`, `interaction`, `topic_id`, `time`. - [x] Add `member_card_interactions` table: `member_id`, `interaction`, `card_id`, `time`. - [x] Add a database function called `save_topic_to_member_catalog` and `unsave_topic_from_member_catalog` . Shell - [x] CardProps: is_in_member_collection - [x] Add code for managing member collection. Only load once. Only keep a single copy in memory. - [x] When loading feed, when fetching cards, fill cardProp field is_in_member_collection. - [x] card.is_in_member_collection ? unsave button : save button. - [x] Integrate Save Button with `save_card_to_member_catalog` function. - [x] Add Unsave Button and integrate with `unsave_card_from_member_catalog` . Profile/Collections - [x] In Control page: New button called “Saved Topics” to enter “/profile/collections”. - [x] If collections length > 0: List discovery cards. - [x] If collections length == 0: Display guide to saving cards. - [x] If not logged in: Alert guiding visitor to sign in. Future Work - If a visitor (not signed in) tries to save a card, display an alert dialog that guides visitor to sign in or sign up.