Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
04607bd
Refactor input components and update styles across various modals and…
stijnpotters1 May 20, 2026
b0fc559
Refactor help icon interaction and improve styling consistency across…
stijnpotters1 May 20, 2026
9b6e472
Refactor button components and replace close buttons with a consisten…
stijnpotters1 May 26, 2026
39d30a2
Update hover background color in configuration row for improved UI co…
stijnpotters1 May 26, 2026
01bf638
Remove background color from button in configuration file tile for im…
stijnpotters1 May 26, 2026
35bcac4
Update button styling and spacing in configuration overview for impro…
stijnpotters1 May 26, 2026
2a8945a
Update button hover styling in navbar link for improved UI consistency
stijnpotters1 May 26, 2026
3ae9070
Update button hover styling in navbar link for improved UI consistency
stijnpotters1 May 26, 2026
63d70c7
Refactor tab buttons to use SegmentedButton component for improved UI…
stijnpotters1 May 26, 2026
6505554
Refactor button component for improved reusability and update link bu…
stijnpotters1 May 26, 2026
e427a2e
Refactor context input field to use Dropdown component for improved u…
stijnpotters1 May 26, 2026
7f776d6
Add scroll shadow calculation to tabs component for improved UX
stijnpotters1 May 26, 2026
8855a51
Refactor file structure components to use TreeActionButton for improv…
stijnpotters1 May 26, 2026
7bfb9f9
Refactor Toggle component for improved accessibility and code clarity
stijnpotters1 Jun 1, 2026
3149f6d
Refactor action button and file structure components for improved cla…
stijnpotters1 Jun 1, 2026
5914bbf
Refactor components to improve code clarity and consistency
stijnpotters1 Jun 1, 2026
65b775b
Enhance button and checkbox components for improved functionality and…
stijnpotters1 Jun 1, 2026
0ecd7e4
Add destructive variant to Button component and update usage in confi…
stijnpotters1 Jun 1, 2026
3ec41b5
Refactor create-node-modal for improved layout and styling
stijnpotters1 Jun 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 68 additions & 14 deletions src/main/frontend/app/app.css
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,8 @@ body {
}

