mirror of
https://github.com/yuzu-emu/liftinstall.git
synced 2024-11-22 22:55:41 +01:00
Various fixes to various things
This commit is contained in:
parent
561f0071bd
commit
d3c3b77e6b
@ -39,6 +39,8 @@ pub struct PackageDescription {
|
|||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub requires_authorization: Option<bool>,
|
pub requires_authorization: Option<bool>,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
|
pub is_new: Option<bool>,
|
||||||
|
#[serde(default)]
|
||||||
pub need_authentication_description: Option<String>,
|
pub need_authentication_description: Option<String>,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub need_link_description: Option<String>,
|
pub need_link_description: Option<String>,
|
||||||
|
@ -18,7 +18,7 @@ use config::JWTValidation;
|
|||||||
struct Auth {
|
struct Auth {
|
||||||
username: String,
|
username: String,
|
||||||
token: String,
|
token: String,
|
||||||
jwt_token: JWTClaims,
|
jwt_token: Option<JWTClaims>,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// claims struct, it needs to derive `Serialize` and/or `Deserialize`
|
/// 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 {
|
let out = Auth {
|
||||||
username: username_clone,
|
username: username_clone,
|
||||||
token: token_clone,
|
token: token_clone,
|
||||||
jwt_token: claims.clone(),
|
jwt_token: Some(claims.clone()),
|
||||||
};
|
};
|
||||||
// Convert the json to a string and return the json token
|
// Convert the json to a string and return the json token
|
||||||
match serde_json::to_string(&out) {
|
match serde_json::to_string(&out) {
|
||||||
|
@ -17,7 +17,7 @@ enum CallbackType {
|
|||||||
|
|
||||||
/// Starts the main web UI. Will return when UI is closed.
|
/// Starts the main web UI. Will return when UI is closed.
|
||||||
pub fn start_ui(app_name: &str, http_address: &str, is_launcher: bool) {
|
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");
|
info!("Spawning web view instance");
|
||||||
|
|
||||||
|
@ -71,6 +71,7 @@ pre {
|
|||||||
|
|
||||||
.clickable-box {
|
.clickable-box {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.clickable-box label {
|
.clickable-box label {
|
||||||
@ -126,4 +127,48 @@ pre {
|
|||||||
body.has-background-black-ter .subtitle, body.has-background-black-ter .column > div {
|
body.has-background-black-ter .subtitle, body.has-background-black-ter .column > div {
|
||||||
color: hsl(0, 0%, 96%);
|
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;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -5,11 +5,14 @@
|
|||||||
When you are done, enter the username and token below.
|
When you are done, enter the username and token below.
|
||||||
</b-message>
|
</b-message>
|
||||||
<p>
|
<p>
|
||||||
Before you can install this Early Access, you need to verify your account.
|
The <strong>Early Access</strong> 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.
|
||||||
<a v-on:click="launch_browser('https://profile.yuzu-emu.org/')">Click here to link your yuzu-emu.org account</a>
|
|
||||||
and paste the token below.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
To be an Early Access member, you must be a Patreon Early Access Subscriber.
|
||||||
|
<br><br>
|
||||||
|
If you are a subscriber, <a v-on:click="launch_browser('https://profile.yuzu-emu.org/')">click here to link your yuzu-emu.org account</a>
|
||||||
|
<br><br>
|
||||||
|
If you are not already a subscriber, <a v-on:click="launch_browser('https://www.patreon.com/join/yuzuteam/checkout?rid=2822069')">click here to become one</a>
|
||||||
|
</p>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<div class="control">
|
<div class="control">
|
||||||
@ -30,17 +33,17 @@
|
|||||||
|
|
||||||
<b-message type="is-danger" :active.sync="unlinked_patreon">
|
<b-message type="is-danger" :active.sync="unlinked_patreon">
|
||||||
Your credentials are valid, but you still need to link your patreon!
|
Your credentials are valid, but you still need to link your patreon!
|
||||||
If this is an error, then <a v-on:click="launch_browser('https://profile.yuzu-emu.org/external/patreon/connect/')">click here to link your yuzu-emu.org account</a>
|
If this is an error, then <a v-on:click="launch_browser('https://profile.yuzu-emu.org/')">click here to link your yuzu-emu.org account</a>
|
||||||
</b-message>
|
</b-message>
|
||||||
|
|
||||||
<b-message type="is-danger" :active.sync="no_subscription">
|
<b-message type="is-danger" :active.sync="no_subscription">
|
||||||
Your patreon is linked, but you are not a current subscriber.
|
Your patreon is linked, but you are not a current subscriber!
|
||||||
<a v-on:click="launch_browser('https://profile.yuzu-emu.org/')">Log into your patreon account</a> and support the project!
|
<a v-on:click="launch_browser('https://www.patreon.com/join/yuzuteam/checkout?rid=2822069')">Log into your patreon account</a> and support the project!
|
||||||
</b-message>
|
</b-message>
|
||||||
|
|
||||||
<b-message type="is-danger" :active.sync="tier_not_selected">
|
<b-message type="is-danger" :active.sync="tier_not_selected">
|
||||||
Your patreon is linked, and you are supporting the project, but you must first join the Early Access reward tier!
|
Your patreon is linked, and you are supporting the project, but you must first join the Early Access reward tier!
|
||||||
<a v-on:click="launch_browser('https://profile.yuzu-emu.org/')">Log into your patreon account</a> and choose to back the Early Access reward tier.
|
<a v-on:click="launch_browser('https://www.patreon.com/join/yuzuteam/checkout?rid=2822069')">Log into your patreon account</a> and choose to back the Early Access reward tier.
|
||||||
</b-message>
|
</b-message>
|
||||||
|
|
||||||
<div class="is-left-floating is-bottom-floating">
|
<div class="is-left-floating is-bottom-floating">
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
<h4 class="subtitle">Thanks for installing {{ $root.$data.attrs.name }}!</h4>
|
<h4 class="subtitle">Thanks for installing {{ $root.$data.attrs.name }}!</h4>
|
||||||
|
|
||||||
<p>You can find your installed applications in your start menu.</p>
|
<p>You can find your installed applications in your start menu.</p>
|
||||||
|
<br>
|
||||||
<img src="../assets/how-to-open.png" alt="Where yuzu is installed"/>
|
<img src="../assets/how-to-open.png" alt="Where yuzu is installed"/>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
|
@ -7,30 +7,43 @@
|
|||||||
<div class="tile is-parent" v-for="Lpackage in $root.$data.config.packages" :key="Lpackage.name" :index="Lpackage.name">
|
<div class="tile is-parent" v-for="Lpackage in $root.$data.config.packages" :key="Lpackage.name" :index="Lpackage.name">
|
||||||
<div class="tile is-child">
|
<div class="tile is-child">
|
||||||
<div class="box clickable-box" v-if="Lpackage.requires_authorization && !$root.$data.is_authenticated" v-on:click="show_authentication">
|
<div class="box clickable-box" v-if="Lpackage.requires_authorization && !$root.$data.is_authenticated" v-on:click="show_authentication">
|
||||||
<p>{{ Lpackage.name }}</p>
|
<div class="ribbon" v-if="Lpackage.is_new"><span>New!</span></div>
|
||||||
|
<b-checkbox>
|
||||||
|
{{ Lpackage.name }}
|
||||||
|
</b-checkbox>
|
||||||
<p>
|
<p>
|
||||||
{{Lpackage.need_authentication_description}}
|
{{Lpackage.need_authentication_description}}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="box clickable-box" v-else-if="Lpackage.requires_authorization && !$root.$data.is_linked" v-on:click="show_authorization">
|
<div class="box clickable-box" v-else-if="Lpackage.requires_authorization && !$root.$data.is_linked" v-on:click="show_authorization">
|
||||||
<p>{{ Lpackage.name }}</p>
|
<div class="ribbon" v-if="Lpackage.is_new"><span>New!</span></div>
|
||||||
|
<b-checkbox>
|
||||||
|
{{ Lpackage.name }}
|
||||||
|
</b-checkbox>
|
||||||
<p>
|
<p>
|
||||||
{{Lpackage.need_link_description}}
|
{{Lpackage.need_link_description}}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="box clickable-box" v-else-if="Lpackage.requires_authorization && !$root.$data.is_subscribed" v-on:click="show_authorization">
|
<div class="box clickable-box" v-else-if="Lpackage.requires_authorization && !$root.$data.is_subscribed" v-on:click="show_authorization">
|
||||||
<p>{{ Lpackage.name }}</p>
|
<div class="ribbon" v-if="Lpackage.is_new"><span>New!</span></div>
|
||||||
|
<b-checkbox>
|
||||||
|
{{ Lpackage.name }}
|
||||||
|
</b-checkbox>
|
||||||
<p>
|
<p>
|
||||||
{{Lpackage.need_subscription_description}}
|
{{Lpackage.need_subscription_description}}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="box clickable-box" v-else-if="Lpackage.requires_authorization && !$root.$data.has_reward_tier" v-on:click="show_authorization">
|
<div class="box clickable-box" v-else-if="Lpackage.requires_authorization && !$root.$data.has_reward_tier" v-on:click="show_authorization">
|
||||||
<p>{{ Lpackage.name }}</p>
|
<div class="ribbon" v-if="Lpackage.is_new"><span>New!</span></div>
|
||||||
|
<b-checkbox>
|
||||||
|
{{ Lpackage.name }}
|
||||||
|
</b-checkbox>
|
||||||
<p>
|
<p>
|
||||||
{{Lpackage.need_reward_tier_description}}
|
{{Lpackage.need_reward_tier_description}}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="box clickable-box" v-else v-on:click.capture.stop="Lpackage.default = !Lpackage.default">
|
<div class="box clickable-box" v-else v-on:click.capture.stop="Lpackage.default = !Lpackage.default">
|
||||||
|
<div class="ribbon" v-if="Lpackage.is_new"><span>New!</span></div>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<b-checkbox v-model="Lpackage.default">
|
<b-checkbox v-model="Lpackage.default">
|
||||||
{{ Lpackage.name }}
|
{{ Lpackage.name }}
|
||||||
@ -87,6 +100,17 @@
|
|||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
name: 'SelectPackages',
|
name: 'SelectPackages',
|
||||||
|
created: function() {
|
||||||
|
if (this.$root.$data.has_reward_tier) {
|
||||||
|
for (var package_index = 0; package_index < app.config.packages.length; package_index++) {
|
||||||
|
var current_package = app.config.packages[package_index];
|
||||||
|
// If they are authorized, make the packages that require authorization default
|
||||||
|
if (current_package.requires_authorization) {
|
||||||
|
current_package.default = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
data: function () {
|
data: function () {
|
||||||
return {
|
return {
|
||||||
advanced: false
|
advanced: false
|
||||||
|
Loading…
Reference in New Issue
Block a user