Added promotion links

This commit is contained in:
Assistant 2019-06-18 13:59:16 -07:00
parent 12e29562cb
commit 7503919fb3
4 changed files with 70 additions and 1 deletions

View file

@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ModAssistant
{
class Promotions
{
public static Promotion[] ActivePromotions =
{
new Promotion
{
ModName = "YUR Fit Calorie Tracker",
Text = "Join our Discord!",
Link = "https://yur.chat"
}
};
}
class Promotion
{
public string ModName;
public string Text;
public string Link;
}
}

View file

@ -63,6 +63,7 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</ApplicationDefinition>
<Compile Include="Classes\Promotions.cs" />
<Compile Include="Classes\Diagnostics.cs" />
<Compile Include="Classes\Updater.cs" />
<Compile Include="Pages\Intro.xaml.cs">

View file

@ -31,7 +31,22 @@
</GridViewColumn>
<GridViewColumn Header="Latest" DisplayMemberBinding="{Binding ModVersion}" />
<GridViewColumn x:Name="DescriptionColumn" Header="Description" Width="750" DisplayMemberBinding="{Binding ModDescription}"/>
<GridViewColumn x:Name="DescriptionColumn" Header="Description" Width="750" >
<GridViewColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Margin="{Binding PromotionMargin}">
<Hyperlink NavigateUri="{Binding PromotionLink}" RequestNavigate="Hyperlink_RequestNavigate">
<TextBlock Text="{Binding PromotionText}" />
</Hyperlink>
</TextBlock>
<TextBlock Text="{Binding ModDescription}" />
</StackPanel>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn x:Name="UninstallColumn" Header="Uninstall" Width="70">
<GridViewColumn.CellTemplate>
<DataTemplate>

View file

@ -241,6 +241,15 @@ namespace ModAssistant.Pages
Category = mod.category
};
foreach (Promotion promo in Promotions.ActivePromotions)
{
if (mod.name == promo.ModName)
{
ListItem.PromotionText = promo.Text;
ListItem.PromotionLink = promo.Link;
}
}
foreach (Mod installedMod in InstalledMods)
{
if (mod.name == installedMod.name)
@ -500,6 +509,16 @@ namespace ModAssistant.Pages
}
}
public string PromotionText { get; set; }
public string PromotionLink { get; set; }
public string PromotionMargin
{
get
{
if (String.IsNullOrEmpty(PromotionText)) return "0";
return "0,0,5,0";
}
}
}
private void ModsListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
@ -563,5 +582,11 @@ namespace ModAssistant.Pages
view.Refresh();
}
}
private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
{
Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri));
e.Handled = true;
}
}
}