/*
* Copyright (c) 2023 Proton AG
*
* This file is part of ProtonVPN.
*
* ProtonVPN is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* ProtonVPN is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with ProtonVPN. If not, see .
*/
using ProtonVPN.Api.Contracts.ReportAnIssue;
using ProtonVPN.Client.Logic.Feedback.Models;
namespace ProtonVPN.Client.Logic.Feedback;
internal class ReportIssueDefaultDataProvider
{
public static List GetCategories()
{
return new List
{
new()
{
Label = "Browsing speed",
SubmitLabel = "Browsing speed",
Suggestions =
new List
{
new()
{
Text = "Turn off Secure Core. It can sometimes slow down your connection.",
Link = "https://protonvpn.com/support/secure-core-vpn"
},
new()
{
Text = "Use another VPN protocol.",
Link = "https://protonvpn.com/support/how-to-change-vpn-protocols"
},
new()
{
Text = "Try a different server. Servers in nearby countries often have faster connection speeds."
}
},
InputFields = new List
{
new()
{
Label = "Network type",
SubmitLabel = "Network type",
Type = InputType.SingleLineInput,
Placeholder = "Home WiFi, School Wi-Fi, Work, Public Wi-Fi",
IsMandatory = true
},
new()
{
Label = "What are you trying to do?",
SubmitLabel = "What are you trying to do?",
Type = InputType.MultiLineInput,
Placeholder = "Example: browse a website, upload pictures, download a PDF",
IsMandatory = true
},
new()
{
Label = "What is the speed you are getting?",
SubmitLabel = "What is the speed you are getting?",
Type = InputType.SingleLineInput,
Placeholder = "Example: 20 KB in download",
IsMandatory = true
},
new()
{
Label = "What is your connection speed without VPN?",
SubmitLabel = "What is your connection speed without VPN?",
Type = InputType.SingleLineInput,
Placeholder = "Example: 10 MB in download",
IsMandatory = true
}
}
},
new()
{
Label = "Connecting to VPN",
SubmitLabel = "Connecting to VPN",
Suggestions =
new List
{
new() { Text = "Try a different server. Servers in nearby countries often have faster connection speeds." },
new()
{
Text = "Switch to another protocol from the settings.",
Link = "https://protonvpn.com/support/how-to-change-vpn-protocols"
},
new()
{
Text = "Turn off any antivirus or firewall software. They could be interfering with your VPN connection."
}
},
InputFields = new List
{
new()
{
Label = "Network type",
SubmitLabel = "Network type",
Type = InputType.SingleLineInput,
Placeholder = "Home WiFi, School Wi-Fi, Work, Public Wi-Fi",
IsMandatory = true
},
new()
{
Label = "What steps have you taken to try to connect to VPN?",
SubmitLabel = "What steps have you taken to try to connect to VPN?",
Type = InputType.MultiLineInput,
IsMandatory = true
},
new()
{
Label = "Have you tried any quick fixes? If so, which ones?",
SubmitLabel = "Have you tried any quick fixes? If so, which ones?",
Type = InputType.MultiLineInput,
IsMandatory = true
}
}
},
new()
{
Label = "Weak or unstable connection",
SubmitLabel = "Weak or unstable connection",
Suggestions =
new List
{
new() { Text = "Try a different server. Servers in nearby countries often have faster connection speeds." },
new()
{
Text = "Use another VPN protocol.",
Link = "https://protonvpn.com/support/how-to-change-vpn-protocols"
},
new()
{
Text = "Turn off any antivirus or firewall software. They could be interfering with your VPN connection."
}
},
InputFields = new List
{
new()
{
Label = "Network type",
SubmitLabel = "Network type",
Type = InputType.SingleLineInput,
Placeholder = "Home WiFi, School Wi-Fi, Work, Public Wi-Fi",
IsMandatory = true
},
new()
{
Label = "Did you get an error message? If so, what did it say?",
SubmitLabel = "Did you get an error message? If so, what did it say?",
Type = InputType.MultiLineInput,
IsMandatory = true
},
new()
{
Label = "What have you tried already from the suggestions?",
SubmitLabel = "What have you tried already from the suggestions?",
Type = InputType.MultiLineInput,
IsMandatory = true
}
}
},
new()
{
Label = "Using the app",
SubmitLabel = "Using the app",
Suggestions =
new List
{
new() { Text = "Log out and log back in." },
new() { Text = "Restart the app." }
},
InputFields = new List
{
new()
{
Label = "What went wrong?",
SubmitLabel = "What went wrong?",
Type = InputType.MultiLineInput,
IsMandatory = true
},
new()
{
Label = "What are the exact steps you performed? Include any error you experienced.",
SubmitLabel = "What are the exact steps you performed? Include any error you experienced.",
Type = InputType.MultiLineInput,
IsMandatory = true
},
new()
{
Label = "Have you tried any quick fixes? If so, which ones?",
SubmitLabel = "Have you tried any quick fixes? If so, which ones?",
Type = InputType.MultiLineInput,
IsMandatory = true
}
}
},
new()
{
Label = "Streaming",
SubmitLabel = "Streaming",
Suggestions =
new List
{
new()
{
Text = "Try a different PLUS server. Just so you know, streaming is only available on a PLUS subscription."
},
new()
{
Text = "Clear your cache. You can do this in your browser settings.",
Link = "https://protonvpn.com/support/clear-browser-cache-cookies"
},
new()
{
Text = "Try a different web browser."
},
new()
{
Text = "Turn off any ad blockers or proxies. If you use NetShield, set it to \"don’t block\"."
},
},
InputFields = new List
{
new()
{
Label = "Which streaming service are you trying to use?",
SubmitLabel = "Which streaming service are you trying to use?",
Type = InputType.MultiLineInput,
IsMandatory = true,
Placeholder = "Netflix, Disney+, HBO"
},
new()
{
Label = "Are you using a custom DNS, proxy, or NetShield?",
SubmitLabel = "Are you using a custom DNS, proxy, or NetShield?",
Type = InputType.MultiLineInput,
IsMandatory = true
},
new()
{
Label = "What went wrong? Include any error messages you received.",
SubmitLabel = "What went wrong? Include any error messages you received.",
Type = InputType.MultiLineInput,
IsMandatory = true
},
}
},
new()
{
Label = "Something else",
SubmitLabel = "Something else",
Suggestions = new List(),
InputFields = new List
{
new()
{
Label = "What went wrong?",
SubmitLabel = "What went wrong?",
Type = InputType.MultiLineInput,
IsMandatory = true,
Placeholder = "Please describe the problem in as much detail as you can. If there was an error message, let us know what it said."
}
}
}
};
}
}