Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

Link.cshtml 3.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. @{
  2. Layout = "~/Views/Shared/_Layout.cshtml";
  3. }
  4. @model LinkModel
  5. @if (!Model.IsValid)
  6. {
  7. <h1>Document expired!</h1>
  8. <a class="btn btn-light share-button" asp-controller="Home" asp-action="Index">Share message securely!</a>
  9. }
  10. else
  11. {
  12. <h1>Document is ready!</h1>
  13. <a href="/" class="share-more-files-button">Share more files</a>
  14. @if (Model.Share == true)
  15. {
  16. <div class="label-text">
  17. Link:
  18. </div>
  19. <div id="div-link" class="label-text link-show">
  20. @{
  21. var link = Url.Action(Model.MessageModel.Anonymous ? "LinkAnonymous" : "Link", "Home", new { code = Model.MessageModel.Code }, "https");
  22. }
  23. <a id="a-link" href="@link">@link</a>
  24. </div>
  25. <a class="btn btn-light share-button mb-4" onclick="copyToClipboard()">Copy to clipboard!</a>
  26. @if (!string.IsNullOrWhiteSpace(Model.MessageModel.Text))
  27. {
  28. <div class="label-text">
  29. Message:
  30. </div>
  31. <div class="label-text link-show">
  32. @Model.MessageModel.Text
  33. </div>
  34. }
  35. if (Model.MessageModel.FileNames.Count > 0)
  36. {
  37. <div class="label-text">
  38. Files:
  39. </div>
  40. <div class="label-text link-show">
  41. @foreach (var file in Model.MessageModel.FileNames)
  42. {
  43. <a asp-action="Download" asp-route-filename="@file" asp-route-code="@Model.MessageModel.Code">@file</a>
  44. <br/>
  45. }
  46. </div>
  47. }
  48. }
  49. else
  50. {
  51. <div>
  52. @if (Model.TimeLeft != null)
  53. {
  54. var time = Model.TimeLeft.Value;
  55. if (time.Days > 0)
  56. {
  57. <div class="label-text-lower">
  58. This message will expire in: @time.ToString("%d") days @time.ToString("%h") hours @time.ToString("%m") minutes
  59. </div>
  60. }
  61. else
  62. {
  63. <div class="label-text-lower">
  64. This message will expire in: @time.ToString(@"hh\:mm\:ss")
  65. </div>
  66. }
  67. }
  68. else
  69. {
  70. <div class="label-text-lower">
  71. This message will expire when you leave this page
  72. </div>
  73. }
  74. </div>
  75. @if (!string.IsNullOrWhiteSpace(Model.MessageModel.Text))
  76. {
  77. <div class="label-text">
  78. Message:
  79. </div>
  80. <div class="label-text link-show">
  81. @Model.MessageModel.Text
  82. </div>
  83. }
  84. @if (Model.MessageModel.FileNames.Count > 0)
  85. {
  86. <div class="label-text">
  87. Files:
  88. </div>
  89. <div class="label-text link-show">
  90. @foreach (var file in Model.MessageModel.FileNames)
  91. {
  92. <a asp-action="Download" asp-route-filename="@file" asp-route-code="@Model.MessageModel.Code">@file</a>
  93. <br/>
  94. }
  95. </div>
  96. }
  97. <a class="btn btn-light share-button" asp-controller="Home" asp-action="Index">Share new message securely!</a>
  98. }
  99. }
  100. <script>
  101. copyToClipboard = () => {
  102. // Get the text field
  103. const copyText = document.getElementById("a-link").innerText;
  104. // Copy the text inside the text field
  105. navigator.clipboard.writeText(copyText);
  106. }
  107. </script>