.monaco-editor .hunk-glyph-unchecked,
.monaco-editor .hunk-glyph-checked {
.monaco-editor .hunk-glyph-checked,
.monaco-editor .hunk-glyph-hit-area {
cursor: pointer !important;
display: flex !important;
align-items: center;
Expand All @@ -195,27 +196,25 @@ body {
display: block;
width: 14px;
height: 14px;
border-radius: 3px;
margin-left: 6px;
margin-top: 2px;
border: 1.5px solid #6b7280;
background: transparent;
box-sizing: border-box;
margin-left: 5px;
background-size: 14px 14px;
background-repeat: no-repeat;
}

.monaco-editor .hunk-glyph-checked::after {
border-color: #22c55e;
background: #22c55e;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 7.5L5.5 9.5L10.5 4.5' stroke='white' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
background-size: 14px 14px;
.monaco-editor .hunk-glyph-unchecked::after {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='1' y='1' width='14' height='14' rx='3' fill='none' stroke='%239ca3af' stroke-width='1.5'/%3E%3C/svg%3E");
}

.monaco-editor .hunk-glyph-unchecked:hover::after {
border-color: #22c55e;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='1' y='1' width='14' height='14' rx='3' fill='none' stroke='%23fdc300' stroke-width='1.5'/%3E%3C/svg%3E");
}

.monaco-editor .hunk-glyph-checked::after {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='1' y='1' width='14' height='14' rx='3' fill='%23fdc300' stroke='%23fdc300' stroke-width='1.5'/%3E%3Cpath d='M4.5 8L7 10.5L11.5 5.5' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.monaco-editor .hunk-line-selected {
background: rgba(34, 197, 94, 0.08) !important;
background: color-mix(in srgb, var(--color-brand) 10%, transparent) !important;
}

.monaco-flow-attribute {
Expand All @@ -233,6 +232,38 @@ body {
color: #808080 !important;
}

.react-flow__panel.react-flow__controls {
background-color: var(--color-background);
border: 1px solid var(--color-border);
border-radius: 6px;
box-shadow: none;
overflow: hidden;
}

.react-flow__panel.react-flow__controls .react-flow__controls-button {
background-color: var(--color-background);
border-bottom: 1px solid var(--color-border);
fill: var(--color-foreground);
}

.react-flow__panel.react-flow__controls .react-flow__controls-button:last-child {
border-bottom: none;
}

.react-flow__panel.react-flow__controls .react-flow__controls-button:hover {
background-color: var(--color-hover);
}

.react-flow__panel.react-flow__controls .react-flow__controls-button svg {
fill: var(--color-foreground);
max-width: 12px;
max-height: 12px;
}

.react-flow__attribution {
background: transparent !important;
}

:root {
/* Allotment Styling */
--focus-border: var(--color-brand);
Expand All @@ -251,3 +282,26 @@ body {
line-height: 1.4;
white-space: nowrap;
}

* {
scrollbar-width: thin;
scrollbar-color: var(--color-border) transparent;
}

::-webkit-scrollbar {
width: 6px;
height: 6px;
}

::-webkit-scrollbar-track {
background: transparent;
}

::-webkit-scrollbar-thumb {
background: var(--color-border);
border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
background: var(--color-foreground-muted);
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export default function GenerateButton({

return (
<Button
className="bg-foreground-active disabled:bg-backdrop disabled:text-foreground-muted font-medium text-neutral-900 transition hover:brightness-110"
className="bg-foreground-active disabled:bg-backdrop disabled:text-foreground-muted font-medium text-neutral-900"
onClick={async () => {
highlightUnset()
if (!project) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ function ImportButton({ fileType, importFunc, file, setFile }: ImportButtonPrope
<label
htmlFor={inputId}
className={clsx(
'w-full cursor-pointer rounded-lg border px-3 py-3 text-center text-sm font-medium transition-colors',
'w-full cursor-pointer rounded-lg border px-3 py-3 text-center text-sm font-medium',
file && 'border-green-600 bg-green-600 text-white hover:bg-green-500',
!file && 'border-border bg-backdrop text-foreground hover:bg-hover active:bg-selected',
)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ function AddMappingForm({ onSave, sources, targets, initialData }: MappingModalP
{/* Target → Output */}
<div className="mb-4 grid shrink-0 grid-cols-[1fr_auto_1fr] items-end gap-4">
<div className="flex flex-col gap-1">
<label className="text-muted-foreground text-sm font-semibold">Output</label>
<label className="text-foreground-muted text-sm font-semibold">Output</label>
<Dropdown
className="max-w-50"
value={output}
Expand All @@ -242,7 +242,7 @@ function AddMappingForm({ onSave, sources, targets, initialData }: MappingModalP
<div className="flex items-center justify-center pb-2 text-2xl">→</div>

<div className="flex flex-col gap-1">
<label className="text-muted-foreground text-sm font-semibold">Target</label>
<label className="text-foreground-muted text-sm font-semibold">Target</label>

<Dropdown
className="max-w-50"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ function ArrayGroupNode({ id, data, variant = 'source', onDelete, onHighlight }:
height: 10,
top: '20px',
}} //Can't set this with tailwind for some reason
className={`${variant == 'source' ? '' : 'translate-x-1.25'} relative transition-opacity ${isConnectable ? 'opacity-100' : 'opacity-0'} `}
className={`${variant == 'source' ? '' : 'translate-x-1.25'} relative ${isConnectable ? 'opacity-100' : 'opacity-0'} `}
/>
<Handle
key={variant === 'source' ? 'target' : 'source'}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ function OneEdgeNode({ id, data, variant = 'source', onEdit, onDelete, onHighlig
width: 10,
height: 10,
}} //Can't set this with tailwind for some reason
className={`${variant == 'target' ? 'translate-x-1.25' : '-translate-x-2.5'} transition-opacity ${isConnectable ? 'opacity-100' : 'opacity-0'} `}
className={`${variant == 'target' ? 'translate-x-1.25' : '-translate-x-2.5'} ${isConnectable ? 'opacity-100' : 'opacity-0'} `}
/>

{/* Hidden opposite handle */}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import type { FilesystemEntry } from '~/types/filesystem.types'
import { ApiError } from '~/utils/api'
import { useDirectoryWatcher } from '~/hooks/use-file-watcher'
import Button from '../inputs/button'
import CloseButton from '../inputs/close-button'

interface DirectoryPickerProperties {
isOpen: boolean
Expand Down Expand Up @@ -92,12 +93,7 @@ export default function DirectoryPicker({
<div className="bg-background border-border flex h-[450px] w-1/3 min-w-[500px] flex-col rounded-lg border shadow-lg">
<div className="border-border flex items-center justify-between border-b px-4 py-3">
<h3 className="text-sm font-semibold">Select Directory</h3>
<Button
onClick={onCancel}
className="text-foreground-muted hover:text-foreground cursor-pointer text-lg leading-none"
>
&times;
</Button>
<CloseButton onClick={onCancel} />
</div>

<div className="border-border flex items-center gap-2 border-b px-4 py-2">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ export default function ConfirmDeleteDialog({ name, isFolder, onConfirm, onCance
<Button onClick={onCancel} className="px-3 py-1 text-sm">
Cancel
</Button>
<Button onClick={onConfirm} className="bg-red-600 px-3 py-1 text-sm text-white hover:bg-red-700">
<Button variant="destructive" onClick={onConfirm} className="px-3 py-1 text-sm">
Delete
</Button>
</div>
Expand Down
Loading
Loading