Fix page titles for custom site name

- Fixes #113
This commit is contained in:
Dessalines 2019-06-02 18:35:46 -07:00
parent 107765619a
commit ab9659c2e2
15 changed files with 17 additions and 19 deletions

View File

@ -46,7 +46,7 @@ export class Communities extends Component<any, CommunitiesState> {
} }
componentDidMount() { componentDidMount() {
document.title = "Communities - Lemmy"; document.title = `Communities - ${WebSocketService.Instance.site.name}`;
} }
// Necessary for back button for some reason // Necessary for back button for some reason

View File

@ -200,7 +200,7 @@ export class Community extends Component<any, State> {
this.state.community = res.community; this.state.community = res.community;
this.state.moderators = res.moderators; this.state.moderators = res.moderators;
this.state.admins = res.admins; this.state.admins = res.admins;
document.title = `/c/${this.state.community.name} - Lemmy`; document.title = `/c/${this.state.community.name} - ${WebSocketService.Instance.site.name}`;
this.setState(this.state); this.setState(this.state);
this.fetchPosts(); this.fetchPosts();
} else if (op == UserOperation.EditCommunity) { } else if (op == UserOperation.EditCommunity) {

View File

@ -1,6 +1,7 @@
import { Component } from 'inferno'; import { Component } from 'inferno';
import { CommunityForm } from './community-form'; import { CommunityForm } from './community-form';
import { Community } from '../interfaces'; import { Community } from '../interfaces';
import { WebSocketService } from '../services';
export class CreateCommunity extends Component<any, any> { export class CreateCommunity extends Component<any, any> {
@ -10,7 +11,7 @@ export class CreateCommunity extends Component<any, any> {
} }
componentDidMount() { componentDidMount() {
document.title = "Create Community - Lemmy"; document.title = `Create Community - ${WebSocketService.Instance.site.name}`;
} }
render() { render() {

View File

@ -1,5 +1,6 @@
import { Component } from 'inferno'; import { Component } from 'inferno';
import { PostForm } from './post-form'; import { PostForm } from './post-form';
import { WebSocketService } from '../services';
export class CreatePost extends Component<any, any> { export class CreatePost extends Component<any, any> {
@ -9,7 +10,7 @@ export class CreatePost extends Component<any, any> {
} }
componentDidMount() { componentDidMount() {
document.title = "Create Post - Lemmy"; document.title = `Create Post - ${WebSocketService.Instance.site.name}`;
} }
render() { render() {

View File

@ -49,7 +49,7 @@ export class Inbox extends Component<any, InboxState> {
} }
componentDidMount() { componentDidMount() {
document.title = `/u/${UserService.Instance.user.username} Inbox - Lemmy`; document.title = `/u/${UserService.Instance.user.username} Inbox - ${WebSocketService.Instance.site.name}`;
} }
render() { render() {

View File

@ -50,7 +50,7 @@ export class Login extends Component<any, State> {
} }
componentDidMount() { componentDidMount() {
document.title = "Login - Lemmy"; document.title = `Login - ${WebSocketService.Instance.site.name}`;
} }
render() { render() {

View File

@ -101,10 +101,6 @@ export class Main extends Component<any, MainState> {
this.subscription.unsubscribe(); this.subscription.unsubscribe();
} }
componentDidMount() {
document.title = "Lemmy";
}
// Necessary for back button for some reason // Necessary for back button for some reason
componentWillReceiveProps(nextProps: any) { componentWillReceiveProps(nextProps: any) {
if (nextProps.history.action == 'POP') { if (nextProps.history.action == 'POP') {
@ -377,6 +373,8 @@ export class Main extends Component<any, MainState> {
this.state.site.site = res.site; this.state.site.site = res.site;
this.state.site.banned = res.banned; this.state.site.banned = res.banned;
this.setState(this.state); this.setState(this.state);
document.title = `${WebSocketService.Instance.site.name}`;
} else if (op == UserOperation.EditSite) { } else if (op == UserOperation.EditSite) {
let res: SiteResponse = msg; let res: SiteResponse = msg;
this.state.site.site = res.site; this.state.site.site = res.site;

View File

@ -45,7 +45,7 @@ export class Modlog extends Component<any, ModlogState> {
} }
componentDidMount() { componentDidMount() {
document.title = "Modlog - Lemmy"; document.title = `Modlog - ${WebSocketService.Instance.site.name}`;
} }
setCombined(res: GetModlogResponse) { setCombined(res: GetModlogResponse) {

View File

@ -253,7 +253,7 @@ export class Post extends Component<any, PostState> {
this.state.moderators = res.moderators; this.state.moderators = res.moderators;
this.state.admins = res.admins; this.state.admins = res.admins;
this.state.loading = false; this.state.loading = false;
document.title = `${this.state.post.name} - Lemmy`; document.title = `${this.state.post.name} - ${WebSocketService.Instance.site.name}`;
this.setState(this.state); this.setState(this.state);
} else if (op == UserOperation.CreateComment) { } else if (op == UserOperation.CreateComment) {
let res: CommentResponse = msg; let res: CommentResponse = msg;

View File

@ -52,7 +52,7 @@ export class Search extends Component<any, SearchState> {
} }
componentDidMount() { componentDidMount() {
document.title = "Search - Lemmy"; document.title = `Search - ${WebSocketService.Instance.site.name}`;
} }
render() { render() {
@ -250,7 +250,7 @@ export class Search extends Component<any, SearchState> {
let res: SearchResponse = msg; let res: SearchResponse = msg;
this.state.searchResponse = res; this.state.searchResponse = res;
this.state.loading = false; this.state.loading = false;
document.title = `Search - ${this.state.q} - Lemmy`; document.title = `Search - ${this.state.q} - ${WebSocketService.Instance.site.name}`;
window.scrollTo(0,0); window.scrollTo(0,0);
this.setState(this.state); this.setState(this.state);

View File

@ -1,4 +1,5 @@
import { Component } from 'inferno'; import { Component } from 'inferno';
import { WebSocketService } from '../services';
let general = let general =
[ [
@ -17,7 +18,7 @@ export class Sponsors extends Component<any, any> {
} }
componentDidMount() { componentDidMount() {
document.title = "Sponsors - Lemmy"; document.title = `Sponsors - ${WebSocketService.Instance.site.name}`;
} }
render() { render() {

View File

@ -341,7 +341,7 @@ export class User extends Component<any, UserState> {
this.state.moderates = res.moderates; this.state.moderates = res.moderates;
this.state.posts = res.posts; this.state.posts = res.posts;
this.state.loading = false; this.state.loading = false;
document.title = `/u/${this.state.user.name} - Lemmy`; document.title = `/u/${this.state.user.name} - ${WebSocketService.Instance.site.name}`;
window.scrollTo(0,0); window.scrollTo(0,0);
this.setState(this.state); this.setState(this.state);
} else if (op == UserOperation.EditComment) { } else if (op == UserOperation.EditComment) {

View File

@ -6,7 +6,6 @@
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="shortcut icon" type="image/svg+xml" href="/static/assets/favicon.svg" /> <link rel="shortcut icon" type="image/svg+xml" href="/static/assets/favicon.svg" />
<link rel="apple-touch-icon" href="/static/assets/apple-touch-icon.png" /> <link rel="apple-touch-icon" href="/static/assets/apple-touch-icon.png" />
<title>Lemmy</title>
<link rel="stylesheet" href="/static/assets/libs/balloon-css/balloon.min.css"> <link rel="stylesheet" href="/static/assets/libs/balloon-css/balloon.min.css">
<script src="/static/assets/libs/sortable/sortable.min.js"></script> <script src="/static/assets/libs/sortable/sortable.min.js"></script>
</head> </head>

View File

@ -16,7 +16,6 @@ export class UserService {
} else { } else {
console.log('No JWT cookie found.'); console.log('No JWT cookie found.');
} }
} }
public login(res: LoginResponse) { public login(res: LoginResponse) {

View File

@ -8,7 +8,6 @@ import { UserService } from './';
export class WebSocketService { export class WebSocketService {
private static _instance: WebSocketService; private static _instance: WebSocketService;
public subject: Subject<any>; public subject: Subject<any>;
public instanceName: string;
public site: Site; public site: Site;
public admins: Array<UserView>; public admins: Array<UserView>;