From 114937d04085d00cc72e604b862da65d99c06113 Mon Sep 17 00:00:00 2001 From: Simon Hyll Date: Wed, 1 May 2024 23:48:44 +0200 Subject: [PATCH 1/9] feat: added a splashscreen lab --- src/content/docs/learn/index.mdx | 13 +++++ src/content/docs/learn/splashscreen.mdx | 65 ++++++++++++++++++++++++- 2 files changed, 76 insertions(+), 2 deletions(-) diff --git a/src/content/docs/learn/index.mdx b/src/content/docs/learn/index.mdx index 917aec53cc..55ae1eb973 100644 --- a/src/content/docs/learn/index.mdx +++ b/src/content/docs/learn/index.mdx @@ -11,3 +11,16 @@ sidebar: import Stub from '@components/Stub.astro'; + +## Create lab apps + +Each lab assumes you've created a fresh new app for each of them. That doesn't necessarily have to be +the case, you can certainly experiment using your own app, or using different options than what the +lab assumes, but we strongly recommend you set up a new app for each lab so that it becomes as easy +as possible to follow along. + +```sh +# Create a new app using CTA +npx create-tauri-app --beta --mobile +# Spam hit "Enter" to get all defaults +``` diff --git a/src/content/docs/learn/splashscreen.mdx b/src/content/docs/learn/splashscreen.mdx index 90922265a9..eb942dba7d 100644 --- a/src/content/docs/learn/splashscreen.mdx +++ b/src/content/docs/learn/splashscreen.mdx @@ -6,6 +6,67 @@ sidebar: variant: caution --- -import Stub from '@components/Stub.astro'; +import { Steps } from '@astrojs/starlight/components'; - +In this lab we'll be implementing a basic splashscreen functionality in a Tauri app. Doing so +is quite straight forward, a splashscreen is effectively just a matter of creating a new window +that displays some contents during the period your app is doing some heavy setup related tasks. + +## Prerequisites + +- [A basic development environment setup](/start/prerequisites) +- [Create a new lab app](/learn#create-lab-apps) + +## Steps + + + +1. **Register new windows in `tauri.conf.json`** + + The easiest way of adding new windows is by adding them directly to `tauri.conf.json`. You can also create them dynamically at startup, + but for the sake of simplicity lets just register them instead. + +2. **Create a new page to host your splashscreen** + + Before you begin you'll need to have some content to show. How you develop new pages depend on your chosen framework, + most have the concept of a "router" that handles page navigation which should work just like normal in Tauri in which case + you just create a new splashscreen page. Or as we're going to be doing here, create a new `splashscreen.html` file to host + the contents. + + All that's important here is that you can navigate to a `/splashscreen` URL and be shown the contents you want for your + splashscreen. + +3. **Open your main window in hidden mode** + + Splashscreens are primarily used to hide loading times, so it makes sense to show your main window so that its contents can + be loaded. Additionally, for apps that are more frontend heavy, this is how you'd get your JS based setup scripts to run. + +4. **Perform some heavy setup task in the backend** + + Perform some heavy setup functions in the `.setup(|app| {})` hook, then store its readiness in a `State`. We do this because + it lets us perform work in both the frontend and the backend before the splashscreen is closed. + +5. **Create a command to determine if setup is complete** + + Using a custom Tauri command we can synchronize our frontend and backend related setup tasks to determine if everything we + expect to be done is in fact so, after which we can close the splashscreen and unhide the main window. + +6. **Close the splashscreen window** + + + +## Discuss + +**Should you have a splashscreen?** + +In general having a splashscreen is an admittance of defeat that you couldn't make your +app load fast enough to not need one. In fact it tends to be better to just go straight +to a main window that then shows some little spinner somewhere in a corner informing the +user there's still setup tasks happening in the background. + +However, with that said, it can be a stylistic choice that you want to have a splashscreen, +or you might have some very particular requirement that makes it impossible to even start the +app until some tasks are performed. It's definitely not *wrong* to have a splashscreen, it +just tends to not be necessary and can make users feel like the app isn't very well optimized. + +**** From d31a14740978b06a8040f6f3219b95cdab8dcfa1 Mon Sep 17 00:00:00 2001 From: Simon Hyll Date: Thu, 2 May 2024 00:31:44 +0200 Subject: [PATCH 2/9] feat: added show solution component --- src/components/ShowSolution.astro | 70 +++++++++++++++++++++++++ src/content/docs/learn/splashscreen.mdx | 57 +++++++++++++++++++- 2 files changed, 125 insertions(+), 2 deletions(-) create mode 100644 src/components/ShowSolution.astro diff --git a/src/components/ShowSolution.astro b/src/components/ShowSolution.astro new file mode 100644 index 0000000000..12ca87d18a --- /dev/null +++ b/src/components/ShowSolution.astro @@ -0,0 +1,70 @@ +--- +let { text } = Astro.props; +text = text ?? "Show solution"; +--- + + + + + + + + + + + diff --git a/src/content/docs/learn/splashscreen.mdx b/src/content/docs/learn/splashscreen.mdx index eb942dba7d..9272992b0f 100644 --- a/src/content/docs/learn/splashscreen.mdx +++ b/src/content/docs/learn/splashscreen.mdx @@ -7,10 +7,12 @@ sidebar: --- import { Steps } from '@astrojs/starlight/components'; +import ShowSolution from '@components/ShowSolution.astro'; In this lab we'll be implementing a basic splashscreen functionality in a Tauri app. Doing so is quite straight forward, a splashscreen is effectively just a matter of creating a new window -that displays some contents during the period your app is doing some heavy setup related tasks. +that displays some contents during the period your app is doing some heavy setup related tasks +and then closing it when setting up is done. ## Prerequisites @@ -26,6 +28,23 @@ that displays some contents during the period your app is doing some heavy setup The easiest way of adding new windows is by adding them directly to `tauri.conf.json`. You can also create them dynamically at startup, but for the sake of simplicity lets just register them instead. + + ```json + // src-tauri/tauri.conf.json + { + "windows": [ + { + "label": "splashscreen" + }, + { + "label": "main", + "hidden": true + } + ] + } + ``` + + 2. **Create a new page to host your splashscreen** Before you begin you'll need to have some content to show. How you develop new pages depend on your chosen framework, @@ -36,23 +55,57 @@ that displays some contents during the period your app is doing some heavy setup All that's important here is that you can navigate to a `/splashscreen` URL and be shown the contents you want for your splashscreen. + + ```html + // src/splashscreen.html + + + +

