diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Hakaton.SlobodaNemaCenu.Web.csproj b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Hakaton.SlobodaNemaCenu.Web.csproj index 1efedb7..12cfcd4 100644 --- a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Hakaton.SlobodaNemaCenu.Web.csproj +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Hakaton.SlobodaNemaCenu.Web.csproj @@ -19,6 +19,25 @@ + + + + + + + + + + + + + + + + + + + true diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/CountryDropdownItem.generated.cs b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/CountryDropdownItem.generated.cs new file mode 100644 index 0000000..840a809 --- /dev/null +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/CountryDropdownItem.generated.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Umbraco.ModelsBuilder.Embedded v10.2.1+25a20cf +// +// Changes to this file will be lost if the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Linq.Expressions; +using Umbraco.Cms.Core.Models.PublishedContent; +using Umbraco.Cms.Core.PublishedCache; +using Umbraco.Cms.Infrastructure.ModelsBuilder; +using Umbraco.Cms.Core; +using Umbraco.Extensions; + +namespace Hakaton.SlobodaNemaCenu.Web.Models.Generated +{ + /// Country Dropdown Item + [PublishedModel("countryDropdownItem")] + public partial class CountryDropdownItem : PublishedElementModel + { + // helpers +#pragma warning disable 0109 // new is redundant + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const string ModelTypeAlias = "countryDropdownItem"; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const PublishedItemType ModelItemType = PublishedItemType.Content; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public new static IPublishedContentType GetModelContentType(IPublishedSnapshotAccessor publishedSnapshotAccessor) + => PublishedModelUtility.GetModelContentType(publishedSnapshotAccessor, ModelItemType, ModelTypeAlias); + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public static IPublishedPropertyType GetModelPropertyType(IPublishedSnapshotAccessor publishedSnapshotAccessor, Expression> selector) + => PublishedModelUtility.GetModelPropertyType(GetModelContentType(publishedSnapshotAccessor), selector); +#pragma warning restore 0109 + + private IPublishedValueFallback _publishedValueFallback; + + // ctor + public CountryDropdownItem(IPublishedElement content, IPublishedValueFallback publishedValueFallback) + : base(content, publishedValueFallback) + { + _publishedValueFallback = publishedValueFallback; + } + + // properties + + /// + /// Country Flag + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("countryFlag")] + public virtual global::Umbraco.Cms.Core.Models.MediaWithCrops CountryFlag => this.Value(_publishedValueFallback, "countryFlag"); + + /// + /// Country Key + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("countryKey")] + public virtual string CountryKey => this.Value(_publishedValueFallback, "countryKey"); + } +} diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/EducationCategory.generated.cs b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/EducationCategory.generated.cs new file mode 100644 index 0000000..335bda0 --- /dev/null +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/EducationCategory.generated.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Umbraco.ModelsBuilder.Embedded v10.2.1+25a20cf +// +// Changes to this file will be lost if the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Linq.Expressions; +using Umbraco.Cms.Core.Models.PublishedContent; +using Umbraco.Cms.Core.PublishedCache; +using Umbraco.Cms.Infrastructure.ModelsBuilder; +using Umbraco.Cms.Core; +using Umbraco.Extensions; + +namespace Hakaton.SlobodaNemaCenu.Web.Models.Generated +{ + /// Education Category + [PublishedModel("educationCategory")] + public partial class EducationCategory : PublishedContentModel + { + // helpers +#pragma warning disable 0109 // new is redundant + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const string ModelTypeAlias = "educationCategory"; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const PublishedItemType ModelItemType = PublishedItemType.Content; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public new static IPublishedContentType GetModelContentType(IPublishedSnapshotAccessor publishedSnapshotAccessor) + => PublishedModelUtility.GetModelContentType(publishedSnapshotAccessor, ModelItemType, ModelTypeAlias); + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public static IPublishedPropertyType GetModelPropertyType(IPublishedSnapshotAccessor publishedSnapshotAccessor, Expression> selector) + => PublishedModelUtility.GetModelPropertyType(GetModelContentType(publishedSnapshotAccessor), selector); +#pragma warning restore 0109 + + private IPublishedValueFallback _publishedValueFallback; + + // ctor + public EducationCategory(IPublishedContent content, IPublishedValueFallback publishedValueFallback) + : base(content, publishedValueFallback) + { + _publishedValueFallback = publishedValueFallback; + } + + // properties + + /// + /// Color + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("color")] + public virtual string Color => this.Value(_publishedValueFallback, "color"); + + /// + /// Title + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("title")] + public virtual string Title => this.Value(_publishedValueFallback, "title"); + } +} diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/EducationItem.generated.cs b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/EducationItem.generated.cs new file mode 100644 index 0000000..7fbcbb0 --- /dev/null +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/EducationItem.generated.cs @@ -0,0 +1,92 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Umbraco.ModelsBuilder.Embedded v10.2.1+25a20cf +// +// Changes to this file will be lost if the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Linq.Expressions; +using Umbraco.Cms.Core.Models.PublishedContent; +using Umbraco.Cms.Core.PublishedCache; +using Umbraco.Cms.Infrastructure.ModelsBuilder; +using Umbraco.Cms.Core; +using Umbraco.Extensions; + +namespace Hakaton.SlobodaNemaCenu.Web.Models.Generated +{ + /// Education Item + [PublishedModel("educationItem")] + public partial class EducationItem : PublishedElementModel + { + // helpers +#pragma warning disable 0109 // new is redundant + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const string ModelTypeAlias = "educationItem"; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const PublishedItemType ModelItemType = PublishedItemType.Content; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public new static IPublishedContentType GetModelContentType(IPublishedSnapshotAccessor publishedSnapshotAccessor) + => PublishedModelUtility.GetModelContentType(publishedSnapshotAccessor, ModelItemType, ModelTypeAlias); + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public static IPublishedPropertyType GetModelPropertyType(IPublishedSnapshotAccessor publishedSnapshotAccessor, Expression> selector) + => PublishedModelUtility.GetModelPropertyType(GetModelContentType(publishedSnapshotAccessor), selector); +#pragma warning restore 0109 + + private IPublishedValueFallback _publishedValueFallback; + + // ctor + public EducationItem(IPublishedElement content, IPublishedValueFallback publishedValueFallback) + : base(content, publishedValueFallback) + { + _publishedValueFallback = publishedValueFallback; + } + + // properties + + /// + /// Category + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("category")] + public virtual global::Umbraco.Cms.Core.Models.PublishedContent.IPublishedContent Category => this.Value(_publishedValueFallback, "category"); + + /// + /// Download + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("download")] + public virtual global::Umbraco.Cms.Core.Models.MediaWithCrops Download => this.Value(_publishedValueFallback, "download"); + + /// + /// Image + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("image")] + public virtual global::Umbraco.Cms.Core.Models.MediaWithCrops Image => this.Value(_publishedValueFallback, "image"); + + /// + /// Title + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("title")] + public virtual string Title => this.Value(_publishedValueFallback, "title"); + + /// + /// Url + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("url")] + public virtual global::Umbraco.Cms.Core.Models.Link Url => this.Value(_publishedValueFallback, "url"); + } +} diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/EducationPage.generated.cs b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/EducationPage.generated.cs new file mode 100644 index 0000000..b155ff6 --- /dev/null +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/EducationPage.generated.cs @@ -0,0 +1,100 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Umbraco.ModelsBuilder.Embedded v10.2.1+25a20cf +// +// Changes to this file will be lost if the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Linq.Expressions; +using Umbraco.Cms.Core.Models.PublishedContent; +using Umbraco.Cms.Core.PublishedCache; +using Umbraco.Cms.Infrastructure.ModelsBuilder; +using Umbraco.Cms.Core; +using Umbraco.Extensions; + +namespace Hakaton.SlobodaNemaCenu.Web.Models.Generated +{ + /// Education Page + [PublishedModel("educationPage")] + public partial class EducationPage : PublishedContentModel, IPageBase + { + // helpers +#pragma warning disable 0109 // new is redundant + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const string ModelTypeAlias = "educationPage"; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const PublishedItemType ModelItemType = PublishedItemType.Content; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public new static IPublishedContentType GetModelContentType(IPublishedSnapshotAccessor publishedSnapshotAccessor) + => PublishedModelUtility.GetModelContentType(publishedSnapshotAccessor, ModelItemType, ModelTypeAlias); + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public static IPublishedPropertyType GetModelPropertyType(IPublishedSnapshotAccessor publishedSnapshotAccessor, Expression> selector) + => PublishedModelUtility.GetModelPropertyType(GetModelContentType(publishedSnapshotAccessor), selector); +#pragma warning restore 0109 + + private IPublishedValueFallback _publishedValueFallback; + + // ctor + public EducationPage(IPublishedContent content, IPublishedValueFallback publishedValueFallback) + : base(content, publishedValueFallback) + { + _publishedValueFallback = publishedValueFallback; + } + + // properties + + /// + /// Banner Image + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("bannerImage")] + public virtual global::Umbraco.Cms.Core.Models.MediaWithCrops BannerImage => this.Value(_publishedValueFallback, "bannerImage"); + + /// + /// Categories Container + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("categoriesContainer")] + public virtual global::Umbraco.Cms.Core.Models.PublishedContent.IPublishedContent CategoriesContainer => this.Value(_publishedValueFallback, "categoriesContainer"); + + /// + /// Education Items + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("educationItems")] + public virtual global::Umbraco.Cms.Core.Models.Blocks.BlockListModel EducationItems => this.Value(_publishedValueFallback, "educationItems"); + + /// + /// Text + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("text")] + public virtual string Text => this.Value(_publishedValueFallback, "text"); + + /// + /// SEO Title + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("sEOTitle")] + public virtual string SEotitle => global::Hakaton.SlobodaNemaCenu.Web.Models.Generated.PageBase.GetSEotitle(this, _publishedValueFallback); + + /// + /// Title + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("title")] + public virtual string Title => global::Hakaton.SlobodaNemaCenu.Web.Models.Generated.PageBase.GetTitle(this, _publishedValueFallback); + } +} diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/Home.generated.cs b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/Home.generated.cs index 877566d..a5bcc52 100644 --- a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/Home.generated.cs +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/Home.generated.cs @@ -105,6 +105,14 @@ public Home(IPublishedContent content, IPublishedValueFallback publishedValueFal [ImplementPropertyType("navigationButtonLink")] public virtual global::Umbraco.Cms.Core.Models.Link NavigationButtonLink => this.Value(_publishedValueFallback, "navigationButtonLink"); + /// + /// Navigation Flags + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("navigationFlags")] + public virtual global::Umbraco.Cms.Core.Models.Blocks.BlockListModel NavigationFlags => this.Value(_publishedValueFallback, "navigationFlags"); + /// /// Navigation Logo /// diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/ImageAndTextModule.generated.cs b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/ImageAndTextModule.generated.cs new file mode 100644 index 0000000..6a94660 --- /dev/null +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/ImageAndTextModule.generated.cs @@ -0,0 +1,92 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Umbraco.ModelsBuilder.Embedded v10.2.1+25a20cf +// +// Changes to this file will be lost if the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Linq.Expressions; +using Umbraco.Cms.Core.Models.PublishedContent; +using Umbraco.Cms.Core.PublishedCache; +using Umbraco.Cms.Infrastructure.ModelsBuilder; +using Umbraco.Cms.Core; +using Umbraco.Extensions; + +namespace Hakaton.SlobodaNemaCenu.Web.Models.Generated +{ + /// Image And Text Module + [PublishedModel("imageAndTextModule")] + public partial class ImageAndTextModule : PublishedElementModel + { + // helpers +#pragma warning disable 0109 // new is redundant + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const string ModelTypeAlias = "imageAndTextModule"; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const PublishedItemType ModelItemType = PublishedItemType.Content; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public new static IPublishedContentType GetModelContentType(IPublishedSnapshotAccessor publishedSnapshotAccessor) + => PublishedModelUtility.GetModelContentType(publishedSnapshotAccessor, ModelItemType, ModelTypeAlias); + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public static IPublishedPropertyType GetModelPropertyType(IPublishedSnapshotAccessor publishedSnapshotAccessor, Expression> selector) + => PublishedModelUtility.GetModelPropertyType(GetModelContentType(publishedSnapshotAccessor), selector); +#pragma warning restore 0109 + + private IPublishedValueFallback _publishedValueFallback; + + // ctor + public ImageAndTextModule(IPublishedElement content, IPublishedValueFallback publishedValueFallback) + : base(content, publishedValueFallback) + { + _publishedValueFallback = publishedValueFallback; + } + + // properties + + /// + /// Body Copy + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("bodyCopy")] + public virtual string BodyCopy => this.Value(_publishedValueFallback, "bodyCopy"); + + /// + /// Image + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("image")] + public virtual global::Umbraco.Cms.Core.Models.MediaWithCrops Image => this.Value(_publishedValueFallback, "image"); + + /// + /// Intro Text + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("introText")] + public virtual string IntroText => this.Value(_publishedValueFallback, "introText"); + + /// + /// Star Color Picker + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("starColorPicker")] + public virtual string StarColorPicker => this.Value(_publishedValueFallback, "starColorPicker"); + + /// + /// Title + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("title")] + public virtual string Title => this.Value(_publishedValueFallback, "title"); + } +} diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/ImageAndTextV2.generated.cs b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/ImageAndTextV2.generated.cs new file mode 100644 index 0000000..ae54392 --- /dev/null +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/ImageAndTextV2.generated.cs @@ -0,0 +1,91 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Umbraco.ModelsBuilder.Embedded v10.2.1+25a20cf +// +// Changes to this file will be lost if the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Linq.Expressions; +using Umbraco.Cms.Core.Models.PublishedContent; +using Umbraco.Cms.Core.PublishedCache; +using Umbraco.Cms.Infrastructure.ModelsBuilder; +using Umbraco.Cms.Core; +using Umbraco.Extensions; + +namespace Hakaton.SlobodaNemaCenu.Web.Models.Generated +{ + /// Image And Text V2 + [PublishedModel("imageAndTextV2")] + public partial class ImageAndTextV2 : PublishedElementModel + { + // helpers +#pragma warning disable 0109 // new is redundant + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const string ModelTypeAlias = "imageAndTextV2"; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const PublishedItemType ModelItemType = PublishedItemType.Content; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public new static IPublishedContentType GetModelContentType(IPublishedSnapshotAccessor publishedSnapshotAccessor) + => PublishedModelUtility.GetModelContentType(publishedSnapshotAccessor, ModelItemType, ModelTypeAlias); + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public static IPublishedPropertyType GetModelPropertyType(IPublishedSnapshotAccessor publishedSnapshotAccessor, Expression> selector) + => PublishedModelUtility.GetModelPropertyType(GetModelContentType(publishedSnapshotAccessor), selector); +#pragma warning restore 0109 + + private IPublishedValueFallback _publishedValueFallback; + + // ctor + public ImageAndTextV2(IPublishedElement content, IPublishedValueFallback publishedValueFallback) + : base(content, publishedValueFallback) + { + _publishedValueFallback = publishedValueFallback; + } + + // properties + + /// + /// Description + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("description")] + public virtual string Description => this.Value(_publishedValueFallback, "description"); + + /// + /// Flip: Set this if you want to flip content. + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [ImplementPropertyType("flip")] + public virtual bool Flip => this.Value(_publishedValueFallback, "flip"); + + /// + /// Image + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("image")] + public virtual global::Umbraco.Cms.Core.Models.MediaWithCrops Image => this.Value(_publishedValueFallback, "image"); + + /// + /// Short Text + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("shortText")] + public virtual string ShortText => this.Value(_publishedValueFallback, "shortText"); + + /// + /// Title + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("title")] + public virtual string Title => this.Value(_publishedValueFallback, "title"); + } +} diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/ImageBox.generated.cs b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/ImageBox.generated.cs new file mode 100644 index 0000000..c0f9b2a --- /dev/null +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/ImageBox.generated.cs @@ -0,0 +1,68 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Umbraco.ModelsBuilder.Embedded v10.2.1+25a20cf +// +// Changes to this file will be lost if the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Linq.Expressions; +using Umbraco.Cms.Core.Models.PublishedContent; +using Umbraco.Cms.Core.PublishedCache; +using Umbraco.Cms.Infrastructure.ModelsBuilder; +using Umbraco.Cms.Core; +using Umbraco.Extensions; + +namespace Hakaton.SlobodaNemaCenu.Web.Models.Generated +{ + /// Image Box + [PublishedModel("imageBox")] + public partial class ImageBox : PublishedElementModel + { + // helpers +#pragma warning disable 0109 // new is redundant + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const string ModelTypeAlias = "imageBox"; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const PublishedItemType ModelItemType = PublishedItemType.Content; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public new static IPublishedContentType GetModelContentType(IPublishedSnapshotAccessor publishedSnapshotAccessor) + => PublishedModelUtility.GetModelContentType(publishedSnapshotAccessor, ModelItemType, ModelTypeAlias); + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public static IPublishedPropertyType GetModelPropertyType(IPublishedSnapshotAccessor publishedSnapshotAccessor, Expression> selector) + => PublishedModelUtility.GetModelPropertyType(GetModelContentType(publishedSnapshotAccessor), selector); +#pragma warning restore 0109 + + private IPublishedValueFallback _publishedValueFallback; + + // ctor + public ImageBox(IPublishedElement content, IPublishedValueFallback publishedValueFallback) + : base(content, publishedValueFallback) + { + _publishedValueFallback = publishedValueFallback; + } + + // properties + + /// + /// Image + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("image")] + public virtual global::Umbraco.Cms.Core.Models.MediaWithCrops Image => this.Value(_publishedValueFallback, "image"); + + /// + /// Link + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("link")] + public virtual global::Umbraco.Cms.Core.Models.Link Link => this.Value(_publishedValueFallback, "link"); + } +} diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/ImageModule.generated.cs b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/ImageModule.generated.cs index de09372..6f75121 100644 --- a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/ImageModule.generated.cs +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/ImageModule.generated.cs @@ -48,7 +48,7 @@ public ImageModule(IPublishedElement content, IPublishedValueFallback publishedV } // properties - + /// /// Clickable Link /// diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/RepoContainer.generated.cs b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/RepoContainer.generated.cs new file mode 100644 index 0000000..cd65e68 --- /dev/null +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/RepoContainer.generated.cs @@ -0,0 +1,52 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Umbraco.ModelsBuilder.Embedded v10.2.1+25a20cf +// +// Changes to this file will be lost if the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Linq.Expressions; +using Umbraco.Cms.Core.Models.PublishedContent; +using Umbraco.Cms.Core.PublishedCache; +using Umbraco.Cms.Infrastructure.ModelsBuilder; +using Umbraco.Cms.Core; +using Umbraco.Extensions; + +namespace Hakaton.SlobodaNemaCenu.Web.Models.Generated +{ + /// Repo Container + [PublishedModel("repoContainer")] + public partial class RepoContainer : PublishedContentModel + { + // helpers +#pragma warning disable 0109 // new is redundant + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const string ModelTypeAlias = "repoContainer"; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const PublishedItemType ModelItemType = PublishedItemType.Content; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public new static IPublishedContentType GetModelContentType(IPublishedSnapshotAccessor publishedSnapshotAccessor) + => PublishedModelUtility.GetModelContentType(publishedSnapshotAccessor, ModelItemType, ModelTypeAlias); + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public static IPublishedPropertyType GetModelPropertyType(IPublishedSnapshotAccessor publishedSnapshotAccessor, Expression> selector) + => PublishedModelUtility.GetModelPropertyType(GetModelContentType(publishedSnapshotAccessor), selector); +#pragma warning restore 0109 + + private IPublishedValueFallback _publishedValueFallback; + + // ctor + public RepoContainer(IPublishedContent content, IPublishedValueFallback publishedValueFallback) + : base(content, publishedValueFallback) + { + _publishedValueFallback = publishedValueFallback; + } + + // properties + } +} diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/Repository.generated.cs b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/Repository.generated.cs new file mode 100644 index 0000000..acb098e --- /dev/null +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/Repository.generated.cs @@ -0,0 +1,52 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Umbraco.ModelsBuilder.Embedded v10.2.1+25a20cf +// +// Changes to this file will be lost if the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Linq.Expressions; +using Umbraco.Cms.Core.Models.PublishedContent; +using Umbraco.Cms.Core.PublishedCache; +using Umbraco.Cms.Infrastructure.ModelsBuilder; +using Umbraco.Cms.Core; +using Umbraco.Extensions; + +namespace Hakaton.SlobodaNemaCenu.Web.Models.Generated +{ + /// Repository + [PublishedModel("repository")] + public partial class Repository : PublishedContentModel + { + // helpers +#pragma warning disable 0109 // new is redundant + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const string ModelTypeAlias = "repository"; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + public new const PublishedItemType ModelItemType = PublishedItemType.Content; + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public new static IPublishedContentType GetModelContentType(IPublishedSnapshotAccessor publishedSnapshotAccessor) + => PublishedModelUtility.GetModelContentType(publishedSnapshotAccessor, ModelItemType, ModelTypeAlias); + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [return: global::System.Diagnostics.CodeAnalysis.MaybeNull] + public static IPublishedPropertyType GetModelPropertyType(IPublishedSnapshotAccessor publishedSnapshotAccessor, Expression> selector) + => PublishedModelUtility.GetModelPropertyType(GetModelContentType(publishedSnapshotAccessor), selector); +#pragma warning restore 0109 + + private IPublishedValueFallback _publishedValueFallback; + + // ctor + public Repository(IPublishedContent content, IPublishedValueFallback publishedValueFallback) + : base(content, publishedValueFallback) + { + _publishedValueFallback = publishedValueFallback; + } + + // properties + } +} diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/SmallBanner.generated.cs b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/SmallBanner.generated.cs index 7901f45..36348f7 100644 --- a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/SmallBanner.generated.cs +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/SmallBanner.generated.cs @@ -57,6 +57,22 @@ public SmallBanner(IPublishedElement content, IPublishedValueFallback publishedV [ImplementPropertyType("bannerImage")] public virtual global::Umbraco.Cms.Core.Models.MediaWithCrops BannerImage => this.Value(_publishedValueFallback, "bannerImage"); + /// + /// BoxComment + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("boxComment")] + public virtual string BoxComment => this.Value(_publishedValueFallback, "boxComment"); + + /// + /// Comment + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("comment")] + public virtual string Comment => this.Value(_publishedValueFallback, "comment"); + /// /// Image Example /// @@ -80,5 +96,13 @@ public SmallBanner(IPublishedElement content, IPublishedValueFallback publishedV [global::System.Diagnostics.CodeAnalysis.MaybeNull] [ImplementPropertyType("title")] public virtual string Title => this.Value(_publishedValueFallback, "title"); + + /// + /// Triangle Comment + /// + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder.Embedded", "10.2.1+25a20cf")] + [global::System.Diagnostics.CodeAnalysis.MaybeNull] + [ImplementPropertyType("triangleComment")] + public virtual string TriangleComment => this.Value(_publishedValueFallback, "triangleComment"); } } diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/ood.flag b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/ood.flag deleted file mode 100644 index 2eb6eff..0000000 --- a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Models/Generated/ood.flag +++ /dev/null @@ -1,2 +0,0 @@ -THIS FILE INDICATES THAT MODELS ARE OUT-OF-DATE - diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/AboutUsPage.cshtml b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/AboutUsPage.cshtml index 5959880..284d8b8 100644 --- a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/AboutUsPage.cshtml +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/AboutUsPage.cshtml @@ -8,71 +8,6 @@ @Html.GetBlockListHtml(Model.PageContent) - -
-
-
-
- Image exemple -
-
-

