Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

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