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.

Link.cshtml 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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 ready!</h1>
  16. </div>
  17. @if (Model.Share == true)
  18. {
  19. <div class="label-text">
  20. Link is ready:
  21. </div>
  22. <div id="div-link" class="label-text link-show">
  23. @{
  24. var link = Url.Action("Link", "Home", new { id = Model.MessageModel.Id }, "https");
  25. }
  26. <a id="a-link" href="@link">@link</a>
  27. </div>
  28. <a class="btn btn-light share-button" onclick="copyToClipboard()">Copy to clipboard!</a>
  29. <div class="label-text">
  30. Message:
  31. </div>
  32. <div class="label-text link-show">
  33. @Model.MessageModel.Text
  34. </div>
  35. }
  36. else
  37. {
  38. <div>
  39. @if (Model.TimeLeft != null)
  40. {
  41. var time = Model.TimeLeft.Value;
  42. if (time.Days > 0)
  43. {
  44. <div class="label-text-lower">
  45. This message will expire in: @time.ToString("%d") days @time.ToString("%h") hours @time.ToString("%m") minutes
  46. </div>
  47. }
  48. else
  49. {
  50. <div class="label-text-lower">
  51. This message will expire in: @time.ToString(@"hh\:mm\:ss")
  52. </div>
  53. }
  54. }
  55. else
  56. {
  57. <div class="label-text-lower">
  58. This message will expire when you leave this page
  59. </div>
  60. }
  61. </div>
  62. <div class="label-text">
  63. Message:
  64. </div>
  65. <div class="label-text link-show">
  66. @Model.MessageModel.Text
  67. </div>
  68. <a class="btn btn-light share-button" asp-controller="Home" asp-action="Index">Share new message securely!</a>
  69. }
  70. }
  71. <script>
  72. function copyToClipboard() {
  73. // Get the text field
  74. const copyText = document.getElementById("a-link").innerText;
  75. // Copy the text inside the text field
  76. navigator.clipboard.writeText(copyText);
  77. }
  78. </script>