Small changes to get it actually working

(cherry picked from commit d16e9f5235652e1121ea5d1d3cde742290ee83f7)

upstream PR is https://framagit.org/framasoft/mobilizon/-/merge_requests/1236
This commit is contained in:
Gitea 2021-08-20 19:23:21 +02:00 committed by 778a69cd
parent 3aa10b77b3
commit 750072b3b1
11 changed files with 57 additions and 42 deletions

View file

@ -184,7 +184,7 @@ export const ADMIN_SETTINGS_FRAGMENT = gql`
instanceLongDescription
instanceSlogan
contact
InstanceHomepageSorting
instanceHomepageSorting
instanceTerms
instanceTermsType
instanceTermsUrl
@ -213,7 +213,7 @@ export const SAVE_ADMIN_SETTINGS = gql`
$instanceLongDescription: String
$instanceSlogan: String
$contact: String
$InstanceHomepageSorting: InstanceHomepageSorting
$instanceHomepageSorting: InstanceHomepageSorting
$instanceTerms: String
$instanceTermsType: InstanceTermsType
$instanceTermsUrl: String
@ -230,7 +230,7 @@ export const SAVE_ADMIN_SETTINGS = gql`
instanceLongDescription: $instanceLongDescription
instanceSlogan: $instanceSlogan
contact: $contact
InstanceHomepageSorting: $InstanceHomepageSorting
instanceHomepageSorting: $instanceHomepageSorting
instanceTerms: $instanceTerms
instanceTermsType: $instanceTermsType
instanceTermsUrl: $instanceTermsUrl

View file

@ -8,6 +8,7 @@ export const CONFIG = gql`
slogan
registrationsOpen
registrationsAllowlist
instanceHomepageSorting
demoMode
countryCode
languages

View file

