PWA Fundvelo der Caritas.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CaritasServiceFundVeloLostFoundPage.razor 5.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. @page "/fundvelo/lost_found"
  2. @using cwebplusApp.Shared.Services;
  3. @using cwebplusApp.Shared.Models;
  4. @inject IStringLocalizer<Resources> I18n
  5. @inject NavigationManager NavigationManager
  6. @inject PageHistoryManager PageHistoryManager
  7. @inject ReportDataProvider ReportDataProvider
  8. @inject UserDataProvider UserDataProvider
  9. @inject ReportRepositoryService ReportRepositoryService
  10. <div class="row px-3 h-100">
  11. <div class="row no-gutters align-items-center w-100">
  12. <table class="w-100">
  13. <tr>
  14. <td class="text-center">
  15. <span class="text-left" style="max-width: 100%;display:inline-block;font-size:smaller">
  16. <p><a href="https://shop.caritas-luzern.ch/de/Velos-c75735006" target="_blank">Velos (caritas-luzern.ch)</a></p>
  17. <p><a href="https://www.velostation.ch/de/velostationen/uebersichtskarte/luzern" target="_blank">Luzern – Forum Velostationen Schweiz</a></p>
  18. <p><a href="https://www.nextbike.ch/de/" target="_blank">nextbike | Fahrradverleih in Luzern</a></p>
  19. <p><a href="https://www.caritas-luzern.ch/was-wir-tun/caritas-betriebe/velomobilitaet-velodienste-velowerkstatt-veloverleih" target="_blank">Velomobilität Caritas Luzern: Velodienste, Velowerkstatt & Veloverleih (caritas-luzern.ch)</a></p>
  20. </span>
  21. </td>
  22. </tr>
  23. </table>
  24. </div>
  25. <div class="row no-gutters align-items-center w-100">
  26. <div class="mat-layout-grid w-100">
  27. <div class="mat-layout-grid-inner">
  28. <div class="mat-layout-grid-cell mat-layout-grid-cell-span-1">
  29. </div>
  30. <div class="mat-layout-grid-cell mat-layout-grid-cell-span-2">
  31. <MatCard Class="fv-mat-card">
  32. <MatCardContent>
  33. <MatCardMedia Square="true" ImageUrl="./images/batch_found.png" @onclick="Found"></MatCardMedia>
  34. </MatCardContent>
  35. </MatCard>
  36. </div>
  37. <div class="mat-layout-grid-cell mat-layout-grid-cell-span-1">
  38. </div>
  39. <div class="mat-layout-grid-cell mat-layout-grid-cell-span-1">
  40. </div>
  41. <div class="mat-layout-grid-cell mat-layout-grid-cell-span-2">
  42. <MatCard Class="fv-mat-card">
  43. <MatCardContent>
  44. <MatCardMedia Square="true" ImageUrl="./images/batch_missing.png" @onclick="Missing"></MatCardMedia>
  45. </MatCardContent>
  46. </MatCard>
  47. </div>
  48. <div class="mat-layout-grid-cell mat-layout-grid-cell-span-1">
  49. </div>
  50. <div class="mat-layout-grid-cell mat-layout-grid-cell-span-1">
  51. </div>
  52. <div class="mat-layout-grid-cell mat-layout-grid-cell-span-2" style="text-align:end">
  53. @if (NbrPendingReports > 0)
  54. {
  55. <div>
  56. <MatChip Label="@NbrPendingReports.ToString()" Class="pending_batch"></MatChip>
  57. </div>
  58. }
  59. <MatCard Class="fv-mat-card">
  60. <MatCardContent>
  61. <MatCardMedia Square="true" ImageUrl="./images/batch_pending.png" @onclick="Pending" Style="@getOpacity()"></MatCardMedia>
  62. </MatCardContent>
  63. </MatCard>
  64. </div>
  65. <div class="mat-layout-grid-cell mat-layout-grid-cell-span-1">
  66. </div>
  67. </div>
  68. </div>
  69. </div>
  70. </div>
  71. @code {
  72. private int NbrPendingReports = 0;
  73. protected async override void OnInitialized()
  74. {
  75. base.OnInitialized();
  76. ReportDataProvider.Report = null;
  77. ReportDataProvider.ReportRepositoryItem = null;
  78. StateHasChanged();
  79. NbrPendingReports = await ReportRepositoryService.GetNbrOfPendingReports();
  80. StateHasChanged();
  81. }
  82. private async void Found()
  83. {
  84. Report report = new FoundReport();
  85. UserDataProvider.MapReport(report, await UserDataProvider.Get());
  86. ReportDataProvider.Report = report;
  87. PageHistoryManager.AddPageToHistory(NavigationManager.Uri);
  88. NavigationManager.NavigateTo("fundvelo/keydata/Found");
  89. }
  90. private async void Missing()
  91. {
  92. Report report = new MissingReport();
  93. UserDataProvider.MapReport(report, await UserDataProvider.Get());
  94. ReportDataProvider.Report = report;
  95. PageHistoryManager.AddPageToHistory(NavigationManager.Uri);
  96. NavigationManager.NavigateTo("fundvelo/keydata/Missing");
  97. }
  98. private void Pending()
  99. {
  100. if (NbrPendingReports > 0)
  101. {
  102. NavigationManager.NavigateTo("fundvelo/pending_overview");
  103. }
  104. }
  105. private string getOpacity()
  106. {
  107. return NbrPendingReports > 0 ? "opacity:1.0" : "opacity:0.5";
  108. }
  109. }