Files
FoodsharingOnboarding/FoodsharingSiegen.Server/Pages/Prospects.razor
2025-03-28 07:23:59 +01:00

49 lines
1.7 KiB
Plaintext

@page "/"
@page "/prospect"
@page "/prospects"
@inherits FsBase
<PageTitle>Neue Foodsaver - @AppSettings.Title</PageTitle>
<h2>Neue Foodsaver</h2>
<Button
Color="Color.Primary"
Clicked="() => ProspectModal.Show()"
Visibility="@(CurrentUser.IsInGroup(UserGroup.WelcomeTeam, UserGroup.Ambassador) ? Visibility.Default : Visibility.Invisible)"
>Hinzufügen
</Button>
@{
var filterListQ = ProspectList?.AsQueryable();
if (!string.IsNullOrWhiteSpace(Filter.Text))
{
filterListQ = filterListQ?
.Where(x =>
x.Name.Contains(Filter.Text, StringComparison.OrdinalIgnoreCase) ||
(!string.IsNullOrWhiteSpace(x.Memo) && x.Memo.Contains(Filter.Text, StringComparison.OrdinalIgnoreCase) == true) ||
x.FsId.ToString().Contains(Filter.Text, StringComparison.OrdinalIgnoreCase)).AsQueryable();
}
if (Filter.WithoutStepInBriefing)
filterListQ = filterListQ?.Where(x => x.Interactions.All(i => i.Type != InteractionType.StepInBriefing));
var filterList = filterListQ?.ToList();
}
<hr/>
<ProspectFilterControl @bind-Filter="Filter"></ProspectFilterControl>
<hr />
<h5>@(filterList?.Count ?? 0) Einträge</h5>
@if (filterList?.Any() == true)
{
<div class="row m-0">
<Repeater Items="@filterList">
<ProspectContainer Prospect="context" InteractionModal="InteractionModal" ProspectModal="ProspectModal" RemoveInteraction="RemoveInteraction" StateFilter="ProspectStateFilter.OnBoarding"></ProspectContainer>
</Repeater>
</div>
}
<AddProspectModal @ref="ProspectModal" OnAdd="OnAddProspect" OnUpdate="OnUpdateProspect"></AddProspectModal>
<AddInteractionModal @ref="InteractionModal" OnAdd="OnAddInteraction" Users="Users"></AddInteractionModal>