diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml new file mode 100644 index 0000000..2af73d9 --- /dev/null +++ b/.github/workflows/build-macos.yml @@ -0,0 +1,40 @@ +name: macOS Build + +on: + push: + branches: [ "master", "feature/*" ] + +jobs: + build-macos: + runs-on: macos-latest + defaults: + run: + working-directory: ./src + + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 'lts/*' + cache: 'npm' + cache-dependency-path: src/package-lock.json + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + + - name: Install dependencies + run: npm ci + + - name: Build the app + run: npm run tauri build + + - name: Upload Artifacts + uses: actions/upload-artifact@v4 + with: + name: Temprix-macOS-App + path: | + src/src-tauri/target/release/bundle/dmg/*.dmg + src/src-tauri/target/release/bundle/macos/*.app + if-no-files-found: warn diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml new file mode 100644 index 0000000..1c6f304 --- /dev/null +++ b/.github/workflows/build-windows.yml @@ -0,0 +1,46 @@ +name: Windows Build + +on: + push: + branches: [ "master", "feature/*" ] + +jobs: + build-windows: + runs-on: windows-latest + defaults: + run: + working-directory: ./src + + steps: + - uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 'lts/*' + cache: 'npm' + cache-dependency-path: src/package-lock.json + + - name: Install Rust + uses: dtolnay/rust-toolchain@stable + with: + targets: x86_64-pc-windows-msvc + + - name: Install dependencies + run: npm ci + + - name: Fix Icon for Windows + run: | + magick convert src-tauri/icons/icon.png -define icon:auto-resize=256,128,64,48,32,16 src-tauri/icons/icon.ico + + - name: Build the app + run: npm run tauri build + + - name: Upload Artifacts + uses: actions/upload-artifact@v4 + with: + name: Temprix-Windows-Installer + path: | + src/src-tauri/target/release/bundle/nsis/*.exe + src/src-tauri/target/release/bundle/msi/*.msi + if-no-files-found: warn diff --git a/README.md b/README.md index a0251c5..ab85c5f 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@

Temprix

- Automatic Window Title & Ticket Tracking for macOS + Automatic Window Title & Ticket Tracking for macOS & Windows

@@ -18,6 +18,7 @@ Rust Tauri macOS + Windows Node.js

@@ -35,14 +36,16 @@ - **🔒 Local & Private**: Securely logs activity to JSON files in `~/Documents/ActivityLogs/`. Data never leaves your machine. - **🖥️ System Tray Integration**: Unobtrusive menu bar app that stays out of your way. - **⚙️ Configurable**: Customize regex patterns to match your organization's ticket format. +- **🪟 Cross-Platform**: Works seamlessly on both macOS and Windows. --- ## 🛠️ Prerequisites -- **macOS**: Designed specifically for the macOS ecosystem. +- **OS**: macOS or Windows. - **Node.js** & **npm**: Required for the frontend build process. - **Rust**: Required for the high-performance backend. +- **Visual Studio C++ Build Tools** (Windows only): Required for compiling Rust on Windows. --- diff --git a/src/package-lock.json b/src/package-lock.json index aa77176..1bc344b 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -1,12 +1,12 @@ { "name": "temprix", - "version": "0.1.0", + "version": "0.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "temprix", - "version": "0.1.0", + "version": "0.2.0", "devDependencies": { "@tauri-apps/cli": "^2" } diff --git a/src/package.json b/src/package.json index a8c9c07..cc24e32 100644 --- a/src/package.json +++ b/src/package.json @@ -1,7 +1,7 @@ { "name": "temprix", "private": true, - "version": "0.1.0", + "version": "0.2.0", "type": "module", "scripts": { "tauri": "tauri" diff --git a/src/src-tauri/Cargo.lock b/src/src-tauri/Cargo.lock index 1689b42..daff607 100644 --- a/src/src-tauri/Cargo.lock +++ b/src/src-tauri/Cargo.lock @@ -4026,7 +4026,7 @@ dependencies = [ [[package]] name = "temprix" -version = "0.1.0" +version = "0.2.0" dependencies = [ "active-win-pos-rs", "chrono", diff --git a/src/src-tauri/Cargo.toml b/src/src-tauri/Cargo.toml index db530aa..f8c7b8e 100644 --- a/src/src-tauri/Cargo.toml +++ b/src/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "temprix" -version = "0.1.0" +version = "0.2.0" description = "The non AI, smart local activity tracker !" authors = ["you"] edition = "2021" diff --git a/src/src-tauri/src/lib.rs b/src/src-tauri/src/lib.rs index f88d7e2..80bb7aa 100644 --- a/src/src-tauri/src/lib.rs +++ b/src/src-tauri/src/lib.rs @@ -81,7 +81,7 @@ pub fn run() { tauri::WebviewUrl::App("settings.html".into()), ) .title("Activity Tracker Settings") - .inner_size(650.0, 700.0) + .inner_size(650.0, 400.0) .build(); } } diff --git a/src/src-tauri/tauri.conf.json b/src/src-tauri/tauri.conf.json index 9a51805..2270293 100644 --- a/src/src-tauri/tauri.conf.json +++ b/src/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Temprix", - "version": "0.1.0", + "version": "0.2.0", "identifier": "com.robertkeller.temprix", "build": { "frontendDist": "../src" diff --git a/src/src/index.html b/src/src/index.html deleted file mode 100644 index 9f801d7..0000000 --- a/src/src/index.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - Temprix - - - - -
-

Welcome to Temprix

- -
- - - - - - -
-

Click on the Tauri logo to learn more about the framework

- -
- - -
-

-
- - diff --git a/src/src/main.js b/src/src/main.js deleted file mode 100644 index 55d5f93..0000000 --- a/src/src/main.js +++ /dev/null @@ -1,18 +0,0 @@ -const { invoke } = window.__TAURI__.core; - -let greetInputEl; -let greetMsgEl; - -async function greet() { - // Learn more about Tauri commands at https://tauri.app/develop/calling-rust/ - greetMsgEl.textContent = await invoke("greet", { name: greetInputEl.value }); -} - -window.addEventListener("DOMContentLoaded", () => { - greetInputEl = document.querySelector("#greet-input"); - greetMsgEl = document.querySelector("#greet-msg"); - document.querySelector("#greet-form").addEventListener("submit", (e) => { - e.preventDefault(); - greet(); - }); -}); diff --git a/src/src/settings.html b/src/src/settings.html index 6aa7bd4..8ef0629 100644 --- a/src/src/settings.html +++ b/src/src/settings.html @@ -10,83 +10,38 @@
-

Settings

+

Temprix

-
- Configure Regex patterns to identify ticket IDs from window titles.
- Use standard Regex syntax. Capture group 1 will be used as the ID. +
+

ID Detection Patterns

+
+ Configure Regex patterns to identify ticket IDs from window titles.
+ Use standard Regex syntax. Capture group 1 will be used as the ID. +
+ +
+ +
+ +
+ + +
- -
- -
- -
- - +
- +