diff --git a/src/config.rs b/src/config.rs
index a1aeea5..ef3e91f 100644
--- a/src/config.rs
+++ b/src/config.rs
@@ -39,6 +39,8 @@ pub struct PackageDescription {
#[serde(default)]
pub requires_authorization: Option,
#[serde(default)]
+ pub is_new: Option,
+ #[serde(default)]
pub need_authentication_description: Option,
#[serde(default)]
pub need_link_description: Option,
diff --git a/src/frontend/rest/services/authentication.rs b/src/frontend/rest/services/authentication.rs
index 6ce4b63..5f403d7 100644
--- a/src/frontend/rest/services/authentication.rs
+++ b/src/frontend/rest/services/authentication.rs
@@ -18,7 +18,7 @@ use config::JWTValidation;
struct Auth {
username: String,
token: String,
- jwt_token: JWTClaims,
+ jwt_token: Option,
}
/// claims struct, it needs to derive `Serialize` and/or `Deserialize`
@@ -192,7 +192,7 @@ pub fn handle(service: &WebService, _req: Request) -> InternalFuture {
let out = Auth {
username: username_clone,
token: token_clone,
- jwt_token: claims.clone(),
+ jwt_token: Some(claims.clone()),
};
// Convert the json to a string and return the json token
match serde_json::to_string(&out) {
diff --git a/src/frontend/ui/mod.rs b/src/frontend/ui/mod.rs
index 82378cd..8d9028e 100644
--- a/src/frontend/ui/mod.rs
+++ b/src/frontend/ui/mod.rs
@@ -17,7 +17,7 @@ enum CallbackType {
/// Starts the main web UI. Will return when UI is closed.
pub fn start_ui(app_name: &str, http_address: &str, is_launcher: bool) {
- let size = (1024, 500);
+ let size = (1024, 550);
info!("Spawning web view instance");
diff --git a/ui/src/App.vue b/ui/src/App.vue
index d5a5d19..60e865c 100644
--- a/ui/src/App.vue
+++ b/ui/src/App.vue
@@ -71,6 +71,7 @@ pre {
.clickable-box {
cursor: pointer;
+ position: relative;
}
.clickable-box label {
@@ -126,4 +127,48 @@ pre {
body.has-background-black-ter .subtitle, body.has-background-black-ter .column > div {
color: hsl(0, 0%, 96%);
}
+
+.ribbon {
+ position: absolute;
+ right: -5px; top: -5px;
+ z-index: 1;
+ overflow: hidden;
+ width: 75px; height: 75px;
+ text-align: right;
+}
+.ribbon span {
+ font-size: 10px;
+ font-weight: bold;
+ color: #FFF;
+ text-transform: uppercase;
+ text-align: center;
+ line-height: 20px;
+ transform: rotate(45deg);
+ -webkit-transform: rotate(45deg);
+ width: 100px;
+ display: block;
+ background: #79A70A;
+ background: linear-gradient(#FF3C28 0%, #FF3C28 100%);
+ box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 1);
+ position: absolute;
+ top: 19px; right: -21px;
+}
+.ribbon span::before {
+ content: "";
+ position: absolute; left: 0px; top: 100%;
+ z-index: -1;
+ border-left: 3px solid #FF3C28;
+ border-right: 3px solid transparent;
+ border-bottom: 3px solid transparent;
+ border-top: 3px solid #FF3C28;
+}
+.ribbon span::after {
+ content: "";
+ position: absolute; right: 0px; top: 100%;
+ z-index: -1;
+ border-left: 3px solid transparent;
+ border-right: 3px solid #FF3C28;
+ border-bottom: 3px solid transparent;
+ border-top: 3px solid #FF3C28;
+}
diff --git a/ui/src/views/AuthenticationView.vue b/ui/src/views/AuthenticationView.vue
index 6f245fc..651ffe9 100644
--- a/ui/src/views/AuthenticationView.vue
+++ b/ui/src/views/AuthenticationView.vue
@@ -5,11 +5,14 @@
When you are done, enter the username and token below.
- Before you can install this Early Access, you need to verify your account.
- Click here to link your yuzu-emu.org account
- and paste the token below.
-
+ The Early Access release channel lets you try out the latest experimental features and fixes, before they are merged into yuzu. This channel includes all regular yuzu daily updates, plus these exclusive features.
+ To be an Early Access member, you must be a Patreon Early Access Subscriber.
+
+ If you are a subscriber, click here to link your yuzu-emu.org account
+
+ If you are not already a subscriber, click here to become one
+
@@ -30,17 +33,17 @@
Your credentials are valid, but you still need to link your patreon!
- If this is an error, then click here to link your yuzu-emu.org account
+ If this is an error, then click here to link your yuzu-emu.org account
- Your patreon is linked, but you are not a current subscriber.
- Log into your patreon account and support the project!
+ Your patreon is linked, but you are not a current subscriber!
+ Log into your patreon account and support the project!
Your patreon is linked, and you are supporting the project, but you must first join the Early Access reward tier!
- Log into your patreon account and choose to back the Early Access reward tier.
+ Log into your patreon account and choose to back the Early Access reward tier.
diff --git a/ui/src/views/CompleteView.vue b/ui/src/views/CompleteView.vue
index 9515403..6ef1ff9 100644
--- a/ui/src/views/CompleteView.vue
+++ b/ui/src/views/CompleteView.vue
@@ -1,40 +1,40 @@
-
-
You have been moved to the new, single version of {{ $root.$data.attrs.name }}.
+
+
You have been moved to the new, single version of {{ $root.$data.attrs.name }}.
-
You can find your installed applications in your start menu - if you were in the middle of something, just reattempt.
+
You can find your installed applications in your start menu - if you were in the middle of something, just reattempt.
-
-
-
-
-
{{ $root.$data.attrs.name }} has been updated.
-
-
You can find your installed applications in your start menu.
-
-
-
{{ $root.$data.attrs.name }} is already up to date!
-
-
You can find your installed applications in your start menu.
-
-
-
-
Thanks for installing {{ $root.$data.attrs.name }}!
+
+
+
+
+
{{ $root.$data.attrs.name }} has been updated.
You can find your installed applications in your start menu.
-
-
-
{{ $root.$data.attrs.name }} has been uninstalled.
-
+
{{ $root.$data.attrs.name }} is already up to date!
-
-
- Exit
-
+
You can find your installed applications in your start menu.
+
+
+
Thanks for installing {{ $root.$data.attrs.name }}!
+
+
You can find your installed applications in your start menu.
+
+
+
+
+
{{ $root.$data.attrs.name }} has been uninstalled.
+
+
+
diff --git a/ui/src/views/SelectPackages.vue b/ui/src/views/SelectPackages.vue
index 9772c40..34ce32b 100644
--- a/ui/src/views/SelectPackages.vue
+++ b/ui/src/views/SelectPackages.vue
@@ -7,30 +7,43 @@
-
{{ Lpackage.name }}
+
New!
+
+ {{ Lpackage.name }}
+
{{Lpackage.need_authentication_description}}
-
{{ Lpackage.name }}
+
New!
+
+ {{ Lpackage.name }}
+
{{Lpackage.need_link_description}}
-
{{ Lpackage.name }}
+
New!
+
+ {{ Lpackage.name }}
+
{{Lpackage.need_subscription_description}}
-
{{ Lpackage.name }}
+
New!
+
+ {{ Lpackage.name }}
+
{{Lpackage.need_reward_tier_description}}
+
New!
{{ Lpackage.name }}
@@ -87,6 +100,17 @@