Compare commits

...

2 Commits

Author SHA1 Message Date
bf51819cbc sage_stream back in business 2023-05-20 00:34:10 +02:00
a69ed2677a Searchbar js code 2023-05-19 21:21:31 +02:00
6 changed files with 27 additions and 6 deletions

View File

@ -1,6 +1,7 @@
from django.urls import path
from django.urls import path, include
from . import views
urlpatterns = [
path('', views.videoAPI),
path('search/', views.searchAPI),
path('', include('sage_stream.api.urls')),
]

View File

@ -5,7 +5,7 @@ from core.models import Video
from core.serializers import VideoSerializer
@api_view(['GET'])
def videoAPI(request):
def searchAPI(request):
q = request.GET.get('q', '')
l = request.GET.get('limit', '6')
try:

View File

@ -51,6 +51,7 @@
</li>
</ul>
<div class="float-right" style="width:100%">
<form class="form-inline ml-0 ml-md-3 float-right">
<div class="input-group input-group-sm">
<input class="form-control form-control-navbar"
@ -58,6 +59,9 @@
placeholder="Search"
aria-label="Search"
id="searchinput">
<!--
<div id="searchsuggestions"></div>
-->
<div class="input-group-append">
<button class="btn btn-navbar" type="submit">
<i class="fas fa-search"></i>
@ -65,6 +69,7 @@
</div>
</div>
</form>
</div>
</div>
</div>

View File

@ -40,7 +40,7 @@ INSTALLED_APPS = [
'django.contrib.messages',
'django.contrib.staticfiles',
'rest_framework',
#'sage_stream',
'sage_stream',
'core'
]

View File

@ -23,6 +23,7 @@ urlpatterns = [
path('auth/', include('django.contrib.auth.urls')),
path('', include('core.urls')),
path('api/', include('api.urls')),
#path('api/', include('sage_stream.api.urls')),
]
if settings.DEBUG:

View File

@ -1,13 +1,27 @@
/*
const searchinput = document.querySelector("#searchinput");
const searchsuggestions = document.querySelector("#searchsuggestions");
searchinput.addEventListener("input", (e) => {
q(e.target.value);
});
async function q(s) {
try {
const response = await fetch("http://localhost:8000/api/?q=" + s);
const response = await fetch("/api/?q=" + s);
const result = await response.json();
console.log("Success: " + JSON.stringify(result));
setSuggestions(searchsuggestions, result);
} catch(error) {
console.log("Error: " + error);
}
}
function setSuggestions(o, s) {
const newSuggestions = [];
for (const vid of s) {
const newSugg = document.createElement("a");
newSugg.setAttribute("href", "/view/" + vid.id);
newSugg.insertAdjacentText("afterbegin", vid.name + " " + vid.id);
newSuggestions.push(newSugg);
}
o.replaceChildren(...newSuggestions);
}
*/