inital commit

This commit is contained in:
2025-11-24 20:02:24 +01:00
parent bf5cea3fb1
commit 407a7168a9
8 changed files with 2808 additions and 0 deletions

1946
Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

43
Cargo.toml Normal file
View File

@@ -0,0 +1,43 @@
[package]
name = "demo"
version = "1.0.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
async-channel = "2.2.0"
libc = "0.2"
rand = "0.8.5"
url = "2.5.0"
[dependencies.soup3]
version = "0.6.0"
features = ["v3_4"]
[dependencies.webkit6]
version = "0.3.0"
features = ["v2_42"]
[dependencies.gtk]
version = "0.8.1"
package = "gtk4"
features = ["gnome_46"]
[dependencies.adw]
version = "0.6.0"
package = "libadwaita"
features = ["v1_5"]
[dependencies.ashpd]
version = "0.8.1"
features = ["gtk4"]
[dependencies.shumate]
version = "0.5.0"
package = "libshumate"
features = ["v1_2"]
[lib]
crate-type = ["cdylib"]
path = "lib.rs"

11
code.rs Normal file
View File

@@ -0,0 +1,11 @@
use crate::workbench;
use gtk::{glib};
use adw::prelude::*;
pub fn main() {
}
fn on_button_clicked(button: &gtk::Button) {
if button.styles.contains("checked")
}

21
jsconfig.json Normal file
View File

@@ -0,0 +1,21 @@
{
"compilerOptions": {
"checkJs": true,
"module": "ESNext",
"moduleResolution": "Bundler",
// TODO: should probably be fixed to ES2023, or whatever standard is
// currently supported by the latest GJS
"target": "ESNext",
"outDir": "compiled_javascript",
"baseUrl": ".",
"paths": {
"*": ["*", "/app/share/re.sonny.Workbench/langs/typescript/gi-types/*"]
},
"skipLibCheck": true
},
"include": [
"main.js",
"/app/share/re.sonny.Workbench/langs/typescript/types/ambient.d.ts",
"/app/share/re.sonny.Workbench/langs/typescript/gi-types/gi.d.ts"
]
}

765
main.blp Normal file
View File