Splashscreen

+ + + ``` +
+ 3. **Open your main window in hidden mode** Splashscreens are primarily used to hide loading times, so it makes sense to show your main window so that its contents can be loaded. Additionally, for apps that are more frontend heavy, this is how you'd get your JS based setup scripts to run. + + ```sh frame="none" + ``` + + 4. **Perform some heavy setup task in the backend** Perform some heavy setup functions in the `.setup(|app| {})` hook, then store its readiness in a `State`. We do this because it lets us perform work in both the frontend and the backend before the splashscreen is closed. + + ```sh frame="none" + ``` + + 5. **Create a command to determine if setup is complete** Using a custom Tauri command we can synchronize our frontend and backend related setup tasks to determine if everything we expect to be done is in fact so, after which we can close the splashscreen and unhide the main window. + + ```sh frame="none" + ``` + + 6. **Close the splashscreen window** + With all your setup completed it's time to close the splashscreen window and unhide your main window! + + + ```sh frame="none" + ``` + + ## Discuss @@ -65,7 +118,7 @@ to a main window that then shows some little spinner somewhere in a corner infor user there's still setup tasks happening in the background. However, with that said, it can be a stylistic choice that you want to have a splashscreen, -or you might have some very particular requirement that makes it impossible to even start the +or you might have some very particular requirement that makes it impossible to start the app until some tasks are performed. It's definitely not *wrong* to have a splashscreen, it just tends to not be necessary and can make users feel like the app isn't very well optimized. From c90e6f7eb6d1fad7abc12c7300c7bc6b328b5e2d Mon Sep 17 00:00:00 2001 From: Simon Hyll Date: Fri, 10 May 2024 13:25:24 +0200 Subject: [PATCH 3/9] fix: formatting and cta usage --- src/content/docs/learn/index.mdx | 13 --------- src/content/docs/learn/splashscreen.mdx | 35 +++++++++++++++++-------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/content/docs/learn/index.mdx b/src/content/docs/learn/index.mdx index 55ae1eb973..917aec53cc 100644 --- a/src/content/docs/learn/index.mdx +++ b/src/content/docs/learn/index.mdx @@ -11,16 +11,3 @@ sidebar: import Stub from '@components/Stub.astro'; - -## Create lab apps - -Each lab assumes you've created a fresh new app for each of them. That doesn't necessarily have to be -the case, you can certainly experiment using your own app, or using different options than what the -lab assumes, but we strongly recommend you set up a new app for each lab so that it becomes as easy -as possible to follow along. - -```sh -# Create a new app using CTA -npx create-tauri-app --beta --mobile -# Spam hit "Enter" to get all defaults -``` diff --git a/src/content/docs/learn/splashscreen.mdx b/src/content/docs/learn/splashscreen.mdx index 9272992b0f..39ecf61d24 100644 --- a/src/content/docs/learn/splashscreen.mdx +++ b/src/content/docs/learn/splashscreen.mdx @@ -4,10 +4,14 @@ sidebar: badge: text: WIP variant: caution +tableOfContents: + minHeadingLevel: 2 + maxHeadingLevel: 5 --- import { Steps } from '@astrojs/starlight/components'; import ShowSolution from '@components/ShowSolution.astro'; +import CTA from '../_fragments/cta.mdx'; In this lab we'll be implementing a basic splashscreen functionality in a Tauri app. Doing so is quite straight forward, a splashscreen is effectively just a matter of creating a new window @@ -16,14 +20,25 @@ and then closing it when setting up is done. ## Prerequisites -- [A basic development environment setup](/start/prerequisites) -- [Create a new lab app](/learn#create-lab-apps) +:::tip[Create a lab app] + +If you are not an advanced user it's **highly recommended** that you use the options and frameworks provided here. It's just a lab, you can delete the project when you're done. + + + +- Project name: `titlebar-demo` +- Choose which language to use for your frontend: `Typescript / Javascript` +- Choose your package manager: `npm` +- Choose your UI template: `React` +- Choose your UI flavor: `Typescript` +- Would you like to setup the project for mobile as well? `no` +::: ## Steps -1. **Register new windows in `tauri.conf.json`** +1. ##### Register new windows in `tauri.conf.json` The easiest way of adding new windows is by adding them directly to `tauri.conf.json`. You can also create them dynamically at startup, but for the sake of simplicity lets just register them instead. @@ -45,7 +60,7 @@ and then closing it when setting up is done. ``` -2. **Create a new page to host your splashscreen** +2. ##### Create a new page to host your splashscreen Before you begin you'll need to have some content to show. How you develop new pages depend on your chosen framework, most have the concept of a "router" that handles page navigation which should work just like normal in Tauri in which case @@ -67,7 +82,7 @@ and then closing it when setting up is done. ``` -3. **Open your main window in hidden mode** +3. ##### Open your main window in hidden mode Splashscreens are primarily used to hide loading times, so it makes sense to show your main window so that its contents can be loaded. Additionally, for apps that are more frontend heavy, this is how you'd get your JS based setup scripts to run. @@ -77,7 +92,7 @@ and then closing it when setting up is done. ``` -4. **Perform some heavy setup task in the backend** +4. ##### Perform some heavy setup task in the backend Perform some heavy setup functions in the `.setup(|app| {})` hook, then store its readiness in a `State`. We do this because it lets us perform work in both the frontend and the backend before the splashscreen is closed. @@ -87,7 +102,7 @@ and then closing it when setting up is done. ``` -5. **Create a command to determine if setup is complete** +5. ##### Create a command to determine if setup is complete Using a custom Tauri command we can synchronize our frontend and backend related setup tasks to determine if everything we expect to be done is in fact so, after which we can close the splashscreen and unhide the main window. @@ -97,7 +112,7 @@ and then closing it when setting up is done. ``` -6. **Close the splashscreen window** +6. ##### Close the splashscreen window With all your setup completed it's time to close the splashscreen window and unhide your main window! @@ -110,7 +125,7 @@ and then closing it when setting up is done. ## Discuss -**Should you have a splashscreen?** +##### Should you have a splashscreen? In general having a splashscreen is an admittance of defeat that you couldn't make your app load fast enough to not need one. In fact it tends to be better to just go straight @@ -121,5 +136,3 @@ However, with that said, it can be a stylistic choice that you want to have a sp or you might have some very particular requirement that makes it impossible to start the app until some tasks are performed. It's definitely not *wrong* to have a splashscreen, it just tends to not be necessary and can make users feel like the app isn't very well optimized. - -**** From a06b19f3269de02cca52af56a162506aa9381a4f Mon Sep 17 00:00:00 2001 From: Simon Hyll Date: Fri, 10 May 2024 14:32:52 +0200 Subject: [PATCH 4/9] fix: fragment import --- src/content/docs/learn/splashscreen.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/learn/splashscreen.mdx b/src/content/docs/learn/splashscreen.mdx index 39ecf61d24..fb28933649 100644 --- a/src/content/docs/learn/splashscreen.mdx +++ b/src/content/docs/learn/splashscreen.mdx @@ -11,7 +11,7 @@ tableOfContents: import { Steps } from '@astrojs/starlight/components'; import ShowSolution from '@components/ShowSolution.astro'; -import CTA from '../_fragments/cta.mdx'; +import CTA from '@fragments/cta.mdx'; In this lab we'll be implementing a basic splashscreen functionality in a Tauri app. Doing so is quite straight forward, a splashscreen is effectively just a matter of creating a new window From 79e42038e37b9514a1b6a73b65fb0a07ee1a6723 Mon Sep 17 00:00:00 2001 From: Simon Hyll Date: Tue, 21 May 2024 18:30:12 +0200 Subject: [PATCH 5/9] feat: more content for the lab --- src/assets/learn/splashscreen/step_1.png | Bin 0 -> 143397 bytes src/assets/learn/splashscreen/step_3.png | Bin 0 -> 80869 bytes src/content/docs/learn/splashscreen.mdx | 207 ++++++++++++++++++----- 3 files changed, 163 insertions(+), 44 deletions(-) create mode 100644 src/assets/learn/splashscreen/step_1.png create mode 100644 src/assets/learn/splashscreen/step_3.png diff --git a/src/assets/learn/splashscreen/step_1.png b/src/assets/learn/splashscreen/step_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b44d3da1705b0ab3fb45651f8c173e471de3edd9 GIT binary patch literal 143397 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

