content notification read working

This commit is contained in:
isUnknown 2024-12-19 10:32:48 +01:00
parent ffb8252808
commit 94c5737245
21 changed files with 317 additions and 163 deletions

View file

@ -1,4 +1,63 @@
Comments:
Comments:
-
location:
page:
uri: >
projects/miss-dior-blooming-bouquet/proposal
title: Offre commerciale
project:
title: Miss Dior Blooming Bouquet
uri: projects/miss-dior-blooming-bouquet
dialogUri: '/projects/miss-dior-blooming-bouquet?dialog=proposal&fileIndex=0'
file:
uuid: file://3vTh1tMFeFM2JxaN
url: >
http://localhost:8888/media/pages/projects/miss-dior-blooming-bouquet/proposal/788ddebfe3-1731941917/des-textos-revelent-comment-bfm-sest-mise-au-service-de-sarkozy-le-boss.pdf
position:
pageIndex: 1
x: "57.105131038425"
y: "13.127413127413"
text: un commentaire
author:
name: Adrien Payet
email: adrien.payet@outlook.com
uuid: user://WWjXgPWk
role: admin
date: 2024-12-19T10:26:05+01:00
id: e16a5304-330b-4460-acbd-a6e471f4cda2
type: comment
replies:
-
location:
page:
uri: >
projects/miss-dior-blooming-bouquet/proposal
title: Offre commerciale
project:
title: Miss Dior Blooming Bouquet
uri: projects/miss-dior-blooming-bouquet
dialogUri: '/projects/miss-dior-blooming-bouquet?dialog=proposal&fileIndex=0'
file:
uuid: file://3vTh1tMFeFM2JxaN
url: >
http://localhost:8888/media/pages/projects/miss-dior-blooming-bouquet/proposal/788ddebfe3-1731941917/des-textos-revelent-comment-bfm-sest-mise-au-service-de-sarkozy-le-boss.pdf
parent:
author:
name: Adrien Payet
email: adrien.payet@outlook.com
id: e16a5304-330b-4460-acbd-a6e471f4cda2
position:
pageIndex: 1
text: une réponse
author:
name: Adrien Payet
email: adrien.payet@outlook.com
uuid: user://WWjXgPWk
role: admin
date: 2024-12-19T10:26:09+01:00
id: bc64e066-299d-4d80-a651-2c17482cda2f
type: comment-reply
----

View file

@ -26,7 +26,7 @@ Comments:
date: 2024-12-03T13:42:18+01:00
id: m48g8hrb
type: comment
isRead: false
isread: false
-
location:
page:
@ -53,7 +53,7 @@ Comments:
date: 2024-12-03T13:43:08+01:00
id: m48g9kau
type: comment
isRead: false
isread: false
----

View file

@ -45,9 +45,7 @@ fields:
type: email
disabled: true
date:
type: date
display: DD-MM-YY
disabled: true
isRead:
type: hidden
isread:
type: toggle
disabled: true

View file

@ -26,7 +26,7 @@ return [
'dialogUri' => (string) $dialogUri,
],
'date' => $dateTime->format('Y-m-d\TH:i:sP'),
'text' => "Brief (" . $project->title()->value() . ")",
'text' => "Nouveau brief",
'author' => kirby()->user(),
'id' => Str::uuid(),
'type' => 'content'

View file

@ -8,7 +8,7 @@ class Location
protected ?string $dialogUri = null;
protected ProjectDetails $project;
protected ?FileDetails $file = null;
protected ?string $parentCommentId = null;
protected ?array $parent = null;
public function __construct(array $data)
{
@ -19,19 +19,17 @@ class Location
if (isset($data['file'])) {
$this->file = new FileDetails($data["file"]);
}
if (isset($data["parentCommentId"])) {
$this->parentCommentId();
if (isset($data["parent"])) {
$this->parent = [
"author" => [
"name" => $data["parent"]["author"]["name"],
"email" => $data["parent"]["author"]["email"],
],
"id" => $data["parent"]["id"]
];
}
}
public function setParentCommentId($id) {
$this->parentCommentId = $id;
}
public function parentId() {
return $this->parentCommentId;
}
public function toArray() {
$array = [
"page" => $this->page->toArray(),
@ -46,8 +44,8 @@ class Location
$array["file"] = $this->file;
}
if ($this->parentCommentId) {
$array["parentId"] = $this->parentCommentId;
if ($this->parent) {
$array["parent"] = $this->parent;
}
return $array;

View file

@ -24,28 +24,27 @@ return [
$comments = $file->comments()->isEmpty() == true ? [] : Yaml::decode($file->comments()->value());
$replyData = [
"location" => [
"page" => $page,
"project" => $project,
"dialogUri" => $data->dialogUri,
"file" => $file,
],
"parentId" => $data->parentId,
"position" => [
"pageIndex" => $data->position->pageIndex,
],
"date" => (string) $data->date,
"text" => $data->text,
"author" => kirby()->user(),
"id" => Str::uuid(),
"type" => "comment",
];
$newReply = new Reply($replyData);
foreach ($comments as &$comment) {
if ($comment['id'] === $newReply->parentId()) {
$isParentComment = $comment['id'] === $data->parentId;
if ($isParentComment) {
$replyData = [
"location" => [
"page" => $page,
"project" => $project,
"dialogUri" => $data->dialogUri,
"file" => $file,
"parent" => $comment
],
"position" => [
"pageIndex" => $data->position->pageIndex,
],
"date" => (string) $data->date,
"text" => $data->text,
"author" => kirby()->user(),
"id" => Str::uuid(),
"type" => "comment-reply",
];
$newReply = new Reply($replyData);
$comment['replies'][] = $newReply->toArray();
}
}

View file

@ -6,7 +6,6 @@ use adrienpayet\D2P\data\Author;
use adrienpayet\D2P\data\Position;
class BaseComment {
protected string $type;
protected Location $location;
protected Author $author;
protected string $text;

View file

@ -7,11 +7,6 @@ class Reply extends BaseComment {
public function __construct($data) {
parent::__construct($data);
$this->location->setParentCommentId($data["parentId"]);
}
public function parentId() {
return $this->location->parentId();
}
public function toArray() {

View file

@ -12,7 +12,7 @@ class Notification
protected Author $author;
protected string $date;
protected string $id;
protected string $isRead = "false";
protected string $isread = "false";
protected ?Position $position = null;
@ -33,7 +33,7 @@ class Notification
"author" => $this->author->toArray(),
"date" => $this->date,
"id" => $this->id,
"isRead" => $this->isRead,
"isread" => $this->isread,
];
return $array;

View file

@ -10,7 +10,7 @@ return function($notificationId) {
foreach ($notifications as $key => $notification) {
if (!isset($notification['id'])) continue;
if ($notification['id'] === $notificationId) {
$notifications[$key]['isRead'] = true;
$notifications[$key]['isread'] = "true";
$newNotification = $notifications[$key];
}
}

View file

@ -8,7 +8,7 @@ return function() {
$newNotification = null;
foreach ($notifications as $key => $notification) {
$notifications[$key]['isRead'] = true;
$notifications[$key]['isread'] = true;
}
$updatedUser = $this->update([