About us

-

- Dečiji brakovi uskraćuju devojčicama slobodu izbora, - obrazovanje, budućnost i snove. Da bismo im pružili istinsku - podršku i zaštitu i okončali dečije brakove, potrebno je da se - svi uključimo. Zato je u je osnovana Nacionalna koalicija za - okončanje dečjih brakova.Nacionalna koalicija za okončanje - dečjih brakova predstavlja zajednicu pojedinaca, institucija i - organizacija koji zajedno rade na jačanju opcija bezbednog - izbora za devojčice, naročito devojčica romske nacionalnosti, da - donose vlastitite bezbedne izbore o životu i budućnosti, kao i - na osnaživanju žena i muškaraca, roditelja, kao i budućih - roditelja, da menjaju postojeću praksu dečijih brakova. Još - jednom glasno kažemo "Detinjstvo, ne brak!". -

-
- Sloboda Nema Cenu -
- Triangle shape -
-
-
-
-
-
-
-
-
-
- Image exemple -
-
-

About us

-

- Dečiji brakovi uskraćuju devojčicama slobodu izbora, - obrazovanje, budućnost i snove. Da bismo im pružili istinsku - podršku i zaštitu i okončali dečije brakove, potrebno je da se - svi uključimo. Zato je u je osnovana Nacionalna koalicija za - okončanje dečjih brakova.Nacionalna koalicija za okončanje - dečjih brakova predstavlja zajednicu pojedinaca, institucija i - organizacija koji zajedno rade na jačanju opcija bezbednog - izbora za devojčice, naročito devojčica romske nacionalnosti, da - donose vlastitite bezbedne izbore o životu i budućnosti, kao i - na osnaživanju žena i muškaraca, roditelja, kao i budućih - roditelja, da menjaju postojeću praksu dečijih brakova. Još - jednom glasno kažemo "Detinjstvo, ne brak!". -

