Skip to content

Commit

Permalink
Merge pull request #98 from Pomog/yurii_dev
Browse files Browse the repository at this point in the history
Yurii dev
  • Loading branch information
TartuDen committed Jan 23, 2024
2 parents 5dc3ce7 + c9348eb commit 1a442c6
Show file tree
Hide file tree
Showing 2 changed files with 97 additions and 5 deletions.
8 changes: 8 additions & 0 deletions internal/handler/staticHelperHendlers.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,11 +135,19 @@ func (m *Repository) PersonaCabinetHandler(w http.ResponseWriter, r *http.Reques
return
}

loggedUser, err := m.DB.GetUserByID(sessionUserID)
if err != nil {
setErrorAndRedirect(w, r, "Could not get User"+err.Error(), "/error-page")
return
}

data := make(map[string]interface{})
data["personal"] = personalInfo
data["totalPosts"] = totalPosts
data["loggedAsID"] = sessionUserID
data["sortedPMs"] = sortedPMsWithNames
data["loggedAs"] = loggedUser.UserName
data["loggedUserType"] = loggedUser.Type

renderer.RendererTemplate(w, "personal.page.html", &models.TemplateData{
Data: data,
Expand Down
94 changes: 89 additions & 5 deletions template/personal.page.html
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,13 @@ <h2>User Profile</h2>
</table>
<div>
{{if and (eq $loggedID $person.ID) (ne $loggedID 1)}}
<div>
<button type="button" class="btn btn-primary" id="allMessages">All</button>
<button type="button" class="btn btn-secondary" id="sentMessages">Sent</button>
<button type="button" class="btn btn-light" id="receivedMessages">Received</button>
<button type="button" class="btn btn-info" id="systemMessages">System</button>
</div>

<table class="table-borderless forumTable whiteLink mt-3">
<thead>
<tr>
Expand All @@ -132,12 +139,14 @@ <h2>User Profile</h2>
<tbody>
{{$sortedPM := index .Data "sortedPMs"}}
{{range $sortedPM}}
<tr>
<tr name="messageRow" id="{{.SenderUserID}} {{$loggedID}}" {{if eq .SenderUserID $loggedID}}
style="background-color: #242132 ;" {{else}} style="background-color: #37324d ;" {{end}}>

{{$convertedTime := convertTimePM . }}
<th scope="row"><hr>{{$convertedTime}}</th>
<td><hr>{{.Content}}</td>
<td><hr>{{.SenderName}}</td>
<td><hr>{{.ReceiverName}}</td>
<th scope="row">{{$convertedTime}}</th>
<td>{{.Content}}</td>
<td>{{.SenderName}}</td>
<td>{{.ReceiverName}}</td>
</tr>

{{end}}
Expand All @@ -148,4 +157,79 @@ <h2>User Profile</h2>
</div>
</div>
</div>
<script>

var removedRows = [];

let sentMessagesNode = document.getElementById("sentMessages")
let receivedMessagesNode = document.getElementById("receivedMessages")
let systemMessagesNode = document.getElementById("systemMessages")
let allMessagesNode = document.getElementById("allMessages")

receivedMessagesNode.addEventListener("click", showReceivedMessages)
sentMessagesNode.addEventListener("click", showSentMessages)
allMessagesNode.addEventListener("click", showAllMessages)

function showReceivedMessages(){
let messageRowNode = document.getElementsByName("messageRow");

for (let message of messageRowNode){

for (let delRow of removedRows){
message.parentNode.appendChild(delRow)
}

// Get the value of the name attribute
var nameAttributeValue = message.getAttribute("id");

// Split the value into individual parts
var values = nameAttributeValue.split(" ");

// Compare the values
var senderUserID = values[0];
var loggedID = values[1];

if (senderUserID != loggedID) {
removedRows.push(message)
message.parentNode.removeChild(message);
}
}
}

function showSentMessages() {
let messageRowNode = document.getElementsByName("messageRow");

for (let message of messageRowNode) {

for (let delRow of removedRows) {
message.parentNode.appendChild(delRow)
}

// Get the value of the name attribute
var nameAttributeValue = message.getAttribute("id");

// Split the value into individual parts
var values = nameAttributeValue.split(" ");

// Compare the values
var senderUserID = values[0];
var loggedID = values[1];

if (senderUserID == loggedID) {
removedRows.push(message)
message.parentNode.removeChild(message);
}
}
}

function showAllMessages() {
let messageRowNode = document.getElementsByName("messageRow");
for (let message of messageRowNode) {
for (let delRow of removedRows) {
message.parentNode.appendChild(delRow)
}
}
}

</script>
{{end}}

0 comments on commit 1a442c6

Please sign in to comment.