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 3.2KB

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