diff --git a/js/public/img/pics/2020-10-06-mobilizon-illustration-A_homepage-1.jpg b/js/public/img/pics/2020-10-06-mobilizon-illustration-A_homepage-1.jpg
deleted file mode 100644
index 547f73af3..000000000
Binary files a/js/public/img/pics/2020-10-06-mobilizon-illustration-A_homepage-1.jpg and /dev/null differ
diff --git a/js/public/img/pics/2020-10-06-mobilizon-illustration-A_homepage-2.jpg b/js/public/img/pics/2020-10-06-mobilizon-illustration-A_homepage-2.jpg
deleted file mode 100644
index ff6ce2f0d..000000000
Binary files a/js/public/img/pics/2020-10-06-mobilizon-illustration-A_homepage-2.jpg and /dev/null differ
diff --git a/js/public/img/pics/homepage_background.png b/js/public/img/pics/homepage_background.png
new file mode 100644
index 000000000..996245a79
Binary files /dev/null and b/js/public/img/pics/homepage_background.png differ
diff --git a/js/src/graphql/admin.ts b/js/src/graphql/admin.ts
index 292ef2414..b93624ebb 100644
--- a/js/src/graphql/admin.ts
+++ b/js/src/graphql/admin.ts
@@ -133,6 +133,7 @@ export const ADMIN_SETTINGS_FRAGMENT = gql`
instanceName
instanceDescription
instanceLongDescription
+ instanceSlogan
contact
instanceTerms
instanceTermsType
@@ -160,6 +161,7 @@ export const SAVE_ADMIN_SETTINGS = gql`
$instanceName: String
$instanceDescription: String
$instanceLongDescription: String
+ $instanceSlogan: String
$contact: String
$instanceTerms: String
$instanceTermsType: InstanceTermsType
@@ -175,6 +177,7 @@ export const SAVE_ADMIN_SETTINGS = gql`
instanceName: $instanceName
instanceDescription: $instanceDescription
instanceLongDescription: $instanceLongDescription
+ instanceSlogan: $instanceSlogan
contact: $contact
instanceTerms: $instanceTerms
instanceTermsType: $instanceTermsType
diff --git a/js/src/graphql/config.ts b/js/src/graphql/config.ts
index f8c2e5d6b..33d3e40e2 100644
--- a/js/src/graphql/config.ts
+++ b/js/src/graphql/config.ts
@@ -5,6 +5,7 @@ export const CONFIG = gql`
config {
name
description
+ slogan
registrationsOpen
registrationsAllowlist
demoMode
diff --git a/js/src/graphql/todos.ts b/js/src/graphql/todos.ts
index fed3a6f2c..31e716c71 100644
--- a/js/src/graphql/todos.ts
+++ b/js/src/graphql/todos.ts
@@ -11,6 +11,7 @@ export const GET_TODO = gql`
actor {
id
preferredUsername
+ domain
name
}
title
diff --git a/js/src/i18n/en_US.json b/js/src/i18n/en_US.json
index 3c30d8baf..fcd5c58ef 100644
--- a/js/src/i18n/en_US.json
+++ b/js/src/i18n/en_US.json
@@ -386,7 +386,6 @@
"Welcome back!": "Welcome back!",
"Welcome to Mobilizon, {username}!": "Welcome to Mobilizon, {username}!",
"Who can view this event and participate": "Who can view this event and participate",
- "World map": "World map",
"Write something…": "Write something…",
"You are participating in this event anonymously but didn't confirm participation": "You are participating in this event anonymously but didn't confirm participation",
"You are participating in this event anonymously": "You are participating in this event anonymously",
@@ -806,5 +805,15 @@
"{username} was invited to {group}": "{username} was invited to {group}",
"The member was removed from the group {group}": "The member was removed from the group {group}",
"The organiser has chosen to close comments.": "The organiser has chosen to close comments.",
- "Comments are closed for everybody else.": "Comments are closed for everybody else."
+ "Comments are closed for everybody else.": "Comments are closed for everybody else.",
+ "Instance Slogan": "Instance Slogan",
+ "A short tagline for your instance homepage. Defaults to \"Gather ⋅ Organize ⋅ Mobilize\"": "A short tagline for your instance homepage. Defaults to \"Gather ⋅ Organize ⋅ Mobilize\"",
+ "Learn more about {instance}": "Learn more about {instance}",
+ "Unable to detect timezone.": "Unable to detect timezone.",
+ "A practical tool": "A practical tool",
+ "Mobilizon is a tool that helps you find, create and organise events.": "Mobilizon is a tool that helps you find, create and organise events.",
+ "An ethical alternative": "An ethical alternative",
+ "Ethical alternative to Facebook events, groups and pages, Mobilizon is a tool designed to serve you. Period.": "Ethical alternative to Facebook events, groups and pages, Mobilizon is a tool designed to serve you. Period.",
+ "A federated software": "A federated software",
+ "Mobilizon is not a giant platform, but a multitude of interconnected Mobilizon websites.": "Mobilizon is not a giant platform, but a multitude of interconnected Mobilizon websites."
}
diff --git a/js/src/i18n/fr_FR.json b/js/src/i18n/fr_FR.json
index 0b5ebb887..15cf6c38b 100644
--- a/js/src/i18n/fr_FR.json
+++ b/js/src/i18n/fr_FR.json
@@ -857,5 +857,15 @@
"{username} was invited to {group}": "{username} a été invité à {group}",
"The member was removed from the group {group}": "Le ou la membre a été supprimé·e du groupe {group}",
"The organiser has chosen to close comments.": "L'organisateur·ice a choisi de fermer les commentaires.",
- "Comments are closed for everybody else.": "Les commentaires sont fermés pour tous·tes les autres."
+ "Comments are closed for everybody else.": "Les commentaires sont fermés pour tous·tes les autres.",
+ "Instance Slogan": "Slogan de l'instance",
+ "A short tagline for your instance homepage. Defaults to \"Gather ⋅ Organize ⋅ Mobilize\"": "Un court slogan pour la page d'accueil de votre instance. La valeur par défaut est « Rassembler ⋅ Organiser ⋅ Mobiliser »",
+ "Learn more about {instance}": "En savoir plus sur {instance}",
+ "Unable to detect timezone.": "Impossible de détecter le fuseau horaire.",
+ "A practical tool": "Un outil pratique",
+ "Mobilizon is a tool that helps you find, create and organise events.": "Mobilizon est un outil qui vous permet de trouver, créer et organiser des événements.",
+ "An ethical alternative": "Une alternative éthique",
+ "Ethical alternative to Facebook events, groups and pages, Mobilizon is a tool designed to serve you. Period.": "Alternative éthique aux événements, groupes et pages Facebook, Mobilizon est un outil conçu pour vous servir. Point.",
+ "A federated software": "Un logiciel fédéré",
+ "Mobilizon is not a giant platform, but a multitude of interconnected Mobilizon websites.": "Mobilizon n’est pas une plateforme géante, mais une multitude de sites web Mobilizon interconnectés."
}
diff --git a/js/src/types/admin.model.ts b/js/src/types/admin.model.ts
index 16534d355..9872e5aca 100644
--- a/js/src/types/admin.model.ts
+++ b/js/src/types/admin.model.ts
@@ -34,6 +34,7 @@ export interface ILanguage {
export interface IAdminSettings {
instanceName: string;
instanceDescription: string;
+ instanceSlogan: string;
instanceLongDescription: string;
contact: string;
instanceTerms: string;
diff --git a/js/src/types/config.model.ts b/js/src/types/config.model.ts
index 30a79b82f..bfa7bacea 100644
--- a/js/src/types/config.model.ts
+++ b/js/src/types/config.model.ts
@@ -6,6 +6,7 @@ export interface IConfig {
description: string;
longDescription: string;
contact: string;
+ slogan: string;
registrationsOpen: boolean;
registrationsAllowlist: boolean;
diff --git a/js/src/views/Admin/Settings.vue b/js/src/views/Admin/Settings.vue
index 61d108e7a..e8fe7afe7 100644
--- a/js/src/views/Admin/Settings.vue
+++ b/js/src/views/Admin/Settings.vue
@@ -28,6 +28,20 @@