@@ -0,0 +1,765 @@
using Gtk 4.0;
using Adw 1;
Adw.Clamp {
Box {
orientation: vertical;
Label {
label: _("Warframe Checklist");
margin-top: 12;
margin-bottom: 12;
styles [
"title-1",
]
}
Label {
label: _("List of all Warframes available as of Nov '25");
margin-bottom: 12;
styles [
"dim-label"
]
}
FlowBox {
homogeneous: true;
row-spacing: 18;
max-children-per-line: 2;
Box {
orientation: vertical;
Label {
label: _("Normal");
margin-bottom: 12;
styles [
"bold",
]
}
Separator {
margin-bottom: 8;
}
Box {
orientation: vertical;
Button {
name: "ash";
label: _("Ash");
margin-bottom: 4;
}
Button {
label: _("Atlas");
margin-bottom: 4;
}
Button {
label: _("Banshee");
margin-bottom: 4;
}
Button {
label: _("Baruuk");
margin-bottom: 4;
}
Button {
label: _("Caliban");
margin-bottom: 4;
}
Button {
label: _("Chroma");
margin-bottom: 4;
}
Button {
label: _("Citrine");
margin-bottom: 4;
}
Button {
label: _("Cyte-09");
margin-bottom: 4;
}
Button {
label: _("Dagath");
margin-bottom: 4;
}
Button {
label: _("Dante");
margin-bottom: 4;
}
Button {
label: _("Ember");
margin-bottom: 4;
}
Button {
label: _("Equinox");
margin-bottom: 4;
}
Button {
label: _("Excalibur");
margin-bottom: 4;
}
Button {
label: _("Frost");
margin-bottom: 4;
}
Button {
label: _("Gara");
margin-bottom: 4;
}
Button {
label: _("Garuda");
margin-bottom: 4;
}
Button {
label: _("Gauss");
margin-bottom: 4;
}
Button {
label: _("Grendel");
margin-bottom: 4;
}
Button {
label: _("Gyre");
margin-bottom: 4;
}
Button {
label: _("Harrow");
margin-bottom: 4;
}
Button {
label: _("Hildryn");
margin-bottom: 4;
}
Button {
label: _("Hydroid");
margin-bottom: 4;
}
Button {
label: _("Inaros");
margin-bottom: 4;
}
Button {
label: _("Ivara");
margin-bottom: 4;
}
Button {
label: _("Jade");
margin-bottom: 4;
}
Button {
label: _("Khora");
margin-bottom: 4;
}
Button {
label: _("Koumei");
margin-bottom: 4;
}
Button {
label: _("Kullervo");
margin-bottom: 4;
}
Button {
label: _("Lavos");
margin-bottom: 4;
}
Button {
label: _("Limbo");
margin-bottom: 4;
}
Button {
label: _("Loki");
margin-bottom: 4;
}
Button {
label: _("Mag");
margin-bottom: 4;
}
Button {
label: _("Mesa");
margin-bottom: 4;
}
Button {
label: _("Mirage");
margin-bottom: 4;
}
Button {
label: _("Nekros");
margin-bottom: 4;
}
Button {
label: _("Nezha");
margin-bottom: 4;
}
Button {
label: _("Nidus");
margin-bottom: 4;
}
Button {
label: _("Nokko");
margin-bottom: 4;
}
Button {
label: _("Nova");
margin-bottom: 4;
}
Button {
label: _("Nyx");
margin-bottom: 4;
}
Button {
label: _("Oberon");
margin-bottom: 4;
}
Button {
label: _("Octavia");
margin-bottom: 4;
}
Button {
label: _("Oraxia");
margin-bottom: 4;
}
Button {
label: _("Protea");
margin-bottom: 4;
}
Button {
label: _("Qorvex");
margin-bottom: 4;
}
Button {
label: _("Revenant");
margin-bottom: 4;
}
Button {
label: _("Rhino");
margin-bottom: 4;
}
Button {
label: _("Saryn");
margin-bottom: 4;
}
Button {
label: _("Sevagoth");
margin-bottom: 4;
}
Button {
label: _("Styanax");
margin-bottom: 4;
}
Button {
label: _("Temple");
margin-bottom: 4;
}
Button {
label: _("Titania");
margin-bottom: 4;
}
Button {
label: _("Trinity");
margin-bottom: 4;
}
Button {
label: _("Valykr");
margin-bottom: 4;
}
Button {
label: _("Vauban");
margin-bottom: 4;
}
Button {
label: _("Volt");
margin-bottom: 4;
}
Button {
label: _("Voruna");
margin-bottom: 4;
}
Button {
label: _("Wisp");
margin-bottom: 4;
}
Button {
label: _("Wukong");
margin-bottom: 4;
}
Button {
label: _("Xaku");
margin-bottom: 4;
}
Button {
label: _("Yareli");
margin-bottom: 4;
}
Button {
label: _("Zephyr");
margin-bottom: 4;
}
}
}
Box {
orientation: vertical;
Label {
label: _("Prime");
margin-bottom: 12;
styles [
"bold",
]
}
Separator {
margin-bottom: 8;
}
Box {
orientation: vertical;
Button ash_p_button {
label: _("Ash Prime");
margin-bottom: 4;
}
Button {
label: _("Atlas Prime");
margin-bottom: 4;
}
Button {
label: _("Banshee Prime");
margin-bottom: 4;
}
Button {
label: _("Baruuk Prime");
margin-bottom: 4;
}
Button {
label: _("Caliban Prime");
margin-bottom: 4;
}
Button {
label: _("Chroma Prime");
margin-bottom: 4;
}
Button {
label: _("Citrine Prime");
margin-bottom: 4;
can-target: false;
styles [
"disabled",
]
}
Button {
label: _("Cyte-09 Prime");
margin-bottom: 4;
can-target: false;
styles [
"disabled",
]
}
Button {
label: _("Dagath Prime");
margin-bottom: 4;
can-target: false;
styles [
"disabled",
]
}
Button {
label: _("Dante Prime");
margin-bottom: 4;
can-target: false;
styles [
"disabled",
]
}
Button {
label: _("Ember Prime");
margin-bottom: 4;
}
Button {
label: _("Equinox Prime");
margin-bottom: 4;
}
Button {
label: _("Excalibur Umbra");
margin-bottom: 4;
}
Button {
label: _("Frost Prime");
margin-bottom: 4;
}
Button {
label: _("Gara Prime");
margin-bottom: 4;
}
Button {
label: _("Garuda Prime");
margin-bottom: 4;
}
Button {
label: _("Gauss Prime");
margin-bottom: 4;
}
Button {
label: _("Grendel Prime");
margin-bottom: 4;
}
Button {
label: _("Gyre Prime");
margin-bottom: 4;
can-target: false;
styles [
"disabled",
]
}
Button {
label: _("Harrow Prime");
margin-bottom: 4;
}
Button {
label: _("Hildryn Prime");
margin-bottom: 4;
}
Button {
label: _("Hydroid Prime");
margin-bottom: 4;
}
Button {
label: _("Inaros Prime");
margin-bottom: 4;
}
Button {
label: _("Ivara Prime");
margin-bottom: 4;
}
Button {
label: _("Jade Prime");
margin-bottom: 4;
can-target: false;
styles [
"disabled",
]
}
Button {
label: _("Khora Prime");
margin-bottom: 4;
}
Button {
label: _("Koumei Prime");
margin-bottom: 4;
can-target: false;
styles [
"disabled",
]
}
Button {
label: _("Kullervo Prime");
margin-bottom: 4;
can-target: false;
styles [
"disabled",
]
}
Button {
label: _("Lavos Prime");
margin-bottom: 4;
}
Button {
label: _("Limbo Prime");
margin-bottom: 4;
}
Button {
label: _("Loki Prime");
margin-bottom: 4;
}
Button {
label: _("Mag Prime");
margin-bottom: 4;
}
Button {
label: _("Mesa Prime");
margin-bottom: 4;
}
Button {
label: _("Mirage Prime");
margin-bottom: 4;
}
Button {
label: _("Nekros Prime");
margin-bottom: 4;
}
Button {
label: _("Nezha Prime");
margin-bottom: 4;
}
Button {
label: _("Nidus Prime");
margin-bottom: 4;
}
Button {
label: _("Nokko Prime");
margin-bottom: 4;
can-target: false;
styles [
"disabled",
]
}
Button {
label: _("Nova Prime");
margin-bottom: 4;
}
Button {
label: _("Nyx Prime");
margin-bottom: 4;
}
Button {
label: _("Oberon Prime");
margin-bottom: 4;
}
Button {
label: _("Octavia Prime");
margin-bottom: 4;
}
Button {
label: _("Oraxia Prime");
margin-bottom: 4;
can-target: false;
styles [
"disabled",
]
}
Button {
label: _("Protea Prime");
margin-bottom: 4;
}
Button {
label: _("Qorvex Prime");
margin-bottom: 4;
can-target: false;
styles [
"disabled",
]
}
Button {
label: _("Revenant Prime");
margin-bottom: 4;
}
Button {
label: _("Rhino Prime");
margin-bottom: 4;
}
Button {
label: _("Saryn Prime");
margin-bottom: 4;
}
Button {
label: _("Sevagoth Prime");
margin-bottom: 4;
}
Button {
label: _("Styanax Prime");
margin-bottom: 4;
can-target: false;
styles [
"disabled",
]
}
Button {
label: _("Temple Prime");
margin-bottom: 4;
can-target: false;
styles [
"disabled",
]
}
Button {
label: _("Titania Prime");
margin-bottom: 4;
}
Button {
label: _("Trinity Prime");
margin-bottom: 4;
}
Button {
label: _("Valykr Prime");
margin-bottom: 4;
}
Button {
label: _("Vauban Prime");
margin-bottom: 4;
}
Button {
label: _("Volt Prime");
margin-bottom: 4;
}
Button {
label: _("Voruna Prime");
margin-bottom: 4;
can-target: false;
styles [
"disabled",
]
}
Button {
label: _("Wisp Prime");
margin-bottom: 4;
}
Button {
label: _("Wukong Prime");
margin-bottom: 4;
}
Button {
label: _("Xaku Prime");
margin-bottom: 4;
}
Button {
label: _("Yareli Prime");
margin-bottom: 4;
}
Button {
label: _("Zephyr Prime");
margin-bottom: 4;
}
}
}
}
}
}

11
main.css Normal file
View File

@@ -0,0 +1,11 @@
.disabled {
background: #111111;
}
.checked {
background: #227722;
}
.bold {
font-weight: bold;
}

1
main.ui Normal file
View File

@@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?>

10
settings Normal file
View File

@@ -0,0 +1,10 @@
[re/sonny/Workbench]
show-console=true
window-width=1920
window-height=1172
edited=true
show-style=true
window-maximized=true
show-code=true
code-language=2
name='Warframe Planner'