@ -25,7 +25,7 @@ export interface IAdminSettings {
instanceSlogan: string;
instanceLongDescription: string;
contact: string;
InstanceHomepageSorting: InstanceHomepageSorting;
instanceHomepageSorting: InstanceHomepageSorting;
instanceTerms: string;
instanceTermsType: InstanceTermsType;
instanceTermsUrl: string | null;

View file

@ -64,24 +64,26 @@
<p class="content" v-else>{{ $t("Registration is closed.") }}</p>
</b-switch>
</b-field>
<b-field :label="$t('Home Page Sorting')">
<b-field>
<b-radio
v-model="adminSettings.InstanceHomepageSorting"
name="InstanceHomepageSorting"
:native-value="InstanceHomepageSorting.DEFAULT"
>{{ $t("Recently Created") }}</b-radio
>
<div class="field">
<b-field :label="$t('Home Page Sorting')">
<b-field>
<b-radio
v-model="adminSettings.instanceHomepageSorting"
name="instanceHomepageSorting"
:native-value="InstanceHomepageSorting.DEFAULT"
>{{ $t("Recently Created") }}</b-radio
>
</b-field>
<b-field>
<b-radio
v-model="adminSettings.instanceHomepageSorting"
name="instanceHomepageSorting"
:native-value="InstanceHomepageSorting.UPCOMING"
>{{ $t("Upcoming") }}</b-radio
>
</b-field>
</b-field>
<b-field>
<b-radio
v-model="adminSettings.InstanceHomepageSorting"
name="InstanceHomepageSorting"
:native-value="InstanceHomepageSorting.UPCOMING"
>{{ $t("Upcoming") }}</b-radio
>
</b-field>
</b-field>
</div>
<div class="field">
<label class="label has-help" for="instance-languages">{{
$t("Instance languages")

View file

@ -43,7 +43,15 @@
>
<section class="events-recent">
<h2 class="title">
{{ $t("Last published events") }}
{{
$t(
config &&
config.instanceHomepageSorting ===
InstanceHomepageSorting.UPCOMING
? "Upcoming Events"
: "Last published events"
)
}}
</h2>
<p>
<i18n tag="span" path="On {instance} and other federated instances">
@ -227,10 +235,13 @@
<section class="events-recent">
<h2 class="title">
{{
adminSettings.instanceHomepageSorting ===
InstanceHomepageSorting.DEFAULT
? $t("Last published events")
: $t("Upcoming Events")
$t(
config &&
config.instanceHomepageSorting ===
InstanceHomepageSorting.UPCOMING
? "Upcoming Events"
: "Last published events"
)
}}
</h2>
<p>
@ -284,7 +295,6 @@ import {
} from "../types/current-user.model";
import { CURRENT_USER_CLIENT } from "../graphql/user";
import { CLOSE_CONTENT, HOME_USER_QUERIES } from "../graphql/home";
import { ADMIN_SETTINGS } from "../graphql/admin";
import RouteName from "../router/name";
import { IEvent } from "../types/event.model";
import DateComponent from "../components/Event/DateCalendarIcon.vue";
@ -295,11 +305,10 @@ import Subtitle from "../components/Utils/Subtitle.vue";
@Component({
apollo: {
adminSettings: ADMIN_SETTINGS,
events: {
query: FETCH_EVENTS,
variables() {
return this.adminSettings?.InstanceHomepageSorting ===
return this.config?.instanceHomepageSorting ===
InstanceHomepageSorting.UPCOMING
? {
orderBy: EventSortField.BEGINS_ON,
@ -390,6 +399,8 @@ export default class Home extends Vue {
config!: IConfig;
InstanceHomepageSorting = InstanceHomepageSorting;
RouteName = RouteName;
currentUserParticipations: IParticipant[] = [];

View file

@ -89,6 +89,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Config do
name: Config.instance_name(),
registrations_open: Config.instance_registrations_open?(),
registrations_allowlist: Config.instance_registrations_allowlist?(),
instance_homepage_sorting: Config.instance_homepage_sorting(),
contact: Config.contact(),
demo_mode: Config.instance_demo_mode?(),
description: Config.instance_description(),

View file

@ -393,10 +393,10 @@ defmodule Mobilizon.GraphQL.Schema.AdminType do
arg(:instance_long_description, :string, description: "The instance's long description")
arg(:instance_slogan, :string, description: "The instance's slogan")
arg(:contact, :string, description: "The instance's contact details")
arg(:instance_homepage_sorting, :instance_homepage_sorting, description: "The instance's homepage sorting")
arg(:instance_terms, :string, description: "The instance's terms body text")
arg(:instance_terms_type, :instance_terms_type, description: "The instance's terms type")
arg(:instance_terms_url, :string, description: "The instance's terms URL")
arg(:instance_homepage_sorting, :instance_homepage_sorting, description: "The instance's homepage sorting")
arg(:instance_privacy_policy, :string,
description: "The instance's privacy policy body text"

View file

@ -48,6 +48,8 @@ defmodule Mobilizon.GraphQL.Schema.ConfigType do
field(:version, :string, description: "The instance's version")
field(:federating, :boolean, description: "Whether this instance is federation")
field(:instance_homepage_sorting, :instance_homepage_sorting, description: "The instance's homepage sorting")
field(:terms, :terms, description: "The instance's terms") do
arg(:locale, :string,
default_value: "en",
@ -58,8 +60,6 @@ defmodule Mobilizon.GraphQL.Schema.ConfigType do
resolve(&Config.terms/3)
end
field(:instance_homepage_sorting, :instance_homepage_sorting, description: "The instance's homepage sorting")
field(:privacy, :privacy, description: "The instance's privacy policy") do
arg(:locale, :string,
default_value: "en",

View file

@ -411,10 +411,10 @@ defmodule Mobilizon.Config do
instance_slogan: instance_slogan(),
registrations_open: instance_registrations_open?(),
contact: contact(),
instance_homepage_sorting: instance_homepage_sorting(),
instance_terms: instance_terms(),
instance_terms_type: instance_terms_type(),
instance_terms_url: instance_terms_url(),
instance_homepage_sorting: instance_homepage_sorting(),
instance_privacy_policy: instance_privacy(),
instance_privacy_policy_type: instance_privacy_type(),
instance_privacy_policy_url: instance_privacy_url(),

View file

@ -223,15 +223,15 @@ type Config {
"Whether this instance is federation"
federating: Boolean
"The instance's homepage sorting"
instanceHomepageSorting: InstanceHomepageSorting
"The instance's terms"
terms(
"The user's locale. The terms will be translated in their language, if available."
locale: String
): Terms
"The instance's homepage sorting"
instanceHomepageSorting: InstanceHomepageSorting
"The instance's privacy policy"
privacy(
"The user's locale. The privacy policy will be translated in their language, if available."
@ -1953,6 +1953,9 @@ type RootMutationType {
"The instance's contact details"
contact: String
"The instance's homepage sorting"
instanceHomepageSorting: InstanceHomepageSorting
"The instance's terms body text"
instanceTerms: String
@ -1962,9 +1965,6 @@ type RootMutationType {
"The instance's terms URL"
instanceTermsUrl: String
"The instance's homepage sorting"
instanceHomepageSorting: InstanceHomepageSorting
"The instance's privacy policy body text"
instancePrivacyPolicy: String

View file

@ -337,7 +337,7 @@ defmodule Mobilizon.GraphQL.Resolvers.AdminTest do
instanceDescription
instanceLongDescription
contact
InstanceHomepageSorting
instanceHomepageSorting
instanceTerms
instanceTermsType
instanceTermsUrl
@ -420,7 +420,7 @@ defmodule Mobilizon.GraphQL.Resolvers.AdminTest do
$instanceDescription: String
$instanceLongDescription: String
$contact: String
$InstanceHomepageSorting: InstanceHomepageSorting
$instanceHomepageSorting: InstanceHomepageSorting
$instanceTerms: String
$instanceTermsType: InstanceTermsType
$instanceTermsUrl: String
@ -435,7 +435,7 @@ defmodule Mobilizon.GraphQL.Resolvers.AdminTest do
instanceDescription: $instanceDescription
instanceLongDescription: $instanceLongDescription
contact: $contact
InstanceHomepageSorting: $InstanceHomepageSorting
instanceHomepageSorting: $instanceHomepageSorting
instanceTerms: $instanceTerms
instanceTermsType: $instanceTermsType
instanceTermsUrl: $instanceTermsUrl