diff options
Diffstat (limited to 'src/web/_views/modal/new_post.php')
-rw-r--r-- | src/web/_views/modal/new_post.php | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/web/_views/modal/new_post.php b/src/web/_views/modal/new_post.php new file mode 100644 index 0000000..50b9b84 --- /dev/null +++ b/src/web/_views/modal/new_post.php @@ -0,0 +1,59 @@ +<?php /* Copyright (c) 2024 Freya Murphy */ ?> +<?php /* vi: syntax=php */ ?> +<?php + $user = $this->main->user(); +?> +<form id="new-post-form"> +<div class="modal-content new-post-modal"> + <div class="row"> + <?php $this->view('template/pfp', array('user' => $user))?> + <div class="col ml"> + <strong><?=$user['first_name'] . ' ' . $user['last_name']?></strong> + <span class="dim"><?=lang('now')?></span> + </div> + </div> + <textarea + type="text" + name="content" + id="new-post-content" + placeholder="<?=lang('action_new_post_text', sub: [$user['first_name']])?>" + ></textarea> +</div> +<div class="modal-footer"> + <?=ilang('action_submit', + id: 'new-post-submit', + class: 'btn btn-wide btn-submit', + attrs: array('type' => 'submit'), + button: TRUE + )?> +</div> +</form> +<script> + $('#new-post-form').submit(function(e) { + e.preventDefault(); + let content = $('#new-post-content').val(); + let me = $(this); + + const getPost = function(data) { + if (data) { + $('#post-container').prepend(data); + } + me.closest('.modal-container').remove(); + } + + const onPost = function(data) { + let id = data[0].id; + $.get({ + url: '/_util/post/post?id=' + id, + success: getPost + }); + } + + $.ajax({ + url: '/api/post', + method: 'POST', + data: JSON.stringify({ content }), + success: onPost + }); + }); +</script> |