diff --git a/backend/src/Squidex.Web/ErrorDto.cs b/backend/src/Squidex.Web/ErrorDto.cs
index 2a8bda377..139fc672b 100644
--- a/backend/src/Squidex.Web/ErrorDto.cs
+++ b/backend/src/Squidex.Web/ErrorDto.cs
@@ -16,7 +16,7 @@ namespace Squidex.Web
public string Message { get; set; }
[Display(Description = "Detailed error messages.")]
- public string[] Details { get; set; }
+ public string[]? Details { get; set; }
[Display(Description = "Status code of the http response.")]
public int? StatusCode { get; set; } = 400;
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AssignContributorDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AssignContributorDto.cs
index 0df2db061..7f1d69d1d 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AssignContributorDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/AssignContributorDto.cs
@@ -23,7 +23,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
///
/// The role of the contributor.
///
- public string Role { get; set; } = Roles.Developer;
+ public string? Role { get; set; } = Roles.Developer;
///
/// Set to true to invite the user if he does not exist.
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateLanguageDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateLanguageDto.cs
index 8c6d2e707..b23b48e0e 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateLanguageDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateLanguageDto.cs
@@ -27,7 +27,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
///
/// Optional fallback languages.
///
- public List Fallback { get; set; }
+ public List? Fallback { get; set; }
public UpdateLanguage ToCommand(Language language)
{
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateWorkflowDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateWorkflowDto.cs
index 215b858fd..169134839 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateWorkflowDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/UpdateWorkflowDto.cs
@@ -30,7 +30,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
///
/// The schema ids.
///
- public List SchemaIds { get; set; }
+ public List? SchemaIds { get; set; }
///
/// The initial step.
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowDto.cs
index 299dd37b2..8d7a32788 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Apps/Models/WorkflowDto.cs
@@ -37,7 +37,7 @@ namespace Squidex.Areas.Api.Controllers.Apps.Models
///
/// The schema ids.
///
- public IReadOnlyList SchemaIds { get; set; }
+ public IReadOnlyList? SchemaIds { get; set; }
///
/// The initial step.
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Assets/Models/AssetDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Assets/Models/AssetDto.cs
index 30b5b4f15..cb3494226 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Assets/Models/AssetDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Assets/Models/AssetDto.cs
@@ -57,7 +57,7 @@ namespace Squidex.Areas.Api.Controllers.Assets.Models
///
/// The asset tags.
///
- public HashSet Tags { get; set; }
+ public HashSet? Tags { get; set; }
///
/// The size of the file in bytes.
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Comments/Models/CommentsDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Comments/Models/CommentsDto.cs
index 063e76234..5fc302acb 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Comments/Models/CommentsDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Comments/Models/CommentsDto.cs
@@ -17,17 +17,17 @@ namespace Squidex.Areas.Api.Controllers.Comments.Models
///
/// The created comments including the updates.
///
- public CommentDto[] CreatedComments { get; set; }
+ public CommentDto[]? CreatedComments { get; set; }
///
/// The updates comments since the last version.
///
- public CommentDto[] UpdatedComments { get; set; }
+ public CommentDto[]? UpdatedComments { get; set; }
///
/// The deleted comments since the last version.
///
- public List DeletedComments { get; set; }
+ public List? DeletedComments { get; set; }
///
/// The current version.
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Plans/Models/PlanDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Plans/Models/PlanDto.cs
index b0c2f7de9..33f6069eb 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Plans/Models/PlanDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Plans/Models/PlanDto.cs
@@ -34,12 +34,12 @@ namespace Squidex.Areas.Api.Controllers.Plans.Models
///
/// The yearly costs of the plan.
///
- public string YearlyCosts { get; set; }
+ public string? YearlyCosts { get; set; }
///
/// The yearly id of the plan.
///
- public string YearlyId { get; set; }
+ public string? YearlyId { get; set; }
///
/// The maximum number of API calls.
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/RuleElementPropertyDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/RuleElementPropertyDto.cs
index 81170e36f..432e13317 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/RuleElementPropertyDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/RuleElementPropertyDto.cs
@@ -33,7 +33,7 @@ namespace Squidex.Areas.Api.Controllers.Rules.Models
///
/// The optional description.
///
- public string Description { get; set; }
+ public string? Description { get; set; }
///
/// Indicates if the property is formattable.
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/Triggers/AssetChangedRuleTriggerDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/Triggers/AssetChangedRuleTriggerDto.cs
index c0c7c8899..04c8394d3 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/Triggers/AssetChangedRuleTriggerDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/Triggers/AssetChangedRuleTriggerDto.cs
@@ -16,7 +16,7 @@ namespace Squidex.Areas.Api.Controllers.Rules.Models.Triggers
///
/// Javascript condition when to trigger.
///
- public string Condition { get; set; }
+ public string? Condition { get; set; }
public override RuleTrigger ToTrigger()
{
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/Triggers/ContentChangedRuleTriggerSchemaDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/Triggers/ContentChangedRuleTriggerSchemaDto.cs
index 93c05c61d..9ce4b6915 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/Triggers/ContentChangedRuleTriggerSchemaDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/Triggers/ContentChangedRuleTriggerSchemaDto.cs
@@ -19,6 +19,6 @@ namespace Squidex.Areas.Api.Controllers.Rules.Models.Triggers
///
/// Javascript condition when to trigger.
///
- public string Condition { get; set; }
+ public string? Condition { get; set; }
}
}
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/Triggers/SchemaChangedRuleTriggerDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/Triggers/SchemaChangedRuleTriggerDto.cs
index c94475af7..29377ca48 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/Triggers/SchemaChangedRuleTriggerDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/Triggers/SchemaChangedRuleTriggerDto.cs
@@ -16,7 +16,7 @@ namespace Squidex.Areas.Api.Controllers.Rules.Models.Triggers
///
/// Javascript condition when to trigger.
///
- public string Condition { get; set; }
+ public string? Condition { get; set; }
public override RuleTrigger ToTrigger()
{
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/UpdateRuleDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/UpdateRuleDto.cs
index 8833d330b..8474e9952 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/UpdateRuleDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Rules/Models/UpdateRuleDto.cs
@@ -17,7 +17,7 @@ namespace Squidex.Areas.Api.Controllers.Rules.Models
///
/// Optional rule name.
///
- public string Name { get; set; }
+ public string? Name { get; set; }
///
/// The trigger properties.
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/AssetsFieldPropertiesDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/AssetsFieldPropertiesDto.cs
index 1c95fe51a..9a5209a2f 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/AssetsFieldPropertiesDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/AssetsFieldPropertiesDto.cs
@@ -76,7 +76,7 @@ namespace Squidex.Areas.Api.Controllers.Schemas.Models.Fields
///
/// The allowed file extensions.
///
- public ReadOnlyCollection AllowedExtensions { get; set; }
+ public ReadOnlyCollection? AllowedExtensions { get; set; }
///
/// True, if duplicate values are allowed.
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/NumberFieldPropertiesDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/NumberFieldPropertiesDto.cs
index ddf1feefc..4108d68d0 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/NumberFieldPropertiesDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/NumberFieldPropertiesDto.cs
@@ -31,7 +31,7 @@ namespace Squidex.Areas.Api.Controllers.Schemas.Models.Fields
///
/// The allowed values for the field value.
///
- public ReadOnlyCollection AllowedValues { get; set; }
+ public ReadOnlyCollection? AllowedValues { get; set; }
///
/// Indicates if the field value must be unique. Ignored for nested fields and localized fields.
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/ReferencesFieldPropertiesDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/ReferencesFieldPropertiesDto.cs
index 82d9fd38b..a769176ff 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/ReferencesFieldPropertiesDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/ReferencesFieldPropertiesDto.cs
@@ -42,7 +42,7 @@ namespace Squidex.Areas.Api.Controllers.Schemas.Models.Fields
///
/// The id of the referenced schemas.
///
- public ReadOnlyCollection SchemaIds { get; set; }
+ public ReadOnlyCollection? SchemaIds { get; set; }
public override FieldProperties ToProperties()
{
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/StringFieldPropertiesDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/StringFieldPropertiesDto.cs
index b5e21e146..cccf0bec5 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/StringFieldPropertiesDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/StringFieldPropertiesDto.cs
@@ -16,17 +16,17 @@ namespace Squidex.Areas.Api.Controllers.Schemas.Models.Fields
///
/// The default value for the field value.
///
- public string DefaultValue { get; set; }
+ public string? DefaultValue { get; set; }
///
/// The pattern to enforce a specific format for the field value.
///
- public string Pattern { get; set; }
+ public string? Pattern { get; set; }
///
/// The validation message for the pattern.
///
- public string PatternMessage { get; set; }
+ public string? PatternMessage { get; set; }
///
/// The minimum allowed length for the field value.
@@ -41,7 +41,7 @@ namespace Squidex.Areas.Api.Controllers.Schemas.Models.Fields
///
/// The allowed values for the field value.
///
- public ReadOnlyCollection AllowedValues { get; set; }
+ public ReadOnlyCollection? AllowedValues { get; set; }
///
/// Indicates if the field value must be unique. Ignored for nested fields and localized fields.
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/TagsFieldPropertiesDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/TagsFieldPropertiesDto.cs
index 091832109..202fd9a5e 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/TagsFieldPropertiesDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/Fields/TagsFieldPropertiesDto.cs
@@ -26,7 +26,7 @@ namespace Squidex.Areas.Api.Controllers.Schemas.Models.Fields
///
/// The allowed values for the field value.
///
- public ReadOnlyCollection AllowedValues { get; set; }
+ public ReadOnlyCollection? AllowedValues { get; set; }
///
/// The editor that is used to manage this field.
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/SchemaDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/SchemaDto.cs
index 4ea8e3b9c..3c9fd858a 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/SchemaDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/SchemaDto.cs
@@ -34,7 +34,7 @@ namespace Squidex.Areas.Api.Controllers.Schemas.Models
///
/// The name of the category.
///
- public string Category { get; set; }
+ public string? Category { get; set; }
///
/// The schema properties.
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/UpdateSchemaDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/UpdateSchemaDto.cs
index 34436fd50..d360cab25 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/UpdateSchemaDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Schemas/Models/UpdateSchemaDto.cs
@@ -30,7 +30,7 @@ namespace Squidex.Areas.Api.Controllers.Schemas.Models
///
/// Tags for automation processes.
///
- public ReadOnlyCollection Tags { get; set; }
+ public ReadOnlyCollection? Tags { get; set; }
public UpdateSchema ToCommand()
{
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Statistics/Models/LogDownloadDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Statistics/Models/LogDownloadDto.cs
index 8fa5945f6..72f50f65f 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Statistics/Models/LogDownloadDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Statistics/Models/LogDownloadDto.cs
@@ -12,6 +12,6 @@ namespace Squidex.Areas.Api.Controllers.Statistics.Models
///
/// The url to download the log.
///
- public string DownloadUrl { get; set; }
+ public string? DownloadUrl { get; set; }
}
}
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Translations/Models/TranslationDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Translations/Models/TranslationDto.cs
index a7582b3ea..d2f528b90 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Translations/Models/TranslationDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Translations/Models/TranslationDto.cs
@@ -20,7 +20,7 @@ namespace Squidex.Areas.Api.Controllers.Translations.Models
///
/// The translated text.
///
- public string Text { get; set; }
+ public string? Text { get; set; }
public static TranslationDto FromTranslation(Translation translation)
{
diff --git a/backend/src/Squidex/Areas/Api/Controllers/Users/Models/UpdateUserDto.cs b/backend/src/Squidex/Areas/Api/Controllers/Users/Models/UpdateUserDto.cs
index d6391da83..3ab37ac61 100644
--- a/backend/src/Squidex/Areas/Api/Controllers/Users/Models/UpdateUserDto.cs
+++ b/backend/src/Squidex/Areas/Api/Controllers/Users/Models/UpdateUserDto.cs
@@ -29,7 +29,7 @@ namespace Squidex.Areas.Api.Controllers.Users.Models
///
/// The password of the user.
///
- public string Password { get; set; }
+ public string? Password { get; set; }
///
/// Additional permissions for the user.
diff --git a/frontend/app/theme/_forms.scss b/frontend/app/theme/_forms.scss
index f2cac5dff..8be4a09d8 100644
--- a/frontend/app/theme/_forms.scss
+++ b/frontend/app/theme/_forms.scss
@@ -102,6 +102,12 @@
}
}
+ p {
+ &:last-child {
+ margin-bottom: 0;
+ }
+ }
+
ul {
margin: 0;
}