Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

Link.cshtml 4.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  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. @{
  33. var text = Model.MessageModel.Text;
  34. var messages = text.Split("\r\n");
  35. foreach (var message in messages)
  36. {
  37. <p>
  38. @message
  39. </p>
  40. }
  41. }
  42. </div>
  43. }
  44. if (Model.MessageModel.FileNames.Count > 0)
  45. {
  46. <div class="label-text">
  47. Files:
  48. </div>
  49. <div class="label-text link-show">
  50. @foreach (var file in Model.MessageModel.FileNames)
  51. {
  52. <a asp-action="Download" asp-route-filename="@file" asp-route-code="@Model.MessageModel.Code">@file</a>
  53. <br/>
  54. }
  55. </div>
  56. }
  57. }
  58. else
  59. {
  60. <div>
  61. @if (Model.TimeLeft != null)
  62. {
  63. var time = Model.TimeLeft.Value;
  64. if (time.Days > 0)
  65. {
  66. <div class="label-text-lower">
  67. This message will expire in: @time.ToString("%d") days @time.ToString("%h") hours @time.ToString("%m") minutes
  68. </div>
  69. }
  70. else
  71. {
  72. <div class="label-text-lower">
  73. This message will expire in: @time.ToString(@"hh\:mm\:ss")
  74. </div>
  75. }
  76. }
  77. else
  78. {
  79. <div class="label-text-lower">
  80. This message will expire when you leave this page
  81. </div>
  82. }
  83. </div>
  84. @if (!string.IsNullOrWhiteSpace(Model.MessageModel.Text))
  85. {
  86. <div class="label-text">
  87. Message:
  88. </div>
  89. <div class="label-text link-show">
  90. @{
  91. var text = Model.MessageModel.Text;
  92. var messages = text.Split("\r\n");
  93. foreach (var message in messages)
  94. {
  95. <p>
  96. @message
  97. </p>
  98. }
  99. }
  100. </div>
  101. }
  102. @if (Model.MessageModel.FileNames.Count > 0)
  103. {
  104. <div class="label-text">
  105. Files:
  106. </div>
  107. <div class="label-text link-show">
  108. @foreach (var file in Model.MessageModel.FileNames)
  109. {
  110. <a asp-action="Download" asp-route-filename="@file" asp-route-code="@Model.MessageModel.Code">@file</a>
  111. <br/>
  112. }
  113. </div>
  114. }
  115. <a class="btn btn-light share-button" asp-controller="Home" asp-action="Index">Share new message securely!</a>
  116. }
  117. }
  118. <script>
  119. copyToClipboard = () => {
  120. // Get the text field
  121. const copyText = document.getElementById("a-link").innerText;
  122. // Copy the text inside the text field
  123. navigator.clipboard.writeText(copyText);
  124. }
  125. </script>