Dynamically change icons based on state