-
- Sloboda Nema Cenu -
- Triangle shape -
-
-
-
-
-
diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/EducationPage.cshtml b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/EducationPage.cshtml new file mode 100644 index 0000000..92e2620 --- /dev/null +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/EducationPage.cshtml @@ -0,0 +1,78 @@ +@using Umbraco.Cms.Web.Common.PublishedModels; +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@using ContentModels = Hakaton.SlobodaNemaCenu.Web.Models.Generated; +@{ + Layout = "_Layout.cshtml"; + var categories = Model.CategoriesContainer.Children() ?? Array.Empty(); + var pageUrl = Model.Url(mode:UrlMode.Absolute); + var categoryQueryParam = Context.Request.Query["categoryId"]; + int categoryId = 0; + if(categoryQueryParam.Any()){ + int.TryParse(categoryQueryParam.First(), out categoryId); + } + var items = Model.EducationItems.Select(e => e.Content).Cast() + .Where(ei => categoryId == 0 || ei.Category?.Id == categoryId); + var checkedCategory = categories.FirstOrDefault(c => c.Id == categoryId); +} + +
+ +
+
+
+ +
    +
  • + +
  • + @foreach(var item in categories){ + var url = $"{pageUrl}?categoryId={item.Id}"; +
  • + +
  • + } +
