ux: Me becomes Settings; backend: fix special usernames (me, block...)
This commit is contained in:
parent
0bb32c5449
commit
a24451d140
@ -9,7 +9,7 @@ class MyProfile extends Profile
|
|||||||
*/
|
*/
|
||||||
constructor (client)
|
constructor (client)
|
||||||
{
|
{
|
||||||
super(client, "me")
|
super(client, "../me")
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -19,7 +19,7 @@ class MyProfile extends Profile
|
|||||||
*/
|
*/
|
||||||
async change_avatar(form_data)
|
async change_avatar(form_data)
|
||||||
{
|
{
|
||||||
let response = await this.client._patch_file(`/api/profiles/me`, form_data);
|
let response = await this.client._patch_file(`/api/profiles/settings`, form_data);
|
||||||
let response_data = await response.json()
|
let response_data = await response.json()
|
||||||
|
|
||||||
return response_data;
|
return response_data;
|
||||||
@ -27,4 +27,4 @@ class MyProfile extends Profile
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export {MyProfile}
|
export {MyProfile}
|
||||||
|
@ -150,7 +150,7 @@ class Client
|
|||||||
async _patch_json(uri, data)
|
async _patch_json(uri, data)
|
||||||
{
|
{
|
||||||
let response = await fetch(this._url + uri, {
|
let response = await fetch(this._url + uri, {
|
||||||
ethod: "PATCH",
|
method: "PATCH",
|
||||||
headers: {
|
headers: {
|
||||||
"X-CSRFToken": getCookie("csrftoken"),
|
"X-CSRFToken": getCookie("csrftoken"),
|
||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json",
|
||||||
|
@ -42,7 +42,7 @@ class Profile
|
|||||||
{
|
{
|
||||||
let response;
|
let response;
|
||||||
if (this.username !== undefined)
|
if (this.username !== undefined)
|
||||||
response = await this.client._get(`/api/profiles/${this.username}`);
|
response = await this.client._get(`/api/profiles/user/${this.username}`);
|
||||||
else
|
else
|
||||||
response = await this.client._get(`/api/profiles/id/${this.id}`);
|
response = await this.client._get(`/api/profiles/id/${this.id}`);
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ import GameView from "./views/GameView.js";
|
|||||||
import PageNotFoundView from './views/PageNotFoundView.js'
|
import PageNotFoundView from './views/PageNotFoundView.js'
|
||||||
|
|
||||||
import AbstractRedirectView from "./views/abstracts/AbstractRedirectView.js";
|
import AbstractRedirectView from "./views/abstracts/AbstractRedirectView.js";
|
||||||
import MeView from "./views/MeView.js";
|
import SettingsView from "./views/SettingsView.js";
|
||||||
import ProfilePageView from "./views/ProfilePageView.js";
|
import ProfilePageView from "./views/ProfilePageView.js";
|
||||||
import MatchMakingView from "./views/MatchMakingView.js";
|
import MatchMakingView from "./views/MatchMakingView.js";
|
||||||
import TournamentPageView from "./views/tournament/TournamentPageView.js";
|
import TournamentPageView from "./views/tournament/TournamentPageView.js";
|
||||||
@ -82,7 +82,7 @@ const router = async(uri) => {
|
|||||||
{ path: "/register", view: RegisterView },
|
{ path: "/register", view: RegisterView },
|
||||||
{ path: "/search", view: Search },
|
{ path: "/search", view: Search },
|
||||||
{ path: "/home", view: HomeView },
|
{ path: "/home", view: HomeView },
|
||||||
{ path: "/me", view: MeView },
|
{ path: "/settings", view: SettingsView },
|
||||||
{ path: "/matchmaking", view: MatchMakingView },
|
{ path: "/matchmaking", view: MatchMakingView },
|
||||||
{ path: "/games/offline", view: GameOfflineView },
|
{ path: "/games/offline", view: GameOfflineView },
|
||||||
{ path: "/games/:id", view: GameView },
|
{ path: "/games/:id", view: GameView },
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
"homeTitle": "Home",
|
"homeTitle": "Home",
|
||||||
"homeOnline": "Play online",
|
"homeOnline": "Play online",
|
||||||
"homeOffline": "Play offline",
|
"homeOffline": "Play offline",
|
||||||
"homeMe": "Me",
|
"homeSettings": "Settings",
|
||||||
"homeLogout": "Logout",
|
"homeLogout": "Logout",
|
||||||
"loginWindowTitle": "Login",
|
"loginWindowTitle": "Login",
|
||||||
"loginFormTitle": "Login",
|
"loginFormTitle": "Login",
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
"homeTitle": "Maison",
|
"homeTitle": "Maison",
|
||||||
"homeOnline": "Jouer en ligne",
|
"homeOnline": "Jouer en ligne",
|
||||||
"homeOffline": "Jouer hors ligne",
|
"homeOffline": "Jouer hors ligne",
|
||||||
"homeMe": "Moi",
|
"homeSettings": "Paramètres",
|
||||||
"homeLogout": "Déconnexion",
|
"homeLogout": "Déconnexion",
|
||||||
"loginWindowTitle": "Connexion",
|
"loginWindowTitle": "Connexion",
|
||||||
"loginFormTitle": "Connexion",
|
"loginFormTitle": "Connexion",
|
||||||
|
@ -12,7 +12,7 @@ export default class extends AbstractAuthentificateView {
|
|||||||
<h1>${lang.get('homeTitle', 'Home')}</h1>
|
<h1>${lang.get('homeTitle', 'Home')}</h1>
|
||||||
<a href="/matchmaking" data-link>${lang.get('homeOnline', 'Play online')}</a>
|
<a href="/matchmaking" data-link>${lang.get('homeOnline', 'Play online')}</a>
|
||||||
<a href="/games/offline" data-link>${lang.get('homeOffline', 'Play offline')}</a>
|
<a href="/games/offline" data-link>${lang.get('homeOffline', 'Play offline')}</a>
|
||||||
<a href="/me" data-link>${lang.get('homeMe', 'Me')}</a>
|
<a href="/settings" data-link>${lang.get('homeSettings', 'Settings')}</a>
|
||||||
<a href="/logout" data-link>${lang.get('homeLogout', 'Logout')}</a>
|
<a href="/logout" data-link>${lang.get('homeLogout', 'Logout')}</a>
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ export default class extends AbstractAuthentificateView
|
|||||||
{
|
{
|
||||||
constructor(params)
|
constructor(params)
|
||||||
{
|
{
|
||||||
super(params, "Me");
|
super(params, "Settings");
|
||||||
}
|
}
|
||||||
|
|
||||||
async postInit()
|
async postInit()
|
||||||
@ -95,7 +95,7 @@ export default class extends AbstractAuthentificateView
|
|||||||
async getHtml()
|
async getHtml()
|
||||||
{
|
{
|
||||||
return /* HTML */ `
|
return /* HTML */ `
|
||||||
<link rel="stylesheet" href="/static/css/me.css">
|
<link rel="stylesheet" href="/static/css/settings.css">
|
||||||
<h1>ME</h1>
|
<h1>ME</h1>
|
||||||
<div id="main">
|
<div id="main">
|
||||||
<div class="avatar">
|
<div class="avatar">
|
@ -36,7 +36,7 @@
|
|||||||
</a>
|
</a>
|
||||||
<div class='dropdown-menu dropdown-menu-end position-absolute text-end px-2' style='min-width: 100px'>
|
<div class='dropdown-menu dropdown-menu-end position-absolute text-end px-2' style='min-width: 100px'>
|
||||||
<a data-i18n='navbarProfile' id='myProfileLink' href='' class="dropdow-item nav-link pt-1" data-link>My Profile</a>
|
<a data-i18n='navbarProfile' id='myProfileLink' href='' class="dropdow-item nav-link pt-1" data-link>My Profile</a>
|
||||||
<a data-i18n='navbarSettings' href="/me" class="dropdow-item nav-link pt-0" data-link>Settings</a>
|
<a data-i18n='navbarSettings' href="/settings" class="dropdow-item nav-link pt-0" data-link>Settings</a>
|
||||||
<hr class='dropdown-separator my-auto mx-1'></hr>
|
<hr class='dropdown-separator my-auto mx-1'></hr>
|
||||||
<a data-i18n='navbarLogout' href="/logout" class="dropdow-item nav-link pb-1" data-link>Logout</a>
|
<a data-i18n='navbarLogout' href="/logout" class="dropdow-item nav-link pb-1" data-link>Logout</a>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,17 +1,16 @@
|
|||||||
from django.urls import path
|
from django.urls import path
|
||||||
from django.conf import settings
|
|
||||||
from django.conf.urls.static import static
|
|
||||||
|
|
||||||
from . import viewsets
|
from . import viewsets
|
||||||
from . import views
|
from . import views
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path("me", viewsets.MyProfileViewSet.as_view({'patch': 'partial_update', 'get': 'retrieve'}), name="my_profile_page"),
|
path("settings", viewsets.MyProfileViewSet.as_view({'patch': 'partial_update'}), name="my_profile_page"),
|
||||||
|
path("me", viewsets.MyProfileViewSet.as_view({'get': 'retrieve'}), name="my_profile_page"),
|
||||||
path("", viewsets.ProfileViewSet.as_view({'get': 'list'}), name="profiles_list"),
|
path("", viewsets.ProfileViewSet.as_view({'get': 'list'}), name="profiles_list"),
|
||||||
path("block", views.BlocksView.as_view(), name="block_page"),
|
path("block", views.BlocksView.as_view(), name="block_page"),
|
||||||
path("block/<int:pk>", views.BlockView.as_view(), name="block_page"),
|
path("block/<int:pk>", views.BlockView.as_view(), name="block_page"),
|
||||||
path("friend", views.FriendsView.as_view(), name="friend_page"),
|
path("friend", views.FriendsView.as_view(), name="friend_page"),
|
||||||
path("<str:username>", viewsets.ProfileViewSet.as_view({'get': 'retrieve'}), name="profile_page"),
|
path("user/<str:username>", viewsets.ProfileViewSet.as_view({'get': 'retrieve'}), name="profile_page"),
|
||||||
path("id/<int:pk>", viewsets.ProfileViewSet.as_view({'get': 'retrieve_id'}), name="profile_page"),
|
path("id/<int:pk>", viewsets.ProfileViewSet.as_view({'get': 'retrieve_id'}), name="profile_page"),
|
||||||
|
|
||||||
] + static("/staqic/avatars/", document_root="./avatars")
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user