feat(ui): context panel enhancements — resizable panels, drag-and-drop todo ordering, and persistent sizes (#1269)
* fix: remove max-h-80 cap on quick notes textarea so resized height is respected * feat: add drag & drop reordering to project todo items * feat: make todo panel resizable with density-aware sizing * feat: open plan import file picker at project root * feat: persist quick notes and todo panel sizes across sessions * refactor(ui): scale content height with padding in projectnotestodopanel * Update packages/ui/src/components/session/ProjectNotesTodoPanel.tsx Signed-off-by: Erman HAVUÇ <ermanhavuc@gmail.com> * fix(ui): harden context panel resizing and import --------- Signed-off-by: Erman HAVUÇ <ermanhavuc@gmail.com> Co-authored-by: Bohdan Triapitsyn <artmore@protonmail.com>
This commit is contained in:
committed by
GitHub
co-authored by
Bohdan Triapitsyn
parent
631905764e
commit
6369cf76a7
@@ -369,7 +369,7 @@ export const requestDirectoryAccess = async (
|
||||
};
|
||||
|
||||
export const requestFileAccess = async (
|
||||
options?: { filters?: Array<{ name: string; extensions: string[] }> }
|
||||
options?: { filters?: Array<{ name: string; extensions: string[] }>; defaultPath?: string }
|
||||
): Promise<{ success: boolean; path?: string; error?: string }> => {
|
||||
if (isTauriShell() && isDesktopLocalOriginActive()) {
|
||||
try {
|
||||
@@ -379,6 +379,7 @@ export const requestFileAccess = async (
|
||||
multiple: false,
|
||||
title: 'Select File',
|
||||
...(options?.filters ? { filters: options.filters } : {}),
|
||||
...(options?.defaultPath ? { defaultPath: options.defaultPath } : {}),
|
||||
});
|
||||
if (!selected || typeof selected !== 'string') {
|
||||
return { success: false, error: 'File selection cancelled' };
|
||||
|
||||
@@ -1034,6 +1034,8 @@ export const dict = {
|
||||
'rightSidebar.contextNotesTodo.todo.actions.expand': 'Expand todo "{text}"',
|
||||
'rightSidebar.contextNotesTodo.todo.actions.delete': 'Delete "{text}"',
|
||||
'rightSidebar.contextNotesTodo.todo.actions.send': 'Send "{text}"',
|
||||
'rightSidebar.contextNotesTodo.todo.actions.reorder': 'Reorder "{text}"',
|
||||
'rightSidebar.contextNotesTodo.todo.resizeAria': 'Resize todo list',
|
||||
'rightSidebar.contextNotesTodo.todo.sendMenu.currentSession': 'Send to current session',
|
||||
'rightSidebar.contextNotesTodo.todo.sendMenu.newSession': 'Send to new session',
|
||||
'rightSidebar.contextNotesTodo.todo.sendMenu.newWorktreeSession': 'Send to new worktree session',
|
||||
|
||||
@@ -1000,6 +1000,8 @@ export const dict: Record<I18nKey, string> = {
|
||||
"rightSidebar.contextNotesTodo.todo.actions.expand": "Expandir tarea pendiente \"{text}\"",
|
||||
"rightSidebar.contextNotesTodo.todo.actions.delete": "Eliminar \"{text}\"",
|
||||
"rightSidebar.contextNotesTodo.todo.actions.send": "Enviar \"{text}\"",
|
||||
"rightSidebar.contextNotesTodo.todo.actions.reorder": "Reordenar \"{text}\"",
|
||||
"rightSidebar.contextNotesTodo.todo.resizeAria": "Redimensionar lista de tareas",
|
||||
"rightSidebar.contextNotesTodo.todo.sendMenu.currentSession": "Enviar a la sesión actual",
|
||||
"rightSidebar.contextNotesTodo.todo.sendMenu.newSession": "Enviar a una nueva sesión",
|
||||
"rightSidebar.contextNotesTodo.todo.sendMenu.newWorktreeSession": "Enviar a una nueva sesión de worktree",
|
||||
|
||||
@@ -1037,6 +1037,8 @@ export const dict: Record<I18nKey, string> = {
|
||||
'rightSidebar.contextNotesTodo.todo.actions.expand': '펼치기 todo "{text}"',
|
||||
'rightSidebar.contextNotesTodo.todo.actions.delete': '"{text}" 삭제',
|
||||
'rightSidebar.contextNotesTodo.todo.actions.send': '보내기 "{text}"',
|
||||
'rightSidebar.contextNotesTodo.todo.actions.reorder': '재정렬 "{text}"',
|
||||
'rightSidebar.contextNotesTodo.todo.resizeAria': '할 일 목록 크기 조정',
|
||||
'rightSidebar.contextNotesTodo.todo.sendMenu.currentSession': '현재 세션으로 보내기',
|
||||
'rightSidebar.contextNotesTodo.todo.sendMenu.newSession': '새 세션으로 보내기',
|
||||
'rightSidebar.contextNotesTodo.todo.sendMenu.newWorktreeSession': '새 워크트리 세션으로 보내기',
|
||||
|
||||
@@ -1930,6 +1930,8 @@ export const dict: Record<I18nKey, string> = {
|
||||
'rightSidebar.contextNotesTodo.todo.actions.expand': 'Rozwiń zadanie „{text}”',
|
||||
'rightSidebar.contextNotesTodo.todo.actions.markComplete': 'Oznacz „{text}” jako ukończone',
|
||||
'rightSidebar.contextNotesTodo.todo.actions.send': 'Wyślij „{text}”',
|
||||
'rightSidebar.contextNotesTodo.todo.actions.reorder': 'Zmień kolejność "{text}"',
|
||||
'rightSidebar.contextNotesTodo.todo.resizeAria': 'Zmień rozmiar listy zadań',
|
||||
'rightSidebar.contextNotesTodo.todo.addAria': 'Dodaj zadanie',
|
||||
'rightSidebar.contextNotesTodo.todo.clearCompleted': 'Wyczyść ukończone',
|
||||
'rightSidebar.contextNotesTodo.todo.empty': 'Brak zadań. Dodaj krótką checklistę dla tego projektu.',
|
||||
|
||||
@@ -1000,6 +1000,8 @@ export const dict: Record<I18nKey, string> = {
|
||||
"rightSidebar.contextNotesTodo.todo.actions.expand": "Expandir tarefa pendente \"{text}\"",
|
||||
"rightSidebar.contextNotesTodo.todo.actions.delete": "Excluir \"{text}\"",
|
||||
"rightSidebar.contextNotesTodo.todo.actions.send": "Enviar \"{text}\"",
|
||||
"rightSidebar.contextNotesTodo.todo.actions.reorder": "Reordenar \"{text}\"",
|
||||
"rightSidebar.contextNotesTodo.todo.resizeAria": "Redimensionar lista de tarefas",
|
||||
"rightSidebar.contextNotesTodo.todo.sendMenu.currentSession": "Enviar à sessão atual",
|
||||
"rightSidebar.contextNotesTodo.todo.sendMenu.newSession": "Enviar a uma nova sessão",
|
||||
"rightSidebar.contextNotesTodo.todo.sendMenu.newWorktreeSession": "Enviar a uma nova sessão de worktree",
|
||||
|
||||
@@ -1000,6 +1000,8 @@ export const dict: Record<I18nKey, string> = {
|
||||
"rightSidebar.contextNotesTodo.todo.actions.expand": "Розгорнути завдання \"{text}\"",
|
||||
"rightSidebar.contextNotesTodo.todo.actions.delete": "Видалити \"{text}\"",
|
||||
"rightSidebar.contextNotesTodo.todo.actions.send": "Надіслати \"{text}\"",
|
||||
"rightSidebar.contextNotesTodo.todo.actions.reorder": "Змінити порядок \"{text}\"",
|
||||
"rightSidebar.contextNotesTodo.todo.resizeAria": "Змінити розмір списку завдань",
|
||||
"rightSidebar.contextNotesTodo.todo.sendMenu.currentSession": "Надіслати до поточної сесії",
|
||||
"rightSidebar.contextNotesTodo.todo.sendMenu.newSession": "Надіслати до нової сесії",
|
||||
"rightSidebar.contextNotesTodo.todo.sendMenu.newWorktreeSession": "Надіслати до нової сесії в worktree",
|
||||
|
||||
@@ -1000,6 +1000,8 @@ export const dict: Record<I18nKey, string> = {
|
||||
'rightSidebar.contextNotesTodo.todo.actions.expand': '展开待办“{text}”',
|
||||
'rightSidebar.contextNotesTodo.todo.actions.delete': '删除“{text}”',
|
||||
'rightSidebar.contextNotesTodo.todo.actions.send': '发送“{text}”',
|
||||
'rightSidebar.contextNotesTodo.todo.actions.reorder': '重新排序"{text}"',
|
||||
'rightSidebar.contextNotesTodo.todo.resizeAria': '调整待办列表大小',
|
||||
'rightSidebar.contextNotesTodo.todo.sendMenu.currentSession': '发送到当前会话',
|
||||
'rightSidebar.contextNotesTodo.todo.sendMenu.newSession': '发送到新会话',
|
||||
'rightSidebar.contextNotesTodo.todo.sendMenu.newWorktreeSession': '发送到新 worktree 会话',
|
||||
|
||||
Reference in New Issue
Block a user