feat(dac-wizard): extend DAC info to all steps and done summary

- Add DAC short name to pulse config filename for multi-DAC support
- Add getCreatedConfigPaths() for dynamic file path generation
- Show configured DAC name/description in done step
- Add configuredFor translation to all locales (EN/ES/FR/DE)
This commit is contained in:
vicrodh committed 2026-02-03 02:38:49 -06:00
1 parent c3ae0a2e6a
commit e6d5c1ae7d
5 files changed
+44 -4

No files matched your search

+40 -4
View File
@@ -243,6 +243,7 @@
// Generate pulse config command based on selected apps
function generatePulseConfig(): string[] {
const fileName = dacNodeName ? `99-qbz-bitperfect-${dacShortName()}.conf` : '99-qbz-bitperfect.conf';
const rules = selectedApps.map(app => {
const matchKey = app === 'QBZ' ? 'application.name' : 'application.process.binary';
const matchValue = app === 'QBZ' ? 'QBZ' : app.toLowerCase();
@@ -254,7 +255,7 @@
return [
'mkdir -p ~/.config/pipewire/pipewire-pulse.conf.d',
`cat > ~/.config/pipewire/pipewire-pulse.conf.d/99-qbz-bitperfect.conf << 'EOF'`,
`cat > ~/.config/pipewire/pipewire-pulse.conf.d/${fileName} << 'EOF'`,
'# QBZ DAC Setup - Per-App Bit-Perfect',
'pulse.rules = [',
rules,
@@ -263,6 +264,16 @@
];
}
// Get created config file paths for summary
function getCreatedConfigPaths(): string[] {
const name = dacNodeName ? dacShortName() : null;
return [
`~/.config/pipewire/pipewire.conf.d/${name ? `99-qbz-dac-${name}.conf` : '99-qbz-dac.conf'}`,
`~/.config/pipewire/pipewire-pulse.conf.d/${name ? `99-qbz-bitperfect-${name}.conf` : '99-qbz-bitperfect.conf'}`,
`~/.config/wireplumber/wireplumber.conf.d/${name ? `99-qbz-dac-${name}.conf` : '99-qbz-dac.conf'}`
];
}
// Generate WirePlumber config with user's DAC node name
function generateWireplumberConfig(): string[] {
const rates = Array.from(selectedSampleRates).sort((a, b) => a - b);
@@ -633,12 +644,19 @@
<div class="done-content">
<CheckCircle size={64} class="done-icon" />
{#if dacCapabilities?.description || dacNodeName}
<div class="done-dac-info">
<span class="done-dac-label">{$t('dacWizard.done.configuredFor')}</span>
<span class="done-dac-name">{dacCapabilities?.description || dacShortName()}</span>
</div>
{/if}
<div class="done-summary">
<h4>{$t('dacWizard.done.summary')}</h4>
<ul class="config-list">
<li><code>~/.config/pipewire/pipewire.conf.d/99-qbz-dac.conf</code></li>
<li><code>~/.config/pipewire/pipewire-pulse.conf.d/99-qbz-bitperfect.conf</code></li>
<li><code>~/.config/wireplumber/wireplumber.conf.d/99-qbz-dac.conf</code></li>
{#each getCreatedConfigPaths() as path}
<li><code>{path}</code></li>
{/each}
</ul>
</div>
</div>
@@ -1157,6 +1175,24 @@
color: var(--accent-primary);
}
.done-dac-info {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
}
.done-dac-label {
font-size: 13px;
color: var(--text-muted);
}
.done-dac-name {
font-size: 18px;
font-weight: 600;
color: var(--text-primary);
}
.done-summary {
text-align: center;
}
+1
View File
@@ -1065,6 +1065,7 @@
"title": "Einrichtung abgeschlossen",
"subtitle": "Ihr DAC ist für Bit-Perfect-Wiedergabe konfiguriert.",
"summary": "Erstellte Konfigurationen:",
"configuredFor": "Konfiguriert für:",
"close": "Schließen"
},
"error": {
+1
View File
@@ -1123,6 +1123,7 @@
"done": {
"title": "Setup Complete",
"subtitle": "Your DAC is configured for bit-perfect playback.",
"configuredFor": "Configured for:",
"summary": "Created configs:",
"close": "Close"
},
+1
View File
@@ -1123,6 +1123,7 @@
"done": {
"title": "Configuración Completa",
"subtitle": "Tu DAC está configurado para reproducción bit-perfect.",
"configuredFor": "Configurado para:",
"summary": "Configs creados:",
"close": "Cerrar"
},
+1
View File
@@ -1064,6 +1064,7 @@
"done": {
"title": "Configuration terminée",
"subtitle": "Votre DAC est configuré pour la lecture bit-perfect.",
"configuredFor": "Configuré pour :",
"summary": "Configurations créées :",
"close": "Fermer"
},