import { action } from '@ember/object'; import Component from '@glimmer/component'; import { tracked } from '@glimmer/tracking'; import isLandscape from 'frontend-reactive/helpers/isLandscape'; export interface NoteInteractionsSignature { // The arguments accepted by the component Args: { boostCount: number; totalLikeCount: number; reactions: { [key: string]: number; }; hasBoosted: boolean; hasReacted: boolean; }; // Any blocks yielded by the component Blocks: { default: []; }; // The element to which `...attributes` is applied in the component template Element: null; } export default class NoteInteractions extends Component { @tracked hasBoosted = this.args.hasBoosted; @tracked hasReacted = this.args.hasReacted; @tracked expandReactions = false; @action toggleBoost() { this.hasBoosted = !this.hasBoosted; console.log('boosted', this.hasBoosted); } @action toggleDefaultLike() { this.hasReacted = !this.hasReacted; console.log('reacted', this.hasReacted); } @action openCustomReactionSelector() { this.hasReacted = !this.hasReacted; console.log('sent custom reaction', this.hasReacted); } @action openAllReactions() { console.log('Toggle all reactions overview'); this.expandReactions = !this.expandReactions; } }