Full url in response
This commit is contained in:
2
main.go
2
main.go
@@ -30,6 +30,7 @@ type ShortLinks struct {
|
||||
type setResponse struct {
|
||||
Short string `json:"short"`
|
||||
Domain string `json:"domain"`
|
||||
URL string `json:"url"`
|
||||
}
|
||||
|
||||
type suggestResponse struct {
|
||||
@@ -188,6 +189,7 @@ func (sl *ShortLinks) serveSet(w http.ResponseWriter, r *http.Request) {
|
||||
sendJSON(w, setResponse{
|
||||
Short: short,
|
||||
Domain: sl.getDomain(r.Host),
|
||||
URL: fmt.Sprintf("https://%s/%s", sl.getDomain(r.Host), short),
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -94,49 +94,14 @@ sl-tag::part(base) {
|
||||
Get
|
||||
<sl-tag size="small" pill variant="primary">Value</sl-tag>
|
||||
for
|
||||
<sl-tag size="small" pill variant="primary">short</sl-tag>
|
||||
<sl-tag size="small" pill variant="primary">url</sl-tag>
|
||||
in
|
||||
<sl-tag size="small" pill variant="primary">Contents of URL</sl-tag>
|
||||
</sl-card>
|
||||
|
||||
<sl-card class="card-basic">
|
||||
Set variable
|
||||
<sl-tag size="small" pill variant="primary">short</sl-tag>
|
||||
to
|
||||
<sl-tag size="small" pill variant="primary">Dictionary Value</sl-tag>
|
||||
</sl-card>
|
||||
|
||||
<sl-card class="card-basic">
|
||||
Get
|
||||
<sl-tag size="small" pill variant="primary">Value</sl-tag>
|
||||
for
|
||||
<sl-tag size="small" pill variant="primary">domain</sl-tag>
|
||||
in
|
||||
<sl-tag size="small" pill variant="primary">Contents of URL</sl-tag>
|
||||
</sl-card>
|
||||
|
||||
<sl-card class="card-basic">
|
||||
Set variable
|
||||
<sl-tag size="small" pill variant="primary">domain</sl-tag>
|
||||
to
|
||||
<sl-tag size="small" pill variant="primary">Dictionary Value</sl-tag>
|
||||
</sl-card>
|
||||
|
||||
<sl-card class="card-basic">
|
||||
Combine
|
||||
<sl-tag size="small" pill variant="primary">https://</sl-tag>
|
||||
<sl-tag size="small" pill variant="primary">domain</sl-tag>
|
||||
<sl-tag size="small" pill variant="primary">/</sl-tag>
|
||||
<sl-tag size="small" pill variant="primary">short</sl-tag>
|
||||
<sl-tag size="small" pill variant="neutral">+</sl-tag>
|
||||
with
|
||||
<sl-tag size="small" pill variant="primary">Custom</sl-tag>
|
||||
<sl-tag size="small" pill variant="neutral">Text</sl-tag>
|
||||
</sl-card>
|
||||
|
||||
<sl-card class="card-basic">
|
||||
Share
|
||||
<sl-tag size="small" pill variant="primary">Combined Text</sl-tag>
|
||||
<sl-tag size="small" pill variant="primary">Dictionary Value</sl-tag>
|
||||
<sl-divider></sl-divider>
|
||||
Type:
|
||||
<sl-tag size="small" pill variant="primary">URL</sl-tag>
|
||||
@@ -186,49 +151,14 @@ sl-tag::part(base) {
|
||||
Get
|
||||
<sl-tag size="small" pill variant="primary">Value</sl-tag>
|
||||
for
|
||||
<sl-tag size="small" pill variant="primary">short</sl-tag>
|
||||
<sl-tag size="small" pill variant="primary">url</sl-tag>
|
||||
in
|
||||
<sl-tag size="small" pill variant="primary">Contents of URL</sl-tag>
|
||||
</sl-card>
|
||||
|
||||
<sl-card class="card-basic">
|
||||
Set variable
|
||||
<sl-tag size="small" pill variant="primary">short</sl-tag>
|
||||
to
|
||||
<sl-tag size="small" pill variant="primary">Dictionary Value</sl-tag>
|
||||
</sl-card>
|
||||
|
||||
<sl-card class="card-basic">
|
||||
Get
|
||||
<sl-tag size="small" pill variant="primary">Value</sl-tag>
|
||||
for
|
||||
<sl-tag size="small" pill variant="primary">domain</sl-tag>
|
||||
in
|
||||
<sl-tag size="small" pill variant="primary">Contents of URL</sl-tag>
|
||||
</sl-card>
|
||||
|
||||
<sl-card class="card-basic">
|
||||
Set variable
|
||||
<sl-tag size="small" pill variant="primary">domain</sl-tag>
|
||||
to
|
||||
<sl-tag size="small" pill variant="primary">Dictionary Value</sl-tag>
|
||||
</sl-card>
|
||||
|
||||
<sl-card class="card-basic">
|
||||
Combine
|
||||
<sl-tag size="small" pill variant="primary">https://</sl-tag>
|
||||
<sl-tag size="small" pill variant="primary">domain</sl-tag>
|
||||
<sl-tag size="small" pill variant="primary">/</sl-tag>
|
||||
<sl-tag size="small" pill variant="primary">short</sl-tag>
|
||||
<sl-tag size="small" pill variant="neutral">+</sl-tag>
|
||||
with
|
||||
<sl-tag size="small" pill variant="primary">Custom</sl-tag>
|
||||
<sl-tag size="small" pill variant="neutral">Text</sl-tag>
|
||||
</sl-card>
|
||||
|
||||
<sl-card class="card-basic">
|
||||
Copy
|
||||
<sl-tag size="small" pill variant="primary">Combined Text</sl-tag>
|
||||
<sl-tag size="small" pill variant="primary">Dictionary Value</sl-tag>
|
||||
to clipboard
|
||||
<sl-divider></sl-divider>
|
||||
Type:
|
||||
|
||||
@@ -142,9 +142,9 @@ async function set(short, long) {
|
||||
|
||||
const data = await resp.json();
|
||||
const newShort = data.short;
|
||||
const newDomain = data.domain;
|
||||
const newURL = data.url;
|
||||
|
||||
setShortItem(newShort, newDomain, 'check-square');
|
||||
setShortItem(newShort, newURL, 'check-square');
|
||||
|
||||
// Only set the icons if we were actually setting from these inputs
|
||||
if (document.getElementById('short').value == short && document.getElementById('long').value == long) {
|
||||
@@ -155,7 +155,7 @@ async function set(short, long) {
|
||||
// Only set the clipboard if the user didn't change the inputs
|
||||
if (document.getElementById('short').value == oldShort && document.getElementById('long').value == oldLong) {
|
||||
try {
|
||||
await navigator.clipboard.writeText(`${window.location.protocol}//${newDomain}/${newShort}`);
|
||||
await navigator.clipboard.writeText(newURL);
|
||||
} catch (err) {
|
||||
console.log(err);
|
||||
}
|
||||
@@ -190,7 +190,7 @@ async function set(short, long) {
|
||||
}
|
||||
}
|
||||
|
||||
function setShortItem(short, domain, icon) {
|
||||
function setShortItem(short, url, icon) {
|
||||
const tree = document.getElementById('tree');
|
||||
|
||||
for (const item of tree.children) {
|
||||
@@ -203,9 +203,9 @@ function setShortItem(short, domain, icon) {
|
||||
item.appendChild(document.createElement('sl-icon')).setAttribute('name', icon);
|
||||
item.appendChild(document.createTextNode(short));
|
||||
|
||||
if (domain != null) {
|
||||
if (url != null) {
|
||||
item.addEventListener('click', () => {
|
||||
navigator.clipboard.writeText(`${window.location.protocol}//${domain}/${short}`);
|
||||
navigator.clipboard.writeText(url);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user