|
1 |
| -@* @using CoinyProject.Application.DTO.Discussion |
2 |
| -@model IEnumerable<DiscussionMessageCreateDTO> |
3 |
| -
|
4 |
| -<div class="bg-light"> |
5 |
| - <h2 class="text-center text-primary">Discussion Talk</h2> |
6 |
| - <div class="row"> |
7 |
| - <div class="col-md-12" id="chat"> |
8 |
| - |
9 |
| - @if (Model != null) |
10 |
| - @foreach (var message in Model) |
11 |
| - { |
12 |
| - <div class="row"> |
13 |
| - <div class="container bg-primary"> |
14 |
| - <p class="text-lg-start">@message.Message</p> |
15 |
| - </div> |
16 |
| - </div> |
17 |
| - } |
18 |
| - </div> |
19 |
| - <div class="col-md-12"> |
20 |
| - <form |
21 |
| - data-ajax-begin="clearInputField" data-ajax-complete="" |
22 |
| - data-ajax-failure="alert('Fail')" data-ajax-success="sendMessage" |
23 |
| - data-ajax="true" data-ajax-method="POST"> |
24 |
| - <div class="row"> |
25 |
| - <div class="col-md-10"> |
26 |
| - <input name="Text" class="form-control" id="messageText" /> |
27 |
| - </div> |
28 |
| - <div class="col-md-2"> |
29 |
| - <button type="submit" class="btn btn-primary" id="submitButton">Send</button> |
30 |
| - </div> |
31 |
| - </div> |
32 |
| - </form> |
33 |
| - </div> |
34 |
| - </div> |
35 |
| -</div> |
36 |
| -
|
37 |
| -
|
38 |
| - <script src="~/js/signalrReqHandler.js"></script> |
39 |
| - <script src="~/signalr/signalr.min.js"></script> |
40 |
| - <script src="~/lib/jquery/dist/jquery.unobtrusive-ajax.min.js"></script> |
41 |
| - <script src="~/js/chat.js"></script> *@ |
42 |
| - |
| 1 | + |
43 | 2 | @using CoinyProject.Application.DTO.Discussion
|
44 | 3 | @using Microsoft.AspNetCore.Http
|
45 | 4 |
|
|
51 | 10 | }
|
52 | 11 |
|
53 | 12 | <div class="container">
|
54 |
| - <h2 class="text-center text-primary">Discussion Talk</h2> |
55 |
| - <div class="col-lg-6 center"> |
56 |
| - <div class="card"> |
57 |
| - <div class="row g-0"> |
58 |
| - <div class="col-6 col-md-12"> |
59 |
| - <div class="card-body d-flex flex-column"> |
60 |
| - <div class="text-muted"> |
61 |
| - <span> |
62 |
| - Author: @Model.Username |
63 |
| - </span> |
64 |
| - <span class="text-primary rounded border border-primary px-2 py-1"> |
65 |
| - Topic: @Model.Topic |
66 |
| - </span> |
67 |
| - </div> |
68 |
| - <div class="h-100"> |
69 |
| - <h4 class="card-title">@Model.Name</h4> |
| 13 | + <h2 class="text-center text-primary mt-3">Discussion Talk</h2> |
| 14 | + <div id="currentUser" data-user-id="@currentUser.Identity.Name"></div> |
| 15 | + <div class="row justify-content-center"> |
| 16 | + <div class="col-lg-6"> |
| 17 | + |
| 18 | + |
| 19 | + <div class="card mb-3" style="height: 100px;"> |
| 20 | + <div class="row g-0"> |
| 21 | + <div class="col-6 col-md-12"> |
| 22 | + <div class="card-body d-flex flex-column"> |
| 23 | + <div class="text-muted"> |
| 24 | + <span> |
| 25 | + Author: @Model.Username |
| 26 | + </span> |
| 27 | + <span class="text-primary rounded border border-primary px-2 py-1"> |
| 28 | + Topic: @Model.Topic |
| 29 | + </span> |
| 30 | + </div> |
| 31 | + <div class="h-100"> |
| 32 | + <h4 class="card-title">@Model.Name</h4> |
| 33 | + </div> |
70 | 34 | </div>
|
71 | 35 | </div>
|
72 | 36 | </div>
|
73 | 37 | </div>
|
74 |
| - </div> |
75 |
| - </div> |
76 |
| - <div class="row"> |
77 |
| - <div class="col-6"> |
78 |
| - <ul id="messagesList" class="list-group"> |
79 |
| - @if(Model != null) |
80 |
| - foreach(var message in Model.Messages) |
81 |
| - { |
82 |
| - <li>@message.Username says @message.Message</li> |
83 |
| - } |
84 |
| - </ul> |
85 |
| - </div> |
86 |
| - </div> |
87 |
| - <div class="row mt-3"> |
88 |
| - <div class="col-6"> |
89 | 38 |
|
90 |
| - <div class="input-group"> |
91 |
| - <input type="text" id="userInput" hidden value="@currentUser.Identity.Name" /> |
92 |
| - <input type="text" class="form-control" id="messageInput" placeholder="Type your message here..." /> |
93 |
| - <button class="btn btn-primary" id="sendButton">Send Message</button> |
| 39 | + <div class="row justify-content-center"> |
| 40 | + <div class="col-lg-10"> |
| 41 | + <div id="messagesList" class="list-group"> |
| 42 | + @if (Model != null && Model.Messages.Any()) |
| 43 | + { |
| 44 | + foreach (var message in Model.Messages) |
| 45 | + { |
| 46 | + var isCurrentUserMessageAuthor = (message.Username == currentUser.Identity.Name); |
| 47 | + <div class="message-item mb-3 border rounded p-2 |
| 48 | + @(isCurrentUserMessageAuthor ? "text-end bg-body-tertiary " : "")"> |
| 49 | + <span class="badge @(isCurrentUserMessageAuthor ? "bg-danger" : "bg-info")">@message.Username</span> |
| 50 | + <div class="message-content">@message.Message</div> |
| 51 | + </div> |
| 52 | + } |
| 53 | + } |
| 54 | + else |
| 55 | + { |
| 56 | + <div class="message-item mb-3 border rounded p-2">No messages yet.</div> |
| 57 | + } |
| 58 | + </div> |
| 59 | + |
| 60 | + <div class="input-group"> |
| 61 | + <input type="text" id="userInput" hidden value="@currentUser.Identity.Name" /> |
| 62 | + <input type="text" class="form-control" id="messageInput" placeholder="Type your message here..." /> |
| 63 | + <button class="btn btn-primary" id="sendButton">Send Message</button> |
| 64 | + </div> |
| 65 | + </div> |
94 | 66 | </div>
|
| 67 | + |
95 | 68 | </div>
|
96 | 69 | </div>
|
97 | 70 | </div>
|
|
0 commit comments