mirror of
http://git.carcosa.net/jmcbray/brutaldon.git
synced 2024-11-23 07:13:52 -05:00
Add username hints while typing mentions in compose box
This commit is contained in:
parent
10019b34b0
commit
8615c8f801
@ -223,3 +223,8 @@ input#id_poll_frequency
|
||||
max-width: 256px;
|
||||
|
||||
}
|
||||
|
||||
#username_autocomplete
|
||||
{
|
||||
height: 0;
|
||||
}
|
||||
|
@ -207,3 +207,8 @@ body.has-navbar-fixed-top, html.has-navbar-fixed-top {
|
||||
max-width: 256px;
|
||||
|
||||
}
|
||||
|
||||
#username_autocomplete
|
||||
{
|
||||
height: 0;
|
||||
}
|
||||
|
1
brutaldon/static/css/bulma-tooltip.min.css
vendored
Normal file
1
brutaldon/static/css/bulma-tooltip.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -20,6 +20,12 @@
|
||||
href="{% static 'css/bulma.min.css' %}">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/fork-awesome.min.css' %}">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/bulma-badge.min.css' %}">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/bulma-tooltip.min.css' %}">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/magnific-popup.css' %}">
|
||||
<link rel="stylesheet" href="{% static "css/brutaldon.css" %}">
|
||||
{% else %}
|
||||
<link rel="stylesheet"
|
||||
@ -31,7 +37,7 @@
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/bulma-badge.min.css' %}">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/bulma-badge.min.css' %}">
|
||||
href="{% static 'css/bulma-tooltip.min.css' %}">
|
||||
<link rel="stylesheet"
|
||||
href="{% static 'css/magnific-popup.css' %}">
|
||||
{% endif %}
|
||||
|
8
brutaldon/templates/intercooler/users.html
Normal file
8
brutaldon/templates/intercooler/users.html
Normal file
@ -0,0 +1,8 @@
|
||||
<div id="username_autocomplete">
|
||||
{% if not preferences.theme.is_brutalist %}
|
||||
<div class="tooltip is-tooltip-active is-tooltip-multiline is-tooltip-bottom"
|
||||
data-tooltip="{{ users }}"></div>
|
||||
{% else %}
|
||||
|
||||
{% endif %}
|
||||
</div>
|
@ -17,9 +17,16 @@
|
||||
<div class="field" >
|
||||
<label class="label" >{{ form.status.label }}</label>
|
||||
<div class="control">
|
||||
{% render_field form.status class+="textarea is-primary mousetrap" rows="3" %}
|
||||
<textarea name="status" cols="40" rows="3" class="textarea is-primary mousetrap"
|
||||
required="" id="id_status"
|
||||
ic-post-to="{% url "user_search" %}"
|
||||
ic-trigger-on="keyup changed" ic-trigger-delay="500ms"
|
||||
ic-target="#username_autocomplete">
|
||||
</textarea>
|
||||
<div id="username_autocomplete"></div>
|
||||
</div>
|
||||
<div id="status_count"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="field has-addons">
|
||||
|
@ -39,6 +39,7 @@ urlpatterns = [
|
||||
path('note/next<int:next>', views.note, name='note_next'),
|
||||
path('note/prev/<int:prev>', views.note, name='note_prev'),
|
||||
path('notes_count', views.notes_count, name='notes_count'),
|
||||
path('user_search', views.user_search, name='user_search'),
|
||||
path('settings', views.settings, name='settings'),
|
||||
path('thread/<int:id>', views.thread, name='thread'),
|
||||
path('tags/<tag>', views.tag, name='tag'),
|
||||
|
@ -99,6 +99,26 @@ def notes_count(request):
|
||||
{'notifications': count,
|
||||
'preferences': account.preferences })
|
||||
|
||||
def user_search(request):
|
||||
check = request.POST.get("status", "").split()
|
||||
if len(check):
|
||||
check = check[-1]
|
||||
if len(check) > 1 and check.startswith('@'):
|
||||
check = check[1:]
|
||||
return user_search_inner(request, check)
|
||||
else:
|
||||
check = " "
|
||||
else:
|
||||
check = " "
|
||||
return HttpResponse(check)
|
||||
|
||||
def user_search_inner(request, query):
|
||||
account, mastodon = get_usercontext(request)
|
||||
results = mastodon.search(query)
|
||||
return render(request, 'intercooler/users.html',
|
||||
{'users': "\n".join([ user.acct for user in results.accounts ]),
|
||||
'preferences': account.preferences })
|
||||
|
||||
def timeline(request, timeline='home', timeline_name='Home', max_id=None, since_id=None):
|
||||
account, mastodon = get_usercontext(request)
|
||||
data = mastodon.timeline(timeline, limit=100, max_id=max_id, since_id=since_id)
|
||||
|
15
yarn.lock
15
yarn.lock
@ -5,26 +5,32 @@
|
||||
bulma-extensions@^2.2.2:
|
||||
version "2.2.2"
|
||||
resolved "https://registry.yarnpkg.com/bulma-extensions/-/bulma-extensions-2.2.2.tgz#d46f11d1242a3fdc60a983afaea0b5e6c137362d"
|
||||
integrity sha512-6hV6SiRT7RZD5+scn/462Dz8RURRgxuvlCy+R5LH9U6FLn7Q/sInAA5VdK8c4DKpxZjfsipp72EAKM7yzgzRig==
|
||||
|
||||
bulma@^0.7.1:
|
||||
version "0.7.1"
|
||||
resolved "https://registry.yarnpkg.com/bulma/-/bulma-0.7.1.tgz#73c2e3b2930c90cc272029cbd19918b493fca486"
|
||||
version "0.7.2"
|
||||
resolved "https://registry.yarnpkg.com/bulma/-/bulma-0.7.2.tgz#8e944377b74c7926558830d38d8e19eaf49f5fb6"
|
||||
integrity sha512-6JHEu8U/1xsyOst/El5ImLcZIiE2JFXgvrz8GGWbnDLwTNRPJzdAM0aoUM1Ns0avALcVb6KZz9NhzmU53dGDcQ==
|
||||
|
||||
bulmaswatch@^0.6.2:
|
||||
version "0.6.2"
|
||||
resolved "https://registry.yarnpkg.com/bulmaswatch/-/bulmaswatch-0.6.2.tgz#5d102b1986d5f48d7f45ff68354c5fe367dc1c76"
|
||||
integrity sha512-IMYjMqEnHQ1Yhtzkia3ojeFRvJr8DnLBiDMUuvLcGtJwyaAuZ8AQ4tT3TK21lcnt7cngeM3CKzBtkbQulWQI9w==
|
||||
|
||||
fork-awesome@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/fork-awesome/-/fork-awesome-1.1.0.tgz#771c8fcee6bb3d1481c8394094d4ea1f2d3e4acc"
|
||||
version "1.1.5"
|
||||
resolved "https://registry.yarnpkg.com/fork-awesome/-/fork-awesome-1.1.5.tgz#09370221ad752a5396beb62bcb7bd11dab09a132"
|
||||
integrity sha512-AcyPBje/cBkNjLAqxs301XjWSTLcXyktXjo0zhyrXDiEbTFi48HqBYbcPL0QBdtRHXrEdj+1rR5KublMQDwPwQ==
|
||||
|
||||
intercooler@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/intercooler/-/intercooler-1.2.1.tgz#50e9727ef2643ef7d5130c8e58f2af78098aa01f"
|
||||
integrity sha512-2/UV4RTZltP8tlV16fqu94aum4zO3uTbDcv843qjGInd+Lf2Pfm2gs2gIlCx5fYo6yUSz9cEwqc3r/+SddugMg==
|
||||
|
||||
jquery@^3.3.1:
|
||||
version "3.3.1"
|
||||
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.3.1.tgz#958ce29e81c9790f31be7792df5d4d95fc57fbca"
|
||||
integrity sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==
|
||||
|
||||
magnific-popup@^1.1.0:
|
||||
version "1.1.0"
|
||||
@ -34,3 +40,4 @@ magnific-popup@^1.1.0:
|
||||
mousetrap@^1.6.2:
|
||||
version "1.6.2"
|
||||
resolved "https://registry.yarnpkg.com/mousetrap/-/mousetrap-1.6.2.tgz#caadd9cf886db0986fb2fee59a82f6bd37527587"
|
||||
integrity sha512-jDjhi7wlHwdO6q6DS7YRmSHcuI+RVxadBkLt3KHrhd3C2b+w5pKefg3oj5beTcHZyVFA9Aksf+yEE1y5jxUjVA==
|
||||
|
Loading…
Reference in New Issue
Block a user