mirror of
https://github.com/rikkaneko/paste.git
synced 2025-06-08 16:43:29 +00:00
Add view paste detail support (web)
Add json response on settings (paste) Signed-off-by: Joe Ma <rikkaneko23@gmail.com>
This commit is contained in:
parent
0f89088486
commit
32b4da79a6
3 changed files with 33 additions and 10 deletions
|
@ -278,7 +278,8 @@ export default {
|
||||||
switch (method) {
|
switch (method) {
|
||||||
case 'GET': {
|
case 'GET': {
|
||||||
const need_qrcode = searchParams.get('qr') === '1' || headers.get('x-qr') === '1';
|
const need_qrcode = searchParams.get('qr') === '1' || headers.get('x-qr') === '1';
|
||||||
return await get_paste_info(uuid, descriptor, env, is_browser, need_qrcode);
|
const reply_json = searchParams.get('json') === '1' || headers.get('x-json') === '1';
|
||||||
|
return await get_paste_info(uuid, descriptor, env, is_browser, need_qrcode, reply_json);
|
||||||
}
|
}
|
||||||
|
|
||||||
case 'POST': {
|
case 'POST': {
|
||||||
|
|
|
@ -68,7 +68,7 @@ function remove_pop_alert() {
|
||||||
alert.remove();
|
alert.remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
function build_paste_modal(paste_info, show_qrcode = true) {
|
function build_paste_modal(paste_info, show_qrcode = true, saved = true) {
|
||||||
// Show saved modal
|
// Show saved modal
|
||||||
if (!!!paste_info && !!!saved_modal) {
|
if (!!!paste_info && !!!saved_modal) {
|
||||||
console.err('Invalid call to build_paste_modal().');
|
console.err('Invalid call to build_paste_modal().');
|
||||||
|
@ -80,7 +80,6 @@ function build_paste_modal(paste_info, show_qrcode = true) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
saved_modal = null;
|
|
||||||
paste_modal.uuid.text(paste_info.link);
|
paste_modal.uuid.text(paste_info.link);
|
||||||
paste_modal.uuid.prop('href', paste_info.link);
|
paste_modal.uuid.prop('href', paste_info.link);
|
||||||
paste_modal.qrcode.prop('src', paste_info.link_qr);
|
paste_modal.qrcode.prop('src', paste_info.link_qr);
|
||||||
|
@ -95,7 +94,7 @@ function build_paste_modal(paste_info, show_qrcode = true) {
|
||||||
$(`#paste_info_${key}`).text(val ?? '-');
|
$(`#paste_info_${key}`).text(val ?? '-');
|
||||||
});
|
});
|
||||||
let modal = new bootstrap.Modal(paste_modal.modal);
|
let modal = new bootstrap.Modal(paste_modal.modal);
|
||||||
saved_modal = modal;
|
if (saved) saved_modal = modal;
|
||||||
modal.show();
|
modal.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -121,6 +120,7 @@ $(function () {
|
||||||
let show_saved_btn = $('#show_saved_button');
|
let show_saved_btn = $('#show_saved_button');
|
||||||
let go_btn = $('#go_button');
|
let go_btn = $('#go_button');
|
||||||
let go_id = $('#go_paste_id');
|
let go_id = $('#go_paste_id');
|
||||||
|
let view_btn = $('#view_info_button');
|
||||||
|
|
||||||
// Enable bootstrap tooltips
|
// Enable bootstrap tooltips
|
||||||
const tooltip_trigger_list = [].slice.call($('[data-bs-toggle="tooltip"]'));
|
const tooltip_trigger_list = [].slice.call($('[data-bs-toggle="tooltip"]'));
|
||||||
|
@ -231,9 +231,8 @@ $(function () {
|
||||||
body: filtered,
|
body: filtered,
|
||||||
});
|
});
|
||||||
|
|
||||||
const paste_info = await res.json();
|
|
||||||
|
|
||||||
if (res.ok) {
|
if (res.ok) {
|
||||||
|
const paste_info = await res.json();
|
||||||
show_pop_alert('Paste created!', 'alert-success');
|
show_pop_alert('Paste created!', 'alert-success');
|
||||||
pass_input.val('');
|
pass_input.val('');
|
||||||
build_paste_modal(paste_info, show_qrcode);
|
build_paste_modal(paste_info, show_qrcode);
|
||||||
|
@ -266,6 +265,28 @@ $(function () {
|
||||||
}
|
}
|
||||||
window.open(`https://pb.nekoul.com/${uuid}`);
|
window.open(`https://pb.nekoul.com/${uuid}`);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
view_btn.on('click', async function () {
|
||||||
|
const uuid = go_id.val();
|
||||||
|
if (uuid.length !== 4) {
|
||||||
|
show_pop_alert('Invalid Paste ID.', 'alert-warning');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const res = await fetch(`${endpoint}/${uuid}/settings?${new URLSearchParams({json: '1'})}`);
|
||||||
|
if (res.ok) {
|
||||||
|
const paste_info = await res.json();
|
||||||
|
build_paste_modal(paste_info, true);
|
||||||
|
} else {
|
||||||
|
show_pop_alert('Invalid Paste ID.', 'alert-warning');
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
console.log('error', err);
|
||||||
|
show_pop_alert(err.message, 'alert-danger');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function select_input_type(name) {
|
function select_input_type(name) {
|
||||||
|
|
|
@ -29,9 +29,9 @@
|
||||||
<link href="css/paste.css" rel="stylesheet">
|
<link href="css/paste.css" rel="stylesheet">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<nav class="navbar sticky-top navbar-expand-lg navbar-dark bg-dark">
|
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<span class="navbar-brand mb-0 h1">Paste</span>
|
<span class="navbar-brand">Paste</span>
|
||||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar_supported_content"
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbar_supported_content"
|
||||||
aria-controls="navbar_supported_content" aria-expanded="false" aria-label="Toggle navigation">
|
aria-controls="navbar_supported_content" aria-expanded="false" aria-label="Toggle navigation">
|
||||||
<span class="navbar-toggler-icon"></span>
|
<span class="navbar-toggler-icon"></span>
|
||||||
|
@ -48,10 +48,11 @@
|
||||||
<a class="nav-link" href="https://pb.nekoul.com/v1">Switch to old version</a>
|
<a class="nav-link" href="https://pb.nekoul.com/v1">Switch to old version</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<form class="d-flex">
|
<form class="d-flex" role="search">
|
||||||
<input class="form-control me-2" type="search" placeholder="Paste ID" aria-label="go" id="go_paste_id"
|
<input class="form-control me-2" type="search" placeholder="Paste ID" aria-label="go" id="go_paste_id"
|
||||||
data-bs-toggle="tooltip" data-bs-placement="bottom" title="Paste ID should be in 4 characters.">
|
data-bs-toggle="tooltip" data-bs-placement="bottom" title="Paste ID should be in 4 characters.">
|
||||||
<button class="btn btn-outline-success" type="button" id="go_button">Go</button>
|
<button class="btn btn-outline-success me-2" type="button" id="go_button">Go</button>
|
||||||
|
<button class="btn btn-outline-success" type="button" id="view_info_button">Detail</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue