2022-05-04 23:09:46 +00:00
{% extends "settings.html" %}
2022-11-06 07:02:15 +00:00
{% block pagetitle %}Apps/Bots - {{SITE_NAME}}{% endblock %}
2022-05-04 23:09:46 +00:00
{% block content %}
< div class = "row" >
< div class = "col col-lg-8" >
< div class = "settings" >
2022-10-29 00:52:11 +00:00
< h5 > < a href = "/api" > API Guide< / a > < / h5 >
2022-11-06 06:35:49 +00:00
< h5 class = "mt-1" > Your API Applications< / h5 >
2022-05-04 23:09:46 +00:00
{% for app in v.applications if app.client_id %}
< form id = "edit-app-{{app.id}}" action = "/edit_app/{{app.id}}" method = "post" >
< div class = "settings-section rounded" >
< div class = "d-lg-flex" >
< div class = "title w-lg-25" >
2022-11-06 06:35:49 +00:00
< label for = "name-{{app.id}}" > {{app.app_name}}< / label >
< / div >
< div class = "body w-lg-100" >
2022-05-04 23:09:46 +00:00
< input type = "hidden" name = "formkey" value = "{{v.formkey}}" >
< label for = "edit-{{app.id}}-name" class = "mb-0 w-lg-25" > App Name< / label >
< input autocomplete = "off" id = "edit-{{app.id}}-name" class = "form-control" type = "text" name = "name" value = "{{app.app_name}}" >
{% if app.client_id %}
< label for = "edit-{{app.id}}-client-id" class = "mb-0 w-lg-25" > Client ID< / label >
< input autocomplete = "off" id = "edit-{{app.id}}-client-id" class = "form-control copy-link" type = "text" name = "name" value = "{{app.client_id}}" data-clipboard-text = "{{app.client_id}}" readonly = "readonly" >
{% endif %}
< label for = "edit-{{app.id}}-redirect" class = "mb-0 w-lg-25" > Redirect URI< / label >
< input autocomplete = "off" id = "edit-{{app.id}}-redirect" class = "form-control" type = "text" name = "redirect_uri" value = "{{app.redirect_uri}}" >
< label for = "edit-{{app.id}}-desc" class = "mb-0 w-lg-25" > Description< / label >
< textarea rows = "10" autocomplete = "off" form = "edit-app-{{app.id}}" class = "form-control" name = "description" id = "edit-{{app.id}}-desc" maxlength = "256" > {{app.description}}< / textarea >
< / div >
< / div >
< div class = "footer" >
< div class = "d-flex" >
2022-11-04 21:44:37 +00:00
< button type = "button" class = "btn btn-secondary ml-auto" onclick = "postToastReload(this,'/reroll/{{app.id}}')" > Reroll Client ID< / button >
2022-06-24 02:53:31 +00:00
< input type = "submit" onclick = "disable(this)" class = "btn btn-primary ml-2" value = "Save Changes" >
2022-05-04 23:09:46 +00:00
< / div >
< / div >
< / div >
< / form >
{% else %}
< p > None< / p >
{% endfor %}
2022-10-29 00:52:11 +00:00
< h5 > API Applications Awaiting Approval< / h5 >
2022-05-04 23:09:46 +00:00
{% for app in v.applications if not app.client_id %}
< form id = "edit-app-{{app.id}}" action = "/edit_app/{{app.id}}" method = "post" >
< div class = "settings-section rounded" >
< div class = "d-lg-flex" >
< div class = "title w-lg-25" >
2022-11-06 06:35:49 +00:00
< label for = "name-{{app.id}}" > {{app.app_name}}< / label >
< / div >
< div class = "body w-lg-100" >
2022-05-04 23:09:46 +00:00
< input type = "hidden" name = "formkey" value = "{{v.formkey}}" >
< label for = "edit-{{app.id}}-name" class = "mb-0 w-lg-25" > App Name< / label >
2022-09-12 17:40:53 +00:00
< input autocomplete = "off" id = "edit-{{app.id}}-name" class = "form-control" type = "text" name = "name" value = "{{app.app_name}}" maxlength = "50" required >
2022-05-04 23:09:46 +00:00
{% if app.client_id %}
2022-09-12 17:40:53 +00:00
< label for = "edit-{{app.id}}-client-id" class = "mb-0 w-lg-25" > Client ID< / label >
< input autocomplete = "off" id = "edit-{{app.id}}-client-id" class = "form-control copy-link" type = "text" name = "name" value = "{{app.client_id}}" data-clipboard-text = "{{app.client_id}}" readonly >
2022-05-04 23:09:46 +00:00
{% endif %}
< label for = "edit-{{app.id}}-redirect" class = "mb-0 w-lg-25" > Redirect URI< / label >
2022-09-12 17:40:53 +00:00
< input autocomplete = "off" id = "edit-{{app.id}}-redirect" class = "form-control" type = "text" name = "redirect_uri" value = "{{app.redirect_uri}}" maxlength = "4096" required >
2022-05-04 23:09:46 +00:00
< label for = "edit-{{app.id}}-desc" class = "mb-0 w-lg-25" > Description< / label >
2022-09-12 17:40:53 +00:00
< textarea rows = "10" autocomplete = "off" form = "edit-app-{{app.id}}" class = "form-control" name = "description" id = "edit-{{app.id}}-desc" maxlength = "256" required > {{app.description}}< / textarea >
2022-05-04 23:09:46 +00:00
< / div >
< / div >
< div class = "footer" >
< div class = "d-flex" >
2022-06-24 02:53:31 +00:00
< input type = "submit" onclick = "disable(this)" class = "btn btn-primary ml-auto" value = "Save Changes" >
2022-05-04 23:09:46 +00:00
< / div >
< / div >
< / div >
< / form >
{% else %}
< p > None< / p >
{% endfor %}
2022-10-29 00:52:11 +00:00
< h5 > Your Authorized Applications< / h5 >
2022-05-04 23:09:46 +00:00
{% for auth in v.authorizations %}
< div id = "auth-{{auth.id}}" class = "settings-section rounded" >
< div class = "d-lg-flex" >
< div class = "title w-lg-25" >
2022-11-06 06:35:49 +00:00
< label for = "name-{{app.id}}" > {{auth.application.app_name}}< / label >
< / div >
< div class = "body w-lg-100" >
2022-05-04 23:09:46 +00:00
< input type = "hidden" name = "formkey" value = "{{v.formkey}}" >
< label class = "mb-0 w-lg-25" > Description< / label >
< textarea autocomplete = "off" class = "form-control" name = "description" maxlength = "256" readonly = "readonly" > {{auth.application.description}}< / textarea >
< / div >
< / div >
< div class = "footer" >
< div class = "d-flex" >
2022-11-04 21:44:37 +00:00
< button type = "button" class = "btn btn-primary ml-auto text-white" onclick = "postToastReload(this,'/rescind/{{auth.application.id}}')" > Revoke< / button >
2022-05-04 23:09:46 +00:00
< / div >
< / div >
< / div >
{% else %}
< p > None< / p >
{% endfor %}
< h2 > Request API Keys< / h2 >
< form id = "api-key-request-form" action = "/api_keys" method = "post" >
< div class = "settings-section rounded" >
< div class = "d-lg-flex" >
< div class = "body w-lg-100" >
< input type = "hidden" name = "formkey" value = "{{v.formkey}}" >
< label for = "form-username" > Username< / label >
< input autocomplete = "off" type = "text" id = "form-username" class = "form-control" name = "username" value = "{{v.username}}" readonly >
< label for = "form-appname" > Application Name< / label >
2022-09-12 17:40:53 +00:00
< input autocomplete = "off" type = "text" id = "form-appname" class = "form-control" name = "name" maxlength = "50" required >
2022-05-04 23:09:46 +00:00
< label for = "form-redirect" > Redirect URI< / label >
2022-09-12 17:40:53 +00:00
< input autocomplete = "off" type = "text" id = "form-redirect" class = "form-control" name = "redirect_uri" placeholder = "Custom URI scheme can be used. Separate multiple options with comma." maxlength = "4096" required >
2022-05-04 23:09:46 +00:00
< label for = "form-username" > Description< / label >
< textarea autocomplete = "off" form = "api-key-request-form" id = "form-desc" class = "form-control" name = "description" maxlength = "256" required > < / textarea >
< / div >
< / div >
< div class = "footer" >
< div class = "d-flex" >
2022-06-24 02:53:31 +00:00
< input type = "submit" onclick = "disable(this)" class = "btn btn-primary ml-auto" value = "Request API Key" >
2022-05-04 23:09:46 +00:00
< / div >
< / div >
< / div >
< / form >
< / div >
< / div >
< / div >
{% endblock %}
{% block clipboard %}
< div class = "toast clipboard" id = "toast-success" role = "alert" aria-live = "assertive" aria-atomic = "true" data-bs-animation = "true" data-bs-autohide = "true" data-bs-delay = "5000" >
< div class = "toast-body text-center" >
< i class = "fas fa-check-circle text-success mr-2" > < / i > Token copied to clipboard
< / div >
< / div >
{% endblock %}