Spaces:
Runtime error
Runtime error
| <script lang="ts"> | |
| import { Like } from "@gradio/icons"; | |
| import { Dislike } from "@gradio/icons"; | |
| export let action: "like" | "dislike"; | |
| export let handle_action: () => void; | |
| let actioned = false; | |
| let Icon = action === "like" ? Like : Dislike; | |
| function action_feedback(): void { | |
| actioned = true; | |
| } | |
| </script> | |
| <button | |
| on:click={() => { | |
| action_feedback(); | |
| handle_action(); | |
| }} | |
| on:keydown={(e) => { | |
| if (e.key === "Enter") { | |
| action_feedback(); | |
| handle_action(); | |
| } | |
| }} | |
| title={action + " message"} | |
| aria-label={actioned ? `clicked ${action}` : action} | |
| > | |
| <Icon {actioned} /> | |
| </button> | |
| <style> | |
| button { | |
| position: relative; | |
| top: 0; | |
| right: 0; | |
| cursor: pointer; | |
| color: var(--body-text-color-subdued); | |
| width: 17px; | |
| height: 17px; | |
| margin-right: 5px; | |
| } | |
| button:hover, | |
| button:focus { | |
| color: var(--body-text-color); | |
| } | |
| </style> | |