+
+
+
+
+
+
+ @foreach(var item in items){ + @Html.Partial("~/Views/Partials/blocklist/Components/educationItem.cshtml", item) + } +
+
+
+
+ + \ No newline at end of file diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Home.cshtml b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Home.cshtml index dd7aaa5..c307787 100644 --- a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Home.cshtml +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Home.cshtml @@ -9,200 +9,5 @@ @Html.GetBlockListHtml(Model.PageContent) - -
-
-
-
- - Image exemple - -
- -
- Sloboda Nema Cenu, - KC Liman -
- Triangle shape -
-
-
-
-
-
-
-
-
-

Trgovina ljudima

-

- Rad smo započeli kao neformalna grupa građanja, ali smo se od - početka trudili da rame uz rame na prevenciji trgovine ljudima - radimo zajedno sa predstavnciima državnih institucija, drugim - organizacijama i loklanim timovima. -

-

- Rad smo započeli kao neformalna grupa građanja, ali smo se od - početka trudili da rame uz rame na prevenciji trgovine ljudima - radimo zajedno sa predstavnciima državnih institucija, drugim - organizacijama i loklanim timovima. -

-
-
- Svg shape - Image alt text -
-
-
-
- -
-
- Shape divider image -
-
- - -
-
-
-
- - Image exemple - -
-
-
-
-
-
-
-
-

About us

-

- Rad smo započeli kao neformalna grupa građanja, ali smo se od - početka trudili da rame uz rame na prevenciji trgovine ljudima - radimo zajedno sa predstavnciima državnih institucija, drugim - organizacijama i loklanim timovima. -

-

- Nakon 7 godina kroz koje smo kao neformalna grupa sakupljali - iskustvo i unapređivali znanje procenili smo da smo spremi za - korak dalje i za veće učšće u borbi protiv trgovine ljudima. - Simbolično, na Evropski dan borbe protiv trgovine ljudima 2020. - godine održana osnivačka skupština na kojoj je Neformalna grupa - „Sloboda nema cenu“ postala Udruženje građana. “ Sloboda nema - cenu“ koje broji 7 članica. -

