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.

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