[frontend] Implement list menu component (ISH-392)
This commit is contained in:
parent
80429d399b
commit
ffcffe656a
4 changed files with 48 additions and 0 deletions
18
Iceshrimp.Frontend/Components/Menu.razor
Normal file
18
Iceshrimp.Frontend/Components/Menu.razor
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
|
||||||
|
@if (_display)
|
||||||
|
{
|
||||||
|
<div class="menu">
|
||||||
|
@ChildContent
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
@code {
|
||||||
|
[Parameter] [EditorRequired] public required RenderFragment ChildContent { get; set; }
|
||||||
|
private bool _display;
|
||||||
|
|
||||||
|
public void Toggle()
|
||||||
|
{
|
||||||
|
_display = !_display;
|
||||||
|
StateHasChanged();
|
||||||
|
}
|
||||||
|
}
|
11
Iceshrimp.Frontend/Components/Menu.razor.css
Normal file
11
Iceshrimp.Frontend/Components/Menu.razor.css
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
.menu {
|
||||||
|
background-color: var(--foreground-color);
|
||||||
|
position: absolute;
|
||||||
|
padding: 0.5rem 1rem;
|
||||||
|
border-radius: 1rem;
|
||||||
|
border: var(--highlight-color) solid 0.1rem;
|
||||||
|
width: 13rem;
|
||||||
|
top: 2.5rem;
|
||||||
|
left: -5rem;
|
||||||
|
|
||||||
|
}
|
16
Iceshrimp.Frontend/Components/MenuElement.razor
Normal file
16
Iceshrimp.Frontend/Components/MenuElement.razor
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
@using Iceshrimp.Assets.PhosphorIcons
|
||||||
|
|
||||||
|
<div @onclick="OnClick" class="menu-element">
|
||||||
|
<Icon Name="Icon"></Icon>
|
||||||
|
@Text
|
||||||
|
</div>
|
||||||
|
@code {
|
||||||
|
[Parameter] [EditorRequired] public required IconName Icon { get; set; }
|
||||||
|
[Parameter] [EditorRequired] public required RenderFragment Text { get; set; }
|
||||||
|
[Parameter] [EditorRequired] public required EventCallback OnSelect { get; set; }
|
||||||
|
|
||||||
|
private async Task OnClick()
|
||||||
|
{
|
||||||
|
await OnSelect.InvokeAsync();
|
||||||
|
}
|
||||||
|
}
|
3
Iceshrimp.Frontend/Components/MenuElement.razor.css
Normal file
3
Iceshrimp.Frontend/Components/MenuElement.razor.css
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
.menu-element {
|
||||||
|
display: flex;
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue