inital commit
This commit is contained in:
1946
Cargo.lock
generated
Normal file
1946
Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
43
Cargo.toml
Normal file
43
Cargo.toml
Normal 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
11
code.rs
Normal file
@@ -0,0 +1,11 @@
|
||||
use crate::workbench;
|
||||
use gtk::{glib};
|
||||
use adw::prelude::*;
|
||||
|
||||
pub fn main() {
|
||||
|
||||
}
|
||||
|
||||
fn on_button_clicked(button: >k::Button) {
|
||||
if button.styles.contains("checked")
|
||||
}
|
||||
21
jsconfig.json
Normal file
21
jsconfig.json
Normal 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
765
main.blp
Normal 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
11
main.css
Normal file
@@ -0,0 +1,11 @@
|
||||
.disabled {
|
||||
background: #111111;
|
||||
}
|
||||
|
||||
.checked {
|
||||
background: #227722;
|
||||
}
|
||||
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
Reference in New Issue
Block a user