Merge pull request #121 from nogataka/fix/ime-support-and-padding

fix: Prevent accidental IME submission and add bottom padding for Kanban cards
This commit is contained in:
Leon van Zyl
2026-01-29 08:22:44 +02:00
committed by GitHub
6 changed files with 11 additions and 6 deletions

View File

@@ -331,7 +331,7 @@ function App() {
{/* Main Content */} {/* Main Content */}
<main <main
className="max-w-7xl mx-auto px-4 py-8" className="max-w-7xl mx-auto px-4 py-8"
style={{ paddingBottom: debugOpen ? debugPanelHeight + 32 : undefined }} style={{ paddingBottom: debugOpen ? debugPanelHeight + 32 : 48 }}
> >
{!selectedProject ? ( {!selectedProject ? (
<div className="text-center mt-12"> <div className="text-center mt-12">

View File

@@ -134,7 +134,8 @@ export function AssistantChat({
} }
const handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => { const handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {
if (e.key === 'Enter' && !e.shiftKey) { // Skip if composing (e.g., Japanese IME input)
if (e.key === 'Enter' && !e.shiftKey && !e.nativeEvent.isComposing) {
e.preventDefault() e.preventDefault()
handleSend() handleSend()
} }

View File

@@ -88,7 +88,8 @@ export function ExpandProjectChat({
} }
const handleKeyDown = (e: React.KeyboardEvent) => { const handleKeyDown = (e: React.KeyboardEvent) => {
if (e.key === 'Enter' && !e.shiftKey) { // Skip if composing (e.g., Japanese IME input)
if (e.key === 'Enter' && !e.shiftKey && !e.nativeEvent.isComposing) {
e.preventDefault() e.preventDefault()
handleSendMessage() handleSendMessage()
} }

View File

@@ -269,7 +269,8 @@ export function FolderBrowser({ onSelect, onCancel, initialPath }: FolderBrowser
className="flex-1" className="flex-1"
autoFocus autoFocus
onKeyDown={(e) => { onKeyDown={(e) => {
if (e.key === 'Enter') handleCreateFolder() // Skip if composing (e.g., Japanese IME input)
if (e.key === 'Enter' && !e.nativeEvent.isComposing) handleCreateFolder()
if (e.key === 'Escape') { if (e.key === 'Escape') {
setIsCreatingFolder(false) setIsCreatingFolder(false)
setNewFolderName('') setNewFolderName('')

View File

@@ -127,7 +127,8 @@ export function SpecCreationChat({
} }
const handleKeyDown = (e: React.KeyboardEvent) => { const handleKeyDown = (e: React.KeyboardEvent) => {
if (e.key === 'Enter' && !e.shiftKey) { // Skip if composing (e.g., Japanese IME input)
if (e.key === 'Enter' && !e.shiftKey && !e.nativeEvent.isComposing) {
e.preventDefault() e.preventDefault()
handleSendMessage() handleSendMessage()
} }

View File

@@ -96,7 +96,8 @@ export function TerminalTabs({
// Handle key events during editing // Handle key events during editing
const handleKeyDown = useCallback( const handleKeyDown = useCallback(
(e: React.KeyboardEvent) => { (e: React.KeyboardEvent) => {
if (e.key === 'Enter') { // Skip if composing (e.g., Japanese IME input)
if (e.key === 'Enter' && !e.nativeEvent.isComposing) {
e.preventDefault() e.preventDefault()
submitEdit() submitEdit()
} else if (e.key === 'Escape') { } else if (e.key === 'Escape') {