fix: minor updated color palette for some components; updated default region/track names for stem separation.

This commit is contained in:
Xiaohan-Tian
2026-04-20 15:33:02 -07:00
parent 1e4fdfc8c5
commit a71de0c789
7 changed files with 47 additions and 38 deletions
+1 -1
View File
@@ -149,7 +149,7 @@
}
.chatbox-input:focus {
border-color: #6a6a6a;
border-color: #5a9fd4;
background-color: #4a4a4a;
}
+14 -9
View File
@@ -59,7 +59,7 @@
.kgone-tab.active {
color: #e0e0e0;
border-bottom-color: #7a9cff;
border-bottom-color: #5a9fd4;
}
/* Scrollable body */
@@ -102,7 +102,7 @@
.kgone-input:focus,
.kgone-textarea:focus,
.kgone-select:focus {
border-color: #5a6aaa;
border-color: #5a9fd4;
}
.kgone-textarea {
@@ -277,7 +277,7 @@
}
.kgone-player-play-btn:hover {
color: #7a9cff;
color: #5a9fd4;
}
.kgone-player-progress-track {
@@ -296,7 +296,7 @@
.kgone-player-progress-fill {
height: 100%;
background-color: #7a9cff;
background-color: #5a9fd4;
border-radius: 2px;
pointer-events: none;
transition: width 0.1s linear;
@@ -336,7 +336,7 @@
}
.kgone-player-download-btn:hover {
color: #7a9cff;
color: #5a9fd4;
}
/* ── Generation state feedback ─────────────────────────────────────────────── */
@@ -364,8 +364,13 @@
}
@keyframes kgone-spin {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
/* Stem players (Separator tab) */
@@ -390,7 +395,7 @@
.kgone-checkbox-row input[type="checkbox"] {
width: 14px;
height: 14px;
accent-color: #7a9cff;
accent-color: #5a9fd4;
cursor: pointer;
}
@@ -399,4 +404,4 @@
font-size: 11px;
cursor: pointer;
user-select: none;
}
}
+4 -1
View File
@@ -826,6 +826,7 @@ const SeparatorTab: React.FC = () => {
const taskIdRef = useRef<string>('');
const originalRegionRef = useRef<{
regionName: string;
trackName: string;
startFromBeat: number;
trackIndex: number;
} | null>(null);
@@ -866,6 +867,7 @@ const SeparatorTab: React.FC = () => {
// Capture snapshot before anything changes — selection may shift during generation
originalRegionRef.current = {
regionName: selectedAudioRegion.region.getName(),
trackName: selectedAudioRegion.trackName,
startFromBeat: selectedAudioRegion.region.getStartFromBeat(),
trackIndex: selectedAudioRegion.trackIndex,
};
@@ -1043,7 +1045,8 @@ const SeparatorTab: React.FC = () => {
await KGAudioFileStorage.storeAudioFile(projectName, fileId, audioFile);
return {
trackName: `${snap.regionName} (${stem.name})`,
trackName: `${snap.trackName} - ${stem.name}`,
regionName: `${snap.regionName} - ${stem.name}`,
audioFileId: fileId,
audioFileName: fileName,
audioDurationSeconds: toneBuffer.duration,
@@ -203,17 +203,17 @@ const GeneralSettings: React.FC = () => {
<div className="settings-section-header">
<h3>General</h3>
</div>
<div className="settings-section-content">
<div className="settings-group">
<h4>LLM Provider</h4>
<div className="settings-item">
<label className="settings-label">
LLM Provider
</label>
<select
className="settings-select"
<select
className="settings-select"
value={llmProvider}
onChange={(e) => handleLlmProviderChange(e.target.value)}
>
@@ -245,13 +245,13 @@ const GeneralSettings: React.FC = () => {
<div className="settings-group">
<h4>OpenAI</h4>
<div className="settings-item">
<label className="settings-label">
Key
</label>
<input
type="password"
<input
type="password"
className="settings-input"
placeholder="Enter your OpenAI API key"
value={openaiKey}
@@ -265,7 +265,7 @@ const GeneralSettings: React.FC = () => {
: 'For security, keys are not persisted on non-local hosts and are kept in-memory for this session.'}
</div>
</div>
<div className="settings-item">
<label className="settings-label">
Model
@@ -365,13 +365,13 @@ const GeneralSettings: React.FC = () => {
<div className="settings-group">
<h4>Anthropic Claude (via OpenRouter)</h4>
<div className="settings-item">
<label className="settings-label">
Key
</label>
<input
type="password"
<input
type="password"
className="settings-input"
placeholder="Enter your Claude API key"
value={claudeOpenRouterKey}
@@ -390,8 +390,8 @@ const GeneralSettings: React.FC = () => {
<label className="settings-label">
Base URL
</label>
<input
type="text"
<input
type="text"
className="settings-input"
placeholder="e.g. https://openrouter.ai/api/v1"
value={claudeOpenRouterBaseUrl}
@@ -401,7 +401,7 @@ const GeneralSettings: React.FC = () => {
This is the base URL for the OpenRouter API. Please do not change this unless you know what you are doing.
</div>
</div>
<div className="settings-item">
<label className="settings-label">
Model
@@ -423,13 +423,13 @@ const GeneralSettings: React.FC = () => {
<div className="settings-group">
<h4>OpenAI Compatible Server</h4>
<div className="settings-item">
<label className="settings-label">
Key
</label>
<input
type="password"
<input
type="password"
className="settings-input"
placeholder="Enter your API key"
value={compatibleKey}
@@ -443,26 +443,26 @@ const GeneralSettings: React.FC = () => {
: 'For security, keys are not persisted on non-local hosts and are kept in-memory for this session.'}
</div>
</div>
<div className="settings-item">
<label className="settings-label">
Base URL
</label>
<input
type="text"
<input
type="text"
className="settings-input"
placeholder="e.g. https://openrouter.ai/api/v1"
value={compatibleBaseUrl}
onChange={(e) => handleCompatibleBaseUrlChange(e.target.value)}
/>
</div>
<div className="settings-item">
<label className="settings-label">
Model
</label>
<input
type="text"
<input
type="text"
className="settings-input"
placeholder="e.g. qwen3:30b"
value={compatibleModel}
@@ -500,7 +500,7 @@ const GeneralSettings: React.FC = () => {
e.preventDefault();
handleSoundfontBaseUrlChange('https://cdn.jsdelivr.net/npm/soundfont-for-samplers/FluidR3_GM/');
}}
style={{ color: '#646cff', textDecoration: 'underline', cursor: 'pointer' }}
style={{ color: '#5a9fd4', textDecoration: 'underline', cursor: 'pointer' }}
>
Restore default
</a>
+1 -1
View File
@@ -548,7 +548,7 @@ const RegionItem: React.FC<RegionItemProps> = ({
data-is-dragging={isDragging}
>
<div className="region-header">
{audioRegion ? audioRegion.getAudioFileName() : name}
{name}
</div>
<div className={`region-content${audioRegion ? ' audio-region-content' : ''}`} ref={regionContentRef}>
{!audioRegion && (