forked from Shinonome/dots-hyprland
use children instead of items on Stacks (#240)
This commit is contained in:
@@ -13,7 +13,8 @@ import Gemini from '../../services/gemini.js';
|
|||||||
import { geminiView, geminiCommands, sendMessage as geminiSendMessage, geminiTabIcon } from './apis/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 { chatGPTView, chatGPTCommands, sendMessage as chatGPTSendMessage, chatGPTTabIcon } from './apis/chatgpt.js';
|
||||||
import { waifuView, waifuCommands, sendMessage as waifuSendMessage, waifuTabIcon } from './apis/waifu.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;
|
const EXPAND_INPUT_THRESHOLD = 30;
|
||||||
@@ -141,6 +142,7 @@ const chatPlaceholderRevealer = Revealer({
|
|||||||
transition: 'crossfade',
|
transition: 'crossfade',
|
||||||
transitionDuration: 200,
|
transitionDuration: 200,
|
||||||
child: chatPlaceholder,
|
child: chatPlaceholder,
|
||||||
|
setup: enableClickthrough,
|
||||||
});
|
});
|
||||||
|
|
||||||
const textboxArea = Box({ // Entry area
|
const textboxArea = Box({ // Entry area
|
||||||
@@ -159,12 +161,18 @@ const textboxArea = Box({ // Entry area
|
|||||||
const apiContentStack = Stack({
|
const apiContentStack = Stack({
|
||||||
vexpand: true,
|
vexpand: true,
|
||||||
transition: 'slide_left_right',
|
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({
|
const apiCommandStack = Stack({
|
||||||
transition: 'slide_up_down',
|
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) {
|
function switchToTab(id) {
|
||||||
|
|||||||
@@ -30,7 +30,10 @@ let currentTabId = 0;
|
|||||||
export const contentStack = Stack({
|
export const contentStack = Stack({
|
||||||
vexpand: true,
|
vexpand: true,
|
||||||
transition: 'slide_left_right',
|
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) {
|
function switchToTab(id) {
|
||||||
|
|||||||
Reference in New Issue
Block a user