eX74p=K(yT?Ef+L)nQS8+t-p30)v#Iz%U>k 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 L)Rl7;&2Ro6&P~W! literal 0 HcmV?d00001 diff --git a/src/assets/learn/splashscreen/step_3.png b/src/assets/learn/splashscreen/step_3.png new file mode 100644 index 0000000000000000000000000000000000000000..d74870da21cf1206f310e1b0952e6d194146ba56 GIT binary patch literal 80869 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 fJaf2xWP(zh)K$Xjd@K0m*@U&Ljj1 -- Project name: `titlebar-demo` +- Project name: `splashscreen-lab` - Choose which language to use for your frontend: `Typescript / Javascript` -- Choose your package manager: `npm` -- Choose your UI template: `React` +- Choose your package manager: `pnpm` +- Choose your UI template: `Vanilla` - Choose your UI flavor: `Typescript` -- Would you like to setup the project for mobile as well? `no` +- Would you like to setup the project for mobile as well? `yes` ::: ## Steps +1. ##### Install dependencies and run the project + + Before you start developing any project it's important to build and run the initial template, just to validate your setup is working as intended. + + + ```sh frame=none + # Make sure you're in the right directory + cd splashscreen-lab + # Install dependencies + pnpm install + # Build and run the app + pnpm tauri dev + ``` + Successful run of the created template app. + + 1. ##### Register new windows in `tauri.conf.json` The easiest way of adding new windows is by adding them directly to `tauri.conf.json`. You can also create them dynamically at startup, - but for the sake of simplicity lets just register them instead. + but for the sake of simplicity lets just register them instead. Make sure you have a window with the label `main` that's being created as a hidden window and a window with the label `splashscreen` that's created as being shown directly. You can leave all other options as their defaults, or tweak them based on preference. ```json @@ -49,78 +68,178 @@ If you are not an advanced user it's **highly recommended** that you use the opt { "windows": [ { - "label": "splashscreen" + "label": "main", + "visible": false }, { - "label": "main", - "hidden": true + "label": "splashscreen", + "url": "/splashscreen" } ] } ``` -2. ##### Create a new page to host your splashscreen +1. ##### Create a new page to host your splashscreen Before you begin you'll need to have some content to show. How you develop new pages depend on your chosen framework, - most have the concept of a "router" that handles page navigation which should work just like normal in Tauri in which case - you just create a new splashscreen page. Or as we're going to be doing here, create a new `splashscreen.html` file to host - the contents. + most have the concept of a "router" that handles page navigation which should work just like normal in Tauri, in which case + you just create a new splashscreen page. Or as we're going to be doing here, create a new `splashscreen.html` file to host the contents. - All that's important here is that you can navigate to a `/splashscreen` URL and be shown the contents you want for your - splashscreen. + What's important here is that you can navigate to a `/splashscreen` URL and be shown the contents you want for your splashscreen. Try running the app again after this step! ```html - // src/splashscreen.html - - - -

