Fix floating embedding icon when voice input is hidden

This commit is contained in:
Thorsten Sommer 2026-09-13 15:15:28 +02:00
parent 358c161e7a
commit f429425a81
Signed by untrusted user who does not match committer: tsommer
GPG Key ID: 371BBA77A02C0108
2 changed files with 56 additions and 48 deletions

View File

@ -1,22 +1,32 @@
@namespace AIStudio.Components
@inherits MSGComponentBase
@*
The toolbar belongs to this component, not to the places which use it: MudToolBar keeps its
minimum height even when empty. Left outside, it reserved space in the navigation bar while
this component rendered nothing at all, which made the neighboring items float above the
bottom edge.
*@
@if (this.ShouldRenderVoiceRecording)
{
<MudTooltip Text="@this.Tooltip">
@if (this.isTranscribing || this.isPreparing)
{
<MudProgressCircular Size="Size.Small" Indeterminate="true" Color="Color.Primary"/>
}
else
{
<MudToggleIconButton Toggled="@this.isRecording"
ToggledChanged="@this.OnRecordingToggled"
Icon="@Icons.Material.Filled.Mic"
ToggledIcon="@Icons.Material.Filled.Stop"
Disabled="@(!this.IsVoiceRecordingAvailable)"
Color="Color.Primary"
ToggledColor="Color.Error"/>
}
</MudTooltip>
<MudStack AlignItems="AlignItems.Center">
<MudToolBar WrapContent="true">
<MudTooltip Text="@this.Tooltip">
@if (this.isTranscribing || this.isPreparing)
{
<MudProgressCircular Size="Size.Small" Indeterminate="true" Color="Color.Primary"/>
}
else
{
<MudToggleIconButton Toggled="@this.isRecording"
ToggledChanged="@this.OnRecordingToggled"
Icon="@Icons.Material.Filled.Mic"
ToggledIcon="@Icons.Material.Filled.Stop"
Disabled="@(!this.IsVoiceRecordingAvailable)"
Color="Color.Primary"
ToggledColor="Color.Error"/>
}
</MudTooltip>
</MudToolBar>
</MudStack>
}

View File

@ -25,20 +25,19 @@
<MudSpacer/>
@if (this.showEmbeddingStatusIcon)
{
<MudNavMenu>
<MudTooltip Text="@this.EmbeddingNavigationTooltip" Placement="Placement.Right">
<MudNavLink Href="@this.embeddingItem.Path" Match="@(this.embeddingItem.MatchAll ? NavLinkMatch.All : NavLinkMatch.Prefix)" Icon="@this.embeddingItem.Icon" Style="@this.embeddingItem.SetColorStyle(this.SettingsManager)" Class="custom-icon-color">
@T("Data sync")
</MudNavLink>
</MudTooltip>
</MudNavMenu>
}
<MudStack AlignItems="AlignItems.Center" Class="pb-2">
<MudToolBar WrapContent="true">
<VoiceRecorder />
</MudToolBar>
@* The bottom area carries the gap to the window edge once, for whichever of its items are shown: *@
<MudStack Spacing="0" Class="pb-2">
@if (this.showEmbeddingStatusIcon)
{
<MudNavMenu>
<MudTooltip Text="@this.EmbeddingNavigationTooltip" Placement="Placement.Right">
<MudNavLink Href="@this.embeddingItem.Path" Match="@(this.embeddingItem.MatchAll ? NavLinkMatch.All : NavLinkMatch.Prefix)" Icon="@this.embeddingItem.Icon" Style="@this.embeddingItem.SetColorStyle(this.SettingsManager)" Class="custom-icon-color">
@T("Data sync")
</MudNavLink>
</MudTooltip>
</MudNavMenu>
}
<VoiceRecorder />
</MudStack>
</MudDrawer>
</MudDrawerContainer>
@ -64,25 +63,24 @@
<MudSpacer/>
@if (this.showEmbeddingStatusIcon)
{
<MudNavMenu>
@if (this.SettingsManager.ConfigurationData.App.NavigationBehavior is NavBehavior.NEVER_EXPAND_USE_TOOLTIPS)
{
<MudTooltip Text="@this.EmbeddingNavigationTooltip" Placement="Placement.Right">
@* The bottom area carries the gap to the window edge once, for whichever of its items are shown: *@
<MudStack Spacing="0" Class="pb-2">
@if (this.showEmbeddingStatusIcon)
{
<MudNavMenu>
@if (this.SettingsManager.ConfigurationData.App.NavigationBehavior is NavBehavior.NEVER_EXPAND_USE_TOOLTIPS)
{
<MudTooltip Text="@this.EmbeddingNavigationTooltip" Placement="Placement.Right">
<MudNavLink Href="@this.embeddingItem.Path" Match="@(this.embeddingItem.MatchAll ? NavLinkMatch.All : NavLinkMatch.Prefix)" Icon="@this.embeddingItem.Icon" Style="@this.embeddingItem.SetColorStyle(this.SettingsManager)" Class="custom-icon-color"/>
</MudTooltip>
}
else
{
<MudNavLink Href="@this.embeddingItem.Path" Match="@(this.embeddingItem.MatchAll ? NavLinkMatch.All : NavLinkMatch.Prefix)" Icon="@this.embeddingItem.Icon" Style="@this.embeddingItem.SetColorStyle(this.SettingsManager)" Class="custom-icon-color"/>
</MudTooltip>
}
else
{
<MudNavLink Href="@this.embeddingItem.Path" Match="@(this.embeddingItem.MatchAll ? NavLinkMatch.All : NavLinkMatch.Prefix)" Icon="@this.embeddingItem.Icon" Style="@this.embeddingItem.SetColorStyle(this.SettingsManager)" Class="custom-icon-color"/>
}
</MudNavMenu>
}
<MudStack AlignItems="AlignItems.Center" Class="pb-2">
<MudToolBar WrapContent="true">
<VoiceRecorder />
</MudToolBar>
}
</MudNavMenu>
}
<VoiceRecorder />
</MudStack>
</MudPaper>
}