From 0186fc016caed1da73bde15e34fd0cba82c0c9a5 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Tue, 6 Feb 2024 07:53:34 +0700 Subject: [PATCH] use children instead of items on Stacks (#240) --- .config/ags/widgets/sideleft/apiwidgets.js | 14 +++++++++++--- .config/ags/widgets/sideleft/sideleft.js | 5 ++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/.config/ags/widgets/sideleft/apiwidgets.js b/.config/ags/widgets/sideleft/apiwidgets.js index 76fa680be..cb464daeb 100644 --- a/.config/ags/widgets/sideleft/apiwidgets.js +++ b/.config/ags/widgets/sideleft/apiwidgets.js @@ -13,7 +13,8 @@ import Gemini from '../../services/gemini.js'; import { geminiView, geminiCommands, sendMessage as geminiSendMessage, geminiTabIcon } from './apis/gemini.js'; import { chatGPTView, chatGPTCommands, sendMessage as chatGPTSendMessage, chatGPTTabIcon } from './apis/chatgpt.js'; import { waifuView, waifuCommands, sendMessage as waifuSendMessage, waifuTabIcon } from './apis/waifu.js'; -const TextView = Widget.subclass(Gtk.TextView, "AgsTextView"); +import { enableClickthrough } from '../../lib/roundedcorner.js'; +const TextView = Widget.subclass(Gtk.TextView, "AgsTextView"); const EXPAND_INPUT_THRESHOLD = 30; @@ -141,6 +142,7 @@ const chatPlaceholderRevealer = Revealer({ transition: 'crossfade', transitionDuration: 200, child: chatPlaceholder, + setup: enableClickthrough, }); const textboxArea = Box({ // Entry area @@ -159,12 +161,18 @@ const textboxArea = Box({ // Entry area const apiContentStack = Stack({ vexpand: true, transition: 'slide_left_right', - items: APIS.map(api => [api.name, api.contentWidget]), + children: APIS.reduce((acc, api) => { + acc[api.name] = api.contentWidget; + return acc; + }, {}), }) const apiCommandStack = Stack({ transition: 'slide_up_down', - items: APIS.map(api => [api.name, api.commandBar]), + children: APIS.reduce((acc, api) => { + acc[api.name] = api.commandBar; + return acc; + }, {}), }) function switchToTab(id) { diff --git a/.config/ags/widgets/sideleft/sideleft.js b/.config/ags/widgets/sideleft/sideleft.js index fadf7cad0..b095f6f85 100644 --- a/.config/ags/widgets/sideleft/sideleft.js +++ b/.config/ags/widgets/sideleft/sideleft.js @@ -30,7 +30,10 @@ let currentTabId = 0; export const contentStack = Stack({ vexpand: true, transition: 'slide_left_right', - items: contents.map(item => [item.name, item.content]), + children: contents.reduce((acc, item) => { + acc[item.name] = item.content; + return acc; + }, {}), }) function switchToTab(id) {