-
-
- Svg shape - Image alt text -
-
-
-
+ diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/Header.cshtml b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/Header.cshtml index 3c05c8a..bbf9390 100644 --- a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/Header.cshtml +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/Header.cshtml @@ -28,16 +28,48 @@ }
- @*TREBA DODATI IKONICE ZA JEZIKE I NAPRAVITI FUNKCIONALNOST ZA JEZIKE*@ -
- @if(homePage.Cultures != null && homePage.Cultures.Any()) - { - @foreach (var lang in homePage.Cultures) - { -

@lang.Key

+ @if(homePage.NavigationFlags != null && homePage.NavigationFlags.Any()) + { +
+ @{ + var currentCulture = Model.GetCultureFromDomains(); + + if (currentCulture.Equals("sr")) + { + + } + + if (currentCulture.Equals("en-US")) + { + + } + + if (currentCulture.Equals("hu")) + { + + } } - } -
+
    + @foreach(var item in homePage.NavigationFlags) + { + var countryItem = (CountryDropdownItem)item.Content; + +
  • + @countryItem.CountryFlag.Name +
  • + } +
+
+ } diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/blocklist/Components/educationItem.cshtml b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/blocklist/Components/educationItem.cshtml new file mode 100644 index 0000000..512e3d8 --- /dev/null +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/blocklist/Components/educationItem.cshtml @@ -0,0 +1,61 @@ +@using ContentModels = Hakaton.SlobodaNemaCenu.Web.Models.Generated; +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@{ + var item = Model; + var category = item.Category as ContentModels.EducationCategory; + var categoryName = getClass((item.Category as ContentModels.EducationCategory)?.Color?.ToLowerInvariant()); + +} + +
+
+ @if(item.Image is not null){ + + } +
+ @category.Title +
+ Triangle shape +
+
+
+
+

@item.Title

+
+ @if(item.Download is not null){ + + Download + + } + @if(item.Url is not null){ + + Share + + } + +
+
+
+ + + + +@functions{ + + string getClass(string name) { + if (string.IsNullOrEmpty(name)) return string.Empty; + + var colorDictionary = new Dictionary{ + {"light blue", "profesional"}, + {"blue", "people"}, + {"dark blue","media" } }; + if(colorDictionary.TryGetValue(name, out var value)){ + return value; + } + + return "profesional"; + + } + + +} diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/blocklist/Components/imageAndTextModule.cshtml b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/blocklist/Components/imageAndTextModule.cshtml new file mode 100644 index 0000000..113adb5 --- /dev/null +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/blocklist/Components/imageAndTextModule.cshtml @@ -0,0 +1,55 @@ +@using ContentModels = Hakaton.SlobodaNemaCenu.Web.Models.Generated; +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@{ + var item = Model.Content as ContentModels.ImageAndTextModule; +} + +
+
+
+
+

@item.Title

+

+ @item.IntroText +

+

+ @item.BodyCopy +

+
+
+ @if(item.StarColorPicker.Equals("Dark blue")) + { + Svg shape + } + else + { + Svg shape + } + + @if (item.Image != null) + { + + } + else + { + Image alt text + } + +
+
+
+
\ No newline at end of file diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/blocklist/Components/imageAndTextV2.cshtml b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/blocklist/Components/imageAndTextV2.cshtml new file mode 100644 index 0000000..e815e1c --- /dev/null +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/blocklist/Components/imageAndTextV2.cshtml @@ -0,0 +1,27 @@ +@using ContentModels = Hakaton.SlobodaNemaCenu.Web.Models.Generated; +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@{ + var item = Model.Content as ContentModels.ImageAndTextV2; +} + +
+
+
+
+ Image exemple +
+
+

@item.Title

+

+ @item.Description +

+
+ @item.ShortText +
+ Triangle shape +
+
+
+
+
+
\ No newline at end of file diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/blocklist/Components/imageBox.cshtml b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/blocklist/Components/imageBox.cshtml new file mode 100644 index 0000000..92fa4b1 --- /dev/null +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/blocklist/Components/imageBox.cshtml @@ -0,0 +1,22 @@ +@using ContentModels = Hakaton.SlobodaNemaCenu.Web.Models.Generated; +@inherits Umbraco.Cms.Web.Common.Views.UmbracoViewPage +@{ + var item = Model.Content as ContentModels.ImageBox; +} + +@if (item.Image is null) +{ + return; +} + +
+
+
+
+ + Image exemple + +
+
+
+
\ No newline at end of file diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/blocklist/Components/smallBanner.cshtml b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/blocklist/Components/smallBanner.cshtml index 6a48eb4..17f5028 100644 --- a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/blocklist/Components/smallBanner.cshtml +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/Views/Partials/blocklist/Components/smallBanner.cshtml @@ -29,10 +29,10 @@
- Sloboda Nema Cenu, - KC Liman + @item.BoxComment + @item.Comment
- Triangle shape + @item.TriangleComment
diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/assets/fonts/svgicons.svg b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/assets/fonts/svgicons.svg index 0024a71..4249d05 100644 --- a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/assets/fonts/svgicons.svg +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/assets/fonts/svgicons.svg @@ -13,26 +13,44 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/assets/svg/download.svg b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/assets/svg/download.svg new file mode 100644 index 0000000..f7c6f89 --- /dev/null +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/assets/svg/download.svg @@ -0,0 +1,5 @@ + + +download + + diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/assets/svg/dropdown.svg b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/assets/svg/dropdown.svg new file mode 100644 index 0000000..5e4ddc1 --- /dev/null +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/assets/svg/dropdown.svg @@ -0,0 +1,3 @@ + + + diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/assets/svg/share.svg b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/assets/svg/share.svg new file mode 100644 index 0000000..8d9791d --- /dev/null +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/assets/svg/share.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/css/style.css b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/css/style.css index f3f39a9..493798a 100644 --- a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/css/style.css +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/css/style.css @@ -144,7 +144,7 @@ table { @font-face { font-family: "svgicons"; font-display: block; - src: url("../assets/fonts/svgicons.woff2?f6254b4f772261bc1e5f9f18b682d76c") format("woff2"), url("../assets/fonts/svgicons.woff?f6254b4f772261bc1e5f9f18b682d76c") format("woff"), url("../assets/fonts/svgicons.svg?f6254b4f772261bc1e5f9f18b682d76c#svgicons") format("svg"); + src: url("../assets/fonts/svgicons.woff2?ea7b42ea431ad2475cebe51390efb192") format("woff2"), url("../assets/fonts/svgicons.woff?ea7b42ea431ad2475cebe51390efb192") format("woff"), url("../assets/fonts/svgicons.svg?ea7b42ea431ad2475cebe51390efb192#svgicons") format("svg"); } .icon { line-height: 1; @@ -161,22 +161,34 @@ table { content: "\f101"; } -.icon-facebook:before { +.icon-download:before { content: "\f102"; } -.icon-instagram:before { +.icon-dropdown:before { content: "\f103"; } -.icon-linkedin:before { +.icon-facebook:before { content: "\f104"; } -.icon-twitter:before { +.icon-instagram:before { content: "\f105"; } +.icon-linkedin:before { + content: "\f106"; +} + +.icon-share:before { + content: "\f107"; +} + +.icon-twitter:before { + content: "\f108"; +} + * { box-sizing: border-box; } @@ -277,18 +289,39 @@ body { font-weight: 700; margin-bottom: 15px; } +@media only screen and (max-width: 1023.98px) { + .rte h1, + .h1 { + font-size: 32px; + margin-bottom: 12px; + } +} .rte h2, .h2 { font-size: 40px; margin-bottom: 20px; } +@media only screen and (max-width: 767.98px) { + .rte h2, + .h2 { + font-size: 24px; + margin-bottom: 12px; + } +} .rte h3, .h3 { font-size: 24px; margin-bottom: 15px; } +@media only screen and (max-width: 767.98px) { + .rte h3, + .h3 { + font-size: 20px; + margin-bottom: 12px; + } +} .rte h4, .h4 { @@ -322,10 +355,11 @@ body { .rte { max-width: 793px; + padding: 0 20px; margin: 0 auto 64px; } .rte img { - border-radius: 0px 20px 20px 0px; + border-radius: 0 20px 20px 0; width: 100%; margin-bottom: 32px; } @@ -945,6 +979,11 @@ button.swiper-pagination-bullet { display: flex; margin-bottom: 23px; } +@media only screen and (max-width: 1023.98px) { + .icons { + justify-content: center; + } +} .icon-link { display: inline-block; @@ -976,11 +1015,36 @@ button.swiper-pagination-bullet { color: #fff; border-top: 6px solid #49b4d6; } +@media only screen and (max-width: 1023.98px) { + .header { + position: relative; + z-index: 10; + } +} .header__container { display: flex; align-items: center; } +@media only screen and (max-width: 1023.98px) { + .header__container.active .nav { + display: block; + } + .header__container.active .mobile-menu::before { + transform: translateY(8px) rotate(135deg); + } + .header__container.active .mobile-menu::after { + transform: translateY(-10px) rotate(-135deg); + } + .header__container.active .mobile-menu div { + transform: scale(0); + } +} + +.logo { + position: relative; + z-index: 2; +} .logo__img { display: block; @@ -989,21 +1053,67 @@ button.swiper-pagination-bullet { .header-action { margin-left: auto; + display: flex; + align-items: center; +} +@media only screen and (max-width: 1023.98px) { + .header-action .header-btn { + display: none; + } +} + +@media only screen and (max-width: 1023.98px) { + .nav { + display: none; + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; + background: #0c3c63; + border-top: 6px solid #49b4d6; + text-align: center; + } +} +.nav .header-btn { + display: none; +} +@media only screen and (max-width: 1023.98px) { + .nav .header-btn { + display: inline-block; + } } .nav__list { display: flex; } +@media only screen and (max-width: 1023.98px) { + .nav__list { + flex-direction: column; + text-align: center; + margin-top: 108px; + } +} .nav__item { font-size: 14px; font-weight: 500; margin-left: 24px; } +@media only screen and (max-width: 1023.98px) { + .nav__item { + margin-left: 0; + } +} .nav__item.active .nav__link { color: #49b4d6; font-weight: 600; } +@media only screen and (max-width: 1023.98px) { + .nav__item { + margin-bottom: 31px; + } +} .nav__link { display: block; @@ -1029,14 +1139,48 @@ button.swiper-pagination-bullet { margin: 7px 0; transition: 0.4s ease-out; } -.mobile-menu:hover::before { - transform: translateY(8px) rotate(135deg); +@media only screen and (max-width: 1023.98px) { + .mobile-menu { + display: block; + } } -.mobile-menu:hover::after { - transform: translateY(-10px) rotate(-135deg); + +.language-dropdown { + position: relative; } -.mobile-menu:hover div { - transform: scale(0); +.language-dropdown.is-active .checkbox-dropdown-list { + opacity: 1; + pointer-events: auto; +} +.language-dropdown .btn { + border: none; + padding: 12px; + margin-right: 20px; +} +.language-dropdown .btn.is-active ~ .checkbox-dropdown-list { + opacity: 1; + pointer-events: auto; +} +.language-dropdown .btn .icon { + font-size: 9px; + margin-right: 8px; + position: relative; + top: 4px; +} +@media (hover: hover) and (pointer: fine) { + .language-dropdown .btn:hover { + background-color: transparent; + } +} +.language-dropdown .btn img { + width: 30px; +} +.language-dropdown .checkbox-dropdown-list { + width: 60px; +} +.language-dropdown .checkbox-dropdown-list li { + padding: 6px 22px 6px 8px; + cursor: pointer; } .footer { @@ -1047,14 +1191,37 @@ button.swiper-pagination-bullet { .footer .logo__img { max-width: 80px; } +@media only screen and (max-width: 1023.98px) { + .footer .logo__img { + margin: 0 auto; + } +} .footer-wrap { - display: flex; - justify-content: space-between; - align-items: center; padding: 43px 0; } +@media only screen and (min-width: 1024px) { + .footer-wrap { + display: flex; + justify-content: space-between; + align-items: center; + } +} +@media only screen and (max-width: 1023.98px) { + .footer-nav .nav { + display: block; + position: static; + background-color: transparent; + border: none; + } + .footer-nav .nav__list { + flex-direction: row; + justify-content: center; + flex-wrap: wrap; + margin-top: 24px; + } +} .footer-nav .nav__item { margin-left: 0; margin-right: 24px; @@ -1068,12 +1235,23 @@ button.swiper-pagination-bullet { .footer-links .btn { margin-bottom: 20px; } +@media only screen and (max-width: 1023.98px) { + .footer-links { + align-items: center; + margin-top: 24px; + } +} .footer-bottom { padding: 14px 0 20px; text-align: center; background-color: #49b4d6; } +@media only screen and (max-width: 1023.98px) { + .footer-bottom { + padding: 17px 0; + } +} .footer-bottom__text { font-size: 14px; color: #fff; @@ -1087,22 +1265,47 @@ button.swiper-pagination-bullet { flex: 1 0 240px; max-width: 240px; } +@media only screen and (max-width: 1023.98px) { + .banner { + margin: 30px 0 60px; + } +} -.banner-wrap { - display: flex; - align-items: center; - justify-content: space-between; +@media only screen and (min-width: 768px) { + .banner-wrap { + display: flex; + align-items: center; + justify-content: space-between; + } } -.banner-img { - flex: 1 0 319px; - max-width: 319px; - margin-left: 45px; +@media only screen and (max-width: 767.98px) { + .banner-img { + max-width: 100%; + text-align: center; + margin-top: 40px; + } + .banner-img img { + max-width: 257px; + margin: 0 auto; + } +} +@media only screen and (min-width: 768px) { + .banner-img { + flex: 1 0 319px; + max-width: 319px; + margin-left: 45px; + } } .banner-text { max-width: 753px; } +@media only screen and (min-width: 768px) { + .banner-text { + max-width: 753px; + } +} .banner-subtitle { font-size: 20px; @@ -1111,6 +1314,12 @@ button.swiper-pagination-bullet { color: #49b4d6; margin-bottom: 14px; } +@media only screen and (max-width: 767.98px) { + .banner-subtitle { + font-size: 14px; + margin-bottom: 12px; + } +} .banner-buttons { margin-top: 24px; @@ -1118,6 +1327,18 @@ button.swiper-pagination-bullet { .banner-buttons .btn:nth-of-type(2) { margin-left: 14px; } +@media only screen and (max-width: 767.98px) { + .banner-buttons { + margin-top: 20px; + display: flex; + flex-direction: column; + align-items: baseline; + } + .banner-buttons .btn:nth-of-type(2) { + margin-left: 0; + margin-top: 12px; + } +} .image-box { margin-bottom: 80px; @@ -1140,6 +1361,11 @@ button.swiper-pagination-bullet { width: 100%; height: 100%; } +@media only screen and (max-width: 767.98px) { + .image-box__img img { + border-radius: 40px 40px 0; + } +} .image-box__link { display: block; @@ -1167,16 +1393,21 @@ button.swiper-pagination-bullet { .image-box__comment span.grey { color: rgba(255, 255, 255, 0.6); } +@media only screen and (max-width: 767.98px) { + .image-box__comment { + right: 3px; + } +} .triangle-comment { position: absolute; - width: 0px; - height: 0px; + width: 0; + height: 0; border-style: solid; border-width: 26px 43px 0 0; border-color: #49b4d6 transparent transparent transparent; transform: rotate(67deg); - margin: 14px 0px 1px 0px; + margin: 14px 0 1px; z-index: -1; bottom: -24px; left: 22px; @@ -1185,16 +1416,30 @@ button.swiper-pagination-bullet { .image-text { margin: 115px 0 64px; } +@media only screen and (max-width: 1023.98px) { + .image-text { + margin: 90px 0 64px; + } +} -.image-text__wrap { - display: flex; - justify-content: space-between; - align-items: center; +@media only screen and (min-width: 1024px) { + .image-text__wrap { + display: flex; + justify-content: space-between; + align-items: center; + } } -.image-text__content { - max-width: 560px; - margin-right: 48px; +@media only screen and (max-width: 1023.98px) { + .image-text__content { + margin-bottom: 56px; + } +} +@media only screen and (min-width: 1024px) { + .image-text__content { + max-width: 560px; + margin-right: 48px; + } } .image-text__paragraph.bold { @@ -1207,6 +1452,11 @@ button.swiper-pagination-bullet { .image-text__image { position: relative; } +@media only screen and (max-width: 1023.98px) { + .image-text__image { + padding-left: 34px; + } +} .image-text__image-main { border: 2px solid #196293; @@ -1216,6 +1466,12 @@ button.swiper-pagination-bullet { height: 100%; max-width: 463px; } +@media only screen and (max-width: 1023.98px) { + .image-text__image-main { + border-radius: 40px 40px 0; + max-width: 100%; + } +} .image-text__image-shape { position: absolute; @@ -1223,6 +1479,13 @@ button.swiper-pagination-bullet { left: -66px; max-width: 147px; } +@media only screen and (max-width: 1023.98px) { + .image-text__image-shape { + max-width: 92px; + top: -43px; + left: 0; + } +} .title-cards { margin-bottom: 64px; @@ -1231,20 +1494,42 @@ button.swiper-pagination-bullet { .title-cards__wrap { text-align: center; } +@media only screen and (max-width: 767.98px) { + .title-cards__wrap { + text-align: left; + } +} .title-cards__boxes { - text-align: left; - display: flex; - justify-content: center; margin-bottom: 36px; } +@media only screen and (min-width: 768px) { + .title-cards__boxes { + text-align: left; + display: flex; + justify-content: center; + } +} -.title-card { - flex: 1 1 367px; - max-width: 367px; +@media only screen and (min-width: 768px) { + .title-card { + flex: 1 1 367px; + max-width: 367px; + } + .title-card:not(:last-of-type) { + margin-right: 20px; + } } -.title-card:not(:last-of-type) { - margin-right: 20px; +@media only screen and (max-width: 767.98px) { + .title-card { + margin-bottom: 30px; + } +} + +@media only screen and (max-width: 767.98px) { + .title-card__title { + padding-left: 20px; + } } .title-card__text { @@ -1273,9 +1558,11 @@ button.swiper-pagination-bullet { .shape-divider { margin-bottom: 64px; + overflow: hidden; } .shape-divider img { display: block; + min-width: 1123px; } .related-news { @@ -1293,7 +1580,7 @@ button.swiper-pagination-bullet { margin-bottom: 0; } -@media only screen and (max-width: 991.98px) { +@media only screen and (max-width: 1023.98px) { .related-news__btn { display: none; } @@ -1311,7 +1598,6 @@ button.swiper-pagination-bullet { @media only screen and (min-width: 768px) { .related-news__cards .swiper-wrapper { flex-wrap: wrap; - justify-content: center; } } @@ -1322,12 +1608,10 @@ button.swiper-pagination-bullet { } @media only screen and (min-width: 768px) { .related-news__card { - max-width: 366px; - flex: 1 1 366px; - margin-bottom: 20px; - } - .related-news__card:not(:nth-of-type(3n)) { - margin-right: 20px; + max-width: 50%; + flex: 1 1 30%; + min-width: 285px; + margin: 0 9px 20px; } } @media (hover: hover) and (pointer: fine) { @@ -1344,7 +1628,9 @@ button.swiper-pagination-bullet { } .related-news__tags { - position: relative; + position: absolute; + bottom: 16px; + right: 16px; z-index: 2; } @@ -1365,18 +1651,12 @@ button.swiper-pagination-bullet { object-fit: cover; } -.related-news__tags { - position: absolute; - bottom: 16px; - right: 16px; -} - .related-news__tag { display: inline-block; background-color: #49b4d6; font-weight: 500; line-height: normal; - padding: 8px 10px 7px 10px; + padding: 8px 10px 7px; border-radius: 16px; } .related-news__tag:nth-of-type(2n) { @@ -1415,7 +1695,6 @@ button.swiper-pagination-bullet { .background-text__content { font-size: 217px; - color: #fff; font-weight: 700; white-space: nowrap; display: block; @@ -1423,8 +1702,15 @@ button.swiper-pagination-bullet { color: transparent; -webkit-text-stroke-width: 4px; -webkit-text-stroke-color: rgba(255, 255, 255, 0.4); - filter: drop-shadow(0px 0px 17px rgba(255, 255, 255, 0.4)); + filter: drop-shadow(0 0 17px rgba(255, 255, 255, 0.4)); font-family: sans-serif; + mix-blend-mode: soft-light; +} +@media only screen and (max-width: 767.98px) { + .background-text__content { + font-size: 60px; + -webkit-text-stroke-width: 1px; + } } .background-text__content span { display: inline-block; @@ -1451,17 +1737,35 @@ button.swiper-pagination-bullet { border-radius: 0 40px 0 0; } -.image-text-box__wrap { - display: flex; +@media only screen and (min-width: 1024px) { + .image-text-box__wrap { + display: flex; + } } .image-text-box__image { - flex: 1 0 50%; - max-width: 50%; border-radius: 0 0 0 40px; overflow: hidden; position: relative; } +@media only screen and (min-width: 1024px) { + .image-text-box__image { + flex: 1 0 50%; + max-width: 50%; + } +} +@media only screen and (max-width: 1023.98px) { + .image-text-box__image { + height: 372px; + border-radius: 0 40px 0 0; + } +} +@media only screen and (max-width: 767.98px) { + .image-text-box__image { + height: 195px; + border-radius: 0 20px 0 0; + } +} .image-text-box__image img { position: absolute; top: 0; @@ -1473,13 +1777,28 @@ button.swiper-pagination-bullet { } .image-text-box__content { - flex: 1 0 50%; - max-width: 50%; position: relative; padding: 48px 40px 83px; border-radius: 0 40px 0 0; background: #084a7c; } +@media only screen and (min-width: 1024px) { + .image-text-box__content { + flex: 1 0 50%; + max-width: 50%; + } +} +@media only screen and (max-width: 1023.98px) { + .image-text-box__content { + border-radius: 0 0 40px; + } +} +@media only screen and (max-width: 767.98px) { + .image-text-box__content { + border-radius: 0 0 20px; + padding: 20px 20px 70px; + } +} .image-text-box__content .image-box__comment { padding: 21px 17px; right: auto; @@ -1503,8 +1822,14 @@ button.swiper-pagination-bullet { animation: none; -webkit-text-stroke-color: #084a7c; mix-blend-mode: screen; + white-space: normal; filter: none; } +@media only screen and (max-width: 1199.98px) { + .image-grid .background-text__content { + font-size: 14vw; + } +} .image-grid__content { text-align: center; @@ -1513,23 +1838,36 @@ button.swiper-pagination-bullet { .image-grid__images { display: flex; flex-wrap: wrap; + justify-content: center; margin-bottom: 20px; margin-top: -60px; } +@media only screen and (max-width: 1199.98px) { + .image-grid__images { + margin-top: -50px; + } +} +@media only screen and (max-width: 1023.98px) { + .image-grid__images { + margin-top: -40px; + } +} +@media only screen and (max-width: 767.98px) { + .image-grid__images { + margin-top: -20px; + } +} .image-grid__link { display: block; - flex: 1 0 275px; + flex: 1 1 275px; max-width: 275px; height: 275px; border-radius: 20px; overflow: hidden; position: relative; - margin-bottom: 12px; transition: 0.4s ease-out; -} -.image-grid__link:not(:nth-of-type(4n)) { - margin-right: 12px; + margin: 0 5px 12px; } .image-grid__link img { position: absolute; @@ -1577,6 +1915,24 @@ button.swiper-pagination-bullet { .two-images__wrap img:not(:nth-of-type(2)) { margin-right: 20px; } +@media only screen and (max-width: 767.98px) { + .two-images__wrap img:not(:nth-of-type(2)) { + margin-right: 0; + margin-bottom: 14px; + border-radius: 16px; + } +} +@media only screen and (max-width: 767.98px) { + .two-images__wrap img { + flex: 1 1 100%; + max-width: 100%; + } +} +@media only screen and (max-width: 767.98px) { + .two-images__wrap { + flex-direction: column; + } +} .education-filters { margin: 20px 0; @@ -1586,15 +1942,30 @@ button.swiper-pagination-bullet { display: inline-block; position: relative; } +.checkbox-dropdown.is-active .checkbox-dropdown-list { + opacity: 1; + pointer-events: auto; +} .checkbox-dropdown .btn { padding: 15px 32px; } +.checkbox-dropdown .btn .icon { + font-size: 9px; + color: #49b4d6; + margin-left: 10px; + position: relative; + top: 3px; +} +@media (hover: hover) and (pointer: fine) { + .checkbox-dropdown .btn:hover .icon { + color: #fff; + } +} .checkbox-dropdown-list { + padding: 10px 0; z-index: 3; list-style: none; - margin: 0; - padding: 0; position: absolute; top: 100%; border: inherit; @@ -1604,17 +1975,12 @@ button.swiper-pagination-bullet { opacity: 0; transition: 0.4s ease-in-out; width: 152px; - pointer-events: none; /* avoid mouse click events inside the dropdown */ + pointer-events: none; background: rgba(73, 180, 214, 0.9); border-radius: 6px; } -.checkbox-dropdown-list.is-active { - opacity: 1; /* display the dropdown */ - pointer-events: auto; /* make sure that the user still can select checkboxes */ -} - .checkbox-dropdown-list li { - padding: 9px 16px 9px 27px; + padding: 9px 16px 9px 44px; position: relative; } .checkbox-dropdown-list input { @@ -1627,26 +1993,30 @@ button.swiper-pagination-bullet { .checkbox-dropdown-list input:checked ~ .checkmark:after { display: block; } +.checkbox-dropdown-list input:checked ~ .checkmark { + background-color: #fff; +} .checkbox-dropdown-list .checkmark { position: absolute; - top: 0; - left: 0; + top: 5px; + left: 16px; height: 20px; width: 20px; border-radius: 4px; border: 1px solid #fff; background: rgba(255, 255, 255, 0.5); + transition: 0.4s ease-out; } .checkbox-dropdown-list .checkmark::after { content: ""; position: absolute; display: none; - left: 9px; - top: 5px; - width: 5px; + left: 6px; + top: 2px; + width: 6px; height: 10px; - border: solid white; - border-width: 0 3px 3px 0; + border: solid #49b4d6; + border-width: 0 1px 1px 0; transform: rotate(45deg); } .checkbox-dropdown-list label { @@ -1654,6 +2024,112 @@ button.swiper-pagination-bullet { font-weight: 500; display: flex; align-items: center; + cursor: pointer; +} + +.education-cards__wrap { + margin-bottom: 44px; +} +@media only screen and (min-width: 768px) { + .education-cards__wrap { + display: flex; + flex-wrap: wrap; + } +} + +.education-card { + margin-bottom: 20px; +} +@media only screen and (min-width: 768px) { + .education-card { + flex: 1 1 30%; + max-width: 50%; + margin: 0 9px 20px; + } +} +.education-card.people .image-box__comment { + background-color: #084a7c; +} +.education-card.people .triangle-comment { + border-color: #084a7c transparent transparent transparent; +} +.education-card.people .education-card-content { + background-color: #084a7c; +} +.education-card.media .image-box__comment { + background-color: #1c7da3; +} +.education-card.media .triangle-comment { + border-color: #1c7da3 transparent transparent transparent; +} +.education-card.media .education-card-content { + background-color: #1c7da3; +} + +.education-card-top { + height: 150px; + position: relative; + border-radius: 0 20px 0 0; + overflow: hidden; +} +.education-card-top img { + position: absolute; + top: 0; + left: 0; + -o-object-fit: cover; + object-fit: cover; + width: 100%; + height: 100%; +} +.education-card-top .image-box__comment { + top: 16px; + left: 16px; + right: auto; + bottom: auto; + padding: 9px 16px; + border-radius: 8px; +} +.education-card-top .triangle-comment { + border-width: 13px 22px 0 0; + margin: 19px 0 11px; +} + +.education-card-content { + padding: 16px; + border-radius: 0 0 20px 0; + background-color: #49b4d6; + display: flex; + flex-direction: column; + min-height: 136px; +} + +.education-card__text { + font-size: 20px; + font-weight: 600; + line-height: normal; + text-decoration-line: underline; + margin-bottom: 16px; +} + +.education-icons { + margin-top: auto; +} +.education-icons .education-icon { + display: inline-block; + background-color: #82d5e8; + font-size: 24px; + padding: 8px; + border-radius: 5px; + transition: 0.4s ease-out; + color: #fff; +} +.education-icons .education-icon:not(:nth-of-type(2)) { + margin-right: 20px; +} +@media (hover: hover) and (pointer: fine) { + .education-icons .education-icon:hover { + opacity: 0.7; + } } /* -------------------------------------------------------------- diff --git a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/js/script.js b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/js/script.js index 4c57ce6..cebd8fe 100644 --- a/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/js/script.js +++ b/Hakaton.SlobodaNemaCenu/Hakaton.SlobodaNemaCenu.Web/wwwroot/js/script.js @@ -36,7 +36,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac \****************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst dropdown = {\r\n init: function () {\r\n this.filterDropdown();\r\n },\r\n\r\n filterDropdown: function () {\r\n document\r\n .querySelector('.checkbox-dropdown-btn')\r\n .addEventListener('click', function (event) {\r\n event.preventDefault();\r\n var target = document.querySelector('.checkbox-dropdown-list');\r\n if (target.classList.contains('is-active')) {\r\n target.classList.remove('is-active');\r\n } else {\r\n target.classList.add('is-active');\r\n }\r\n });\r\n }\r\n};\r\n\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (dropdown);\r\n\n\n//# sourceURL=webpack://vega-it-internship-starter/./src/js/dropdown.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst dropdown = {\r\n init: function () {\r\n this.filterDropdown();\r\n },\r\n\r\n filterDropdown: function () {\r\n let dropdown = document.querySelectorAll('.js-dropdown-btn');\r\n dropdown.forEach((button) => {\r\n button.addEventListener('click', function (e) {\r\n e.target.parentNode.classList.toggle('is-active');\r\n });\r\n });\r\n }\r\n};\r\n\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (dropdown);\r\n\n\n//# sourceURL=webpack://vega-it-internship-starter/./src/js/dropdown.js?"); + +/***/ }), + +/***/ "./src/js/header.js": +/*!**************************!*\ + !*** ./src/js/header.js ***! + \**************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\nconst header = {\r\n init: function () {\r\n this.mobileMenu();\r\n },\r\n\r\n mobileMenu: function () {\r\n document\r\n .querySelector('.mobile-menu')\r\n .addEventListener('click', function (event) {\r\n event.preventDefault();\r\n var target = document.querySelector('.header__container');\r\n var body = document.querySelector('body');\r\n if (target.classList.contains('active')) {\r\n target.classList.remove('active');\r\n body.classList.remove('scroll-disabled');\r\n } else {\r\n target.classList.add('active');\r\n body.classList.add('scroll-disabled');\r\n }\r\n });\r\n }\r\n};\r\n\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (header);\r\n\n\n//# sourceURL=webpack://vega-it-internship-starter/./src/js/header.js?"); /***/ }), @@ -46,7 +56,17 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac \**************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var swiper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! swiper */ \"./node_modules/swiper/swiper.mjs\");\n/* harmony import */ var _background_text__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./background-text */ \"./src/js/background-text.js\");\n/* harmony import */ var _dropdown__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dropdown */ \"./src/js/dropdown.js\");\n//slider related news\r\n\r\nvar init = false;\r\nvar swiper;\r\nfunction swiperCard() {\r\n if (window.innerWidth <= 768) {\r\n if (!init) {\r\n init = true;\r\n swiper = new swiper__WEBPACK_IMPORTED_MODULE_0__[\"default\"]('.js-swiper', {\r\n direction: 'horizontal',\r\n slidesPerView: 1,\r\n centeredSlides: true,\r\n spaceBetween: 10\r\n });\r\n }\r\n } else if (init) {\r\n swiper.destroy();\r\n init = false;\r\n }\r\n}\r\nswiperCard();\r\nwindow.addEventListener('resize', swiperCard);\r\n// scroll text\r\n\r\n_background_text__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init();\r\n\r\n\r\n_dropdown__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init();\r\n\n\n//# sourceURL=webpack://vega-it-internship-starter/./src/js/script.js?"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _slider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./slider */ \"./src/js/slider.js\");\n/* harmony import */ var _header__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./header */ \"./src/js/header.js\");\n/* harmony import */ var _background_text__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./background-text */ \"./src/js/background-text.js\");\n/* harmony import */ var _dropdown__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dropdown */ \"./src/js/dropdown.js\");\n\r\n_slider__WEBPACK_IMPORTED_MODULE_0__[\"default\"].init();\r\n\r\n\r\n_header__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init();\r\n\r\n\r\n_background_text__WEBPACK_IMPORTED_MODULE_2__[\"default\"].init();\r\n\r\n\r\n_dropdown__WEBPACK_IMPORTED_MODULE_3__[\"default\"].init();\r\n\n\n//# sourceURL=webpack://vega-it-internship-starter/./src/js/script.js?"); + +/***/ }), + +/***/ "./src/js/slider.js": +/*!**************************!*\ + !*** ./src/js/slider.js ***! + \**************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var swiper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! swiper */ \"./node_modules/swiper/swiper.mjs\");\n\r\nconst slider = {\r\n init: function () {\r\n this.slider();\r\n window.addEventListener('resize', slider);\r\n },\r\n\r\n slider: function () {\r\n var init = false;\r\n var swiper;\r\n if (window.innerWidth <= 768) {\r\n if (!init) {\r\n init = true;\r\n swiper = new swiper__WEBPACK_IMPORTED_MODULE_0__[\"default\"]('.js-swiper', {\r\n direction: 'horizontal',\r\n slidesPerView: 1,\r\n centeredSlides: true,\r\n spaceBetween: 10\r\n });\r\n }\r\n } else if (init) {\r\n swiper.destroy();\r\n init = false;\r\n }\r\n }\r\n};\r\n\r\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (slider);\r\n\n\n//# sourceURL=webpack://vega-it-internship-starter/./src/js/slider.js?"); /***/ }), diff --git a/frontend/src/about.html b/frontend/src/about.html index c6cd223..2b707f3 100644 --- a/frontend/src/about.html +++ b/frontend/src/about.html @@ -6,7 +6,7 @@ Sloboda Nema Cenu - +
@@ -52,7 +52,17 @@
-
+
+ +
    +
  • + +
  • +
+
@@ -358,6 +368,6 @@

About us

- + diff --git a/frontend/src/activities.html b/frontend/src/activities.html index 64c3496..20ba93e 100644 --- a/frontend/src/activities.html +++ b/frontend/src/activities.html @@ -52,7 +52,17 @@
-
+
+ +
    +
  • + +
  • +
+
diff --git a/frontend/src/assets/images/state.svg b/frontend/src/assets/images/state.svg new file mode 100644 index 0000000..72fd4aa --- /dev/null +++ b/frontend/src/assets/images/state.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/assets/svg/download.svg b/frontend/src/assets/svg/download.svg new file mode 100644 index 0000000..f7c6f89 --- /dev/null +++ b/frontend/src/assets/svg/download.svg @@ -0,0 +1,5 @@ + + +download + + diff --git a/frontend/src/assets/svg/dropdown.svg b/frontend/src/assets/svg/dropdown.svg new file mode 100644 index 0000000..5e4ddc1 --- /dev/null +++ b/frontend/src/assets/svg/dropdown.svg @@ -0,0 +1,3 @@ + + + diff --git a/frontend/src/assets/svg/share.svg b/frontend/src/assets/svg/share.svg new file mode 100644 index 0000000..8d9791d --- /dev/null +++ b/frontend/src/assets/svg/share.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/blog.html b/frontend/src/blog.html index 6bfd165..f2e100b 100644 --- a/frontend/src/blog.html +++ b/frontend/src/blog.html @@ -52,7 +52,17 @@
-
+
+ +
    +
  • + +
  • +
+
diff --git a/frontend/src/education.html b/frontend/src/education.html index 4f82c86..ca5430d 100644 --- a/frontend/src/education.html +++ b/frontend/src/education.html @@ -52,7 +52,17 @@
-
+
+ +
    +
  • + +
  • +
+
@@ -85,10 +95,10 @@

Education

- -
    +
+
+
+
+
+
+ +
+ profesionalci +
+ Triangle shape +
+
+
+
+

Lorem ipsum dolor sit amet

+
+ Download + Share +
+
+
+
+
+ +
+ profesionalci +
+ Triangle shape +
+
+
+
+

Lorem ipsum dolor sit amet

+
+ Download + Share +
+
+
+
+
+ +
+ profesionalci +
+ Triangle shape +
+
+
+
+

Lorem ipsum dolor sit amet

+
+ Download + Share +
+
+
+
+
+ +
+ profesionalci +
+ Triangle shape +
+
+
+
+

Lorem ipsum dolor sit amet

+
+ Download + Share +
+
+
+
+
+ +
+ gradjani +
+ Triangle shape +
+
+
+
+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit +

+
+ Download + Share +
+
+
+
+
+ +
+ mediji +
+ Triangle shape +
+
+
+
+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit +

+
+ Download + Share +
+
+
+
+
+