Splashscreen

- + // /splashscreen.html + + + + + + + Tauri App + + +
+

Tauri used Splash!

+
+
It was super effective!
+
+ ``` + The splashscreen we just created. -3. ##### Open your main window in hidden mode - - Splashscreens are primarily used to hide loading times, so it makes sense to show your main window so that its contents can - be loaded. Additionally, for apps that are more frontend heavy, this is how you'd get your JS based setup scripts to run. +1. ##### Start some setup tasks - - ```sh frame="none" - ``` - + Since splashscreens are generally intended to be used for the sake of hiding heavy setup related tasks, lets fake giving the app something heavy to do, some in the frontend and some in the backend. -4. ##### Perform some heavy setup task in the backend + To fake heavy setup in the frontend we're going to be using a simple `setTimeout` function. + + The easiest way to fake heavy operations in the backend is by using the Tokio crate, which is the Rust crate that Tauri uses in the backend to provide an asynchronous runtime. While Tauri provides the runtime there are various utilities that Tauri doesn't re-export from it, so we'll need to add the crate to our project in order to access them. This is a perfectly normal practice within the Rust ecosystem. - Perform some heavy setup functions in the `.setup(|app| {})` hook, then store its readiness in a `State`. We do this because - it lets us perform work in both the frontend and the backend before the splashscreen is closed. + Don't use `std::thread::sleep` in async functions, they run cooperatively in a concurrent environment not in parallel, meaning that if you sleep the thread instead of the Tokio task you'll be locking all tasks scheduled to run on that thread from being executed, causing your app to freeze. - ```sh frame="none" + ```sh frame=none + # Run this command where the `Cargo.toml` file is + cd src-tauri + # Add the Tokio crate + cargo add tokio + # Optionally go back to the top folder to keep developing + # `tauri dev` can figure out where to run automatically + cd .. ``` - -5. ##### Create a command to determine if setup is complete + ```javascript + // src/main.ts + // These contents can be copy-pasted below the existing code, don't replace the entire file!! - Using a custom Tauri command we can synchronize our frontend and backend related setup tasks to determine if everything we - expect to be done is in fact so, after which we can close the splashscreen and unhide the main window. + // Utility function to implement a sleep function in TypeScript + function sleep(seconds: number): Promise { + return new Promise(resolve => setTimeout(resolve, seconds * 1000)); + } - - ```sh frame="none" + // Setup function + async function setup() { + // Fake perform some really heavy setup task + console.log('Performing really heavy frontend setup task...') + await sleep(3); + console.log('Frontend setup task complete!') + // Set the frontend task as being completed + invoke('set_complete', {task: 'frontend'}) + } + + // Effectively a JavaScript main function + window.addEventListener("DOMContentLoaded", () => { + setup() + }); ``` - -6. ##### Close the splashscreen window + ```rust + // /src-tauri/src/lib.rs + // Import functionalities we'll be using + use tauri::async_runtime::spawn; + use tokio::time::{sleep, Duration}; + use std::sync::Mutex; + + // Create a struct we'll use to track the completion of + // setup related tasks + struct SetupState { + frontend_task: bool, + backend_task: bool, + } - With all your setup completed it's time to close the splashscreen window and unhide your main window! + // Our main entrypoint in a version 2 mobile compatible app + #[cfg_attr(mobile, tauri::mobile_entry_point)] + pub fn run() { + // Don't write code before Tauri starts, write it in the + // setup hook instead! + tauri::Builder::default() + // Register a `State` to be managed by Tauri + // We need write access to it so we wrap it in a `Mutex` + .manage(Mutex::new(SetupState{ + frontend_task: false, + backend_task: false + })) + // Add a command we can use to check + .invoke_handler(tauri::generate_handler!([check_completion])) + // Use the setup hook to execute setup related tasks + // Runs before the main loop, so no windows are yet created + .setup(|app| { + // Spawn setup as a non-blocking task so the windows can be + // created and ran while it executes + spawn(setup(app.handle())); + // The hook expects an Ok result + Ok(()) + }) + // Run the app + .run(tauri::generate_context!()) + .expect("error while running tauri application"); + } - - ```sh frame="none" + // A custom task for setting the state of a setup task + #[tauri::command] + async fn set_complete(state: State>, task: String) -> Result<(), ()> { + // Lock the state without write access + let mut state_lock = state.lock().unwrap(); + match task.as_str() { + "frontend" => *state_lock.frontend_task = true, + "backend" => *state_lock.backend_task = true, + _ => panic!("invalid task completed!") + } + // Check if both tasks are completed + if state_lock.backend_task && state_lock.frontend_task { + // Setup is complete, we can close the splashscreen + // and unhide the main window! + let splash_window = app.get_window("splashscreen").unwrap(); + let main_window = app.get_window("main").unwrap(); + splash_window.close(); + main_window.set_hidden(false); + } + Ok(()) + } + + // And async function that does some heavy setup task + async fn setup(app: AppHandle) -> Result<(), ()> { + // Fake performing some heavy action for 3 seconds + println!("Performing really heavy backend setup task..."); + sleep(Duration::from_secs(3)).await; + println!("Backend setup task completed!") + // Set the backend task as being completed + // Commands can be ran as regular functions as long as you take + // care of the input arguments yourself + set_complete(app.state::>>(), "backend".to_string()).await; + Ok(()) + } ``` +1. ##### Run the application + + You should now see a splashscreen window pop up, both the frontend and backend will perform their respective heavy 3 second setup tasks, after which the splashscreen disappears and the main window is shown! + ## Discuss From 74fab31f9d8607ca0246e2a9d1bc9c89273ce4bd Mon Sep 17 00:00:00 2001 From: Simon Hyll Date: Tue, 21 May 2024 18:52:43 +0200 Subject: [PATCH 6/9] fix: minor edit --- src/content/docs/learn/splashscreen.mdx | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/content/docs/learn/splashscreen.mdx b/src/content/docs/learn/splashscreen.mdx index 8a2c34b394..33c6f9cacc 100644 --- a/src/content/docs/learn/splashscreen.mdx +++ b/src/content/docs/learn/splashscreen.mdx @@ -1,9 +1,5 @@ --- title: Splashscreen -sidebar: - badge: - text: WIP - variant: caution tableOfContents: minHeadingLevel: 2 maxHeadingLevel: 5 @@ -221,7 +217,7 @@ If you are not an advanced user it's **highly recommended** that you use the opt Ok(()) } - // And async function that does some heavy setup task + // An async function that does some heavy setup task async fn setup(app: AppHandle) -> Result<(), ()> { // Fake performing some heavy action for 3 seconds println!("Performing really heavy backend setup task..."); From 07676e3658db5fdf436d44885035113c859c5541 Mon Sep 17 00:00:00 2001 From: Simon Hyll Date: Thu, 6 Jun 2024 15:21:57 +0200 Subject: [PATCH 7/9] Update src/content/docs/learn/splashscreen.mdx Co-authored-by: Paul Valladares <85648028+dreyfus92@users.noreply.github.com> --- src/content/docs/learn/splashscreen.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/content/docs/learn/splashscreen.mdx b/src/content/docs/learn/splashscreen.mdx index 33c6f9cacc..1d6df4117f 100644 --- a/src/content/docs/learn/splashscreen.mdx +++ b/src/content/docs/learn/splashscreen.mdx @@ -101,6 +101,7 @@ If you are not an advanced user it's **highly recommended** that you use the opt
It was super effective!
+
``` From 879c6c506d29e66652b1fdcd5ec164038465b6df Mon Sep 17 00:00:00 2001 From: Simon Hyll Date: Thu, 6 Jun 2024 16:37:58 +0200 Subject: [PATCH 8/9] fix: splashscreen working now --- src/content/docs/learn/splashscreen.mdx | 45 ++++++++++++++++--------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/src/content/docs/learn/splashscreen.mdx b/src/content/docs/learn/splashscreen.mdx index 1d6df4117f..3c2a16429e 100644 --- a/src/content/docs/learn/splashscreen.mdx +++ b/src/content/docs/learn/splashscreen.mdx @@ -157,9 +157,10 @@ If you are not an advanced user it's **highly recommended** that you use the opt ```rust // /src-tauri/src/lib.rs // Import functionalities we'll be using + use std::sync::Mutex; use tauri::async_runtime::spawn; + use tauri::{AppHandle, Manager, State}; use tokio::time::{sleep, Duration}; - use std::sync::Mutex; // Create a struct we'll use to track the completion of // setup related tasks @@ -176,18 +177,18 @@ If you are not an advanced user it's **highly recommended** that you use the opt tauri::Builder::default() // Register a `State` to be managed by Tauri // We need write access to it so we wrap it in a `Mutex` - .manage(Mutex::new(SetupState{ - frontend_task: false, - backend_task: false + .manage(Mutex::new(SetupState { + frontend_task: false, + backend_task: false, })) // Add a command we can use to check - .invoke_handler(tauri::generate_handler!([check_completion])) + .invoke_handler(tauri::generate_handler![greet, set_complete]) // Use the setup hook to execute setup related tasks // Runs before the main loop, so no windows are yet created .setup(|app| { // Spawn setup as a non-blocking task so the windows can be // created and ran while it executes - spawn(setup(app.handle())); + spawn(setup(app.handle().clone())); // The hook expects an Ok result Ok(()) }) @@ -196,24 +197,33 @@ If you are not an advanced user it's **highly recommended** that you use the opt .expect("error while running tauri application"); } + #[tauri::command] + fn greet(name: String) -> String { + format!("Hello {name} from Rust!") + } + // A custom task for setting the state of a setup task #[tauri::command] - async fn set_complete(state: State>, task: String) -> Result<(), ()> { + async fn set_complete( + app: AppHandle, + state: State<'_, Mutex>, + task: String, + ) -> Result<(), ()> { // Lock the state without write access let mut state_lock = state.lock().unwrap(); match task.as_str() { - "frontend" => *state_lock.frontend_task = true, - "backend" => *state_lock.backend_task = true, - _ => panic!("invalid task completed!") + "frontend" => state_lock.frontend_task = true, + "backend" => state_lock.backend_task = true, + _ => panic!("invalid task completed!"), } // Check if both tasks are completed if state_lock.backend_task && state_lock.frontend_task { // Setup is complete, we can close the splashscreen // and unhide the main window! - let splash_window = app.get_window("splashscreen").unwrap(); - let main_window = app.get_window("main").unwrap(); + let splash_window = app.get_webview_window("splashscreen").unwrap(); + let main_window = app.get_webview_window("main").unwrap(); splash_window.close(); - main_window.set_hidden(false); + main_window.show(); } Ok(()) } @@ -223,11 +233,16 @@ If you are not an advanced user it's **highly recommended** that you use the opt // Fake performing some heavy action for 3 seconds println!("Performing really heavy backend setup task..."); sleep(Duration::from_secs(3)).await; - println!("Backend setup task completed!") + println!("Backend setup task completed!"); // Set the backend task as being completed // Commands can be ran as regular functions as long as you take // care of the input arguments yourself - set_complete(app.state::>>(), "backend".to_string()).await; + set_complete( + app.clone(), + app.state::>(), + "backend".to_string(), + ) + .await?; Ok(()) } ``` From a642db22b93e0f3b2db04595b6c47de93b0d68ca Mon Sep 17 00:00:00 2001 From: Simon Hyll Date: Thu, 6 Jun 2024 21:35:42 +0200 Subject: [PATCH 9/9] fix: unwrap results --- src/content/docs/learn/splashscreen.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/docs/learn/splashscreen.mdx b/src/content/docs/learn/splashscreen.mdx index 3c2a16429e..50d6b23af5 100644 --- a/src/content/docs/learn/splashscreen.mdx +++ b/src/content/docs/learn/splashscreen.mdx @@ -222,8 +222,8 @@ If you are not an advanced user it's **highly recommended** that you use the opt // and unhide the main window! let splash_window = app.get_webview_window("splashscreen").unwrap(); let main_window = app.get_webview_window("main").unwrap(); - splash_window.close(); - main_window.show(); + splash_window.close().unwrap(); + main_window.show().unwrap(); } Ok(()) }