Skip to content

Commit 89ef20f

Browse files
authored
Обновление v2.0.0-beta.1
2 parents 9299593 + 87cd887 commit 89ef20f

File tree

9 files changed

+107
-124
lines changed

9 files changed

+107
-124
lines changed

.github/workflows/rust.yml

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Rust
2+
3+
on: [push, pull_request]
4+
5+
env:
6+
CARGO_TERM_COLOR: always
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v4
13+
14+
- name: Install OS dependencies
15+
run: |
16+
sudo apt update
17+
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev
18+
- name: Install create-tauri-app
19+
run: cargo install --locked create-tauri-app
20+
- name: Install tauri-cli
21+
run: cargo install --locked tauri-cli
22+
- name: Install trunk
23+
run: cargo install --locked trunk
24+
- name: Install wasm-bindgen-cli
25+
run: cargo install --locked wasm-bindgen-cli
26+
- name: Install cargo-leptos
27+
run: cargo install --locked cargo-leptos
28+
- name: Install target
29+
run: rustup target add wasm32-unknown-unknown
30+
31+
- name: Build
32+
run: cargo tauri build

Cargo.toml

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "pts_bomber-ui"
3-
version = "2.0.0-beta.0"
3+
version = "2.0.0-beta.1"
44
edition = "2021"
55

66
[dependencies]
@@ -14,3 +14,7 @@ console_error_panic_hook = "0.1.7"
1414

1515
[workspace]
1616
members = ["src-tauri"]
17+
18+
[profile.release]
19+
lto = true
20+
opt-level = 'z'

README.md

+13-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
# pts_bomber
2+
3+
# Внимание
4+
## **Данные проект несёт исключительно образовательней цели и вообще создаётся как портфолио. Подробнее в разделе [`Используемые технологии`](https://github.com/Patysonchick/pts_bomber/tree/staging?tab=readme-ov-file#%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B5%D0%BC%D1%8B%D0%B5-%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B8)**
5+
26
### **Первый** SMS/звонки бомбер написанный на `Rust`.
37

4-
Telegram канал - [pts_bomber](https://t.me/pts_bomber)
8+
Новости и успехи разработки в Telegram канале - [pts_bomber](https://t.me/pts_bomber)
59

610
## Рабочие российские сервисы
711
### SMS
@@ -17,6 +21,14 @@ Telegram канал - [pts_bomber](https://t.me/pts_bomber)
1721
* Rust
1822
* Tauri
1923
* Leptos
24+
* Git
25+
* GitHub
26+
* GitHub Actions
27+
* Arch Linux
28+
29+
## Импользуемое оборудование
30+
* Я - Lenovo ThinkPad T480(Intel Core i7-8550U + Nvidia GeForce MX150) на Arch Linux
31+
* [dandaniel2](https://github.com/dandaniel2) - Xiaomi Mi Notebook Pro 15.6(Intel Core i7-8550U + Nvidia GeForce MX150) на macOS
2032

2133
## Планы
2234
* Добавить больше мобильных операторов

src-tauri/Cargo.toml

+10-6
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
[package]
22
name = "pts_bomber"
3-
version = "2.0.0-beta.0"
3+
version = "2.0.0-beta.1"
44
edition = "2021"
55

66
[build-dependencies]
7-
tauri-build = { version = "2.0.2", features = [] }
7+
tauri-build = { version = "2.0.3", features = [] }
88

99
[dependencies]
10-
tauri = { version = "2.0.6", features = [] }
10+
tauri = { version = "2.1.0", features = [] }
1111
tauri-plugin-shell = "2.0.2"
1212
tauri-plugin-dialog = "2.0.3"
13-
reqwest = { version = "0.12.8", features = ["json", "cookies"] }
14-
tokio = { version = "1.41.0", features = ["full"] }
15-
serde = { version = "1.0.213", features = ["derive"] }
13+
reqwest = { version = "0.12.9", features = ["json", "cookies"] }
14+
tokio = { version = "1.41.1", features = ["full"] }
15+
serde = { version = "1.0.214", features = ["derive"] }
1616
serde_json = "1.0.132"
17+
18+
[profile.release]
19+
lto = true
20+
opt-level = 'z'

src-tauri/tauri.conf.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://schema.tauri.app/config/2",
33
"productName": "pts_bomber",
4-
"version": "2.0.0-beta.0",
4+
"version": "2.0.0-beta.1",
55
"identifier": "ru.pts-team.pts-bomber",
66
"build": {
77
"beforeDevCommand": "trunk serve",
@@ -17,7 +17,7 @@
1717
"decorations": false,
1818
"resizable": true,
1919
"width": 450,
20-
"height": 450
20+
"height": 400
2121
}
2222
],
2323
"security": {

src/_app.rs

-99
This file was deleted.

src/app.rs

+16-10
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::footer::Footer;
2-
use crate::titlebar::Titlebar;
2+
use crate::titlebar::{Status, Titlebar};
33
use leptos::leptos_dom::ev::SubmitEvent;
44
use leptos::*;
55
use serde::{Deserialize, Serialize};
@@ -38,13 +38,15 @@ struct AttackArgs<'a> {
3838
#[component]
3939
pub fn App() -> impl IntoView {
4040
let (input_field, set_input_field) = create_signal(String::new());
41+
let (title, set_title) = create_signal(Status::IsIdling);
42+
let (logs, set_logs) = create_signal(String::from("Логи будут здесь..."));
4143

4244
let update_input = move |ev| {
4345
let v = event_target_value(&ev);
4446
set_input_field.set(v);
4547
};
4648

47-
let format_input = move |ev: SubmitEvent| {
49+
let attack = move |ev: SubmitEvent| {
4850
ev.prevent_default();
4951
spawn_local(async move {
5052
let input_field = input_field.get_untracked();
@@ -57,31 +59,35 @@ pub fn App() -> impl IntoView {
5759
log(&formated_phone);
5860

5961
if formated_phone != "0" && formated_phone != "1" {
62+
set_title.set(Status::Attacking);
63+
log("Attacking");
6064
let args = serde_wasm_bindgen::to_value(&AttackArgs {
6165
phone: &formated_phone,
6266
})
63-
.unwrap();
67+
.unwrap();
6468
invoke("attack", args).await;
69+
set_title.set(Status::IsIdling);
70+
log("Ended")
6571
}
6672
});
6773
};
6874

6975
view! {
70-
<Titlebar></Titlebar>
76+
<Titlebar title=title/>
7177
<div class="panel flex-element flex-auto w-full center-elements justify-around">
7278
<div class="w-full flex-element center-elements">
73-
<div class="bg-black font-bold p-2 m-1 rounded-2xl">"Enter russian number"</div>
74-
<form class="flex-element flex-row center-elements" on:submit=format_input>
79+
<div class="bg-black font-bold p-2 m-1 rounded-2xl">"Введи российский номер"</div>
80+
<form class="flex-element flex-row center-elements" on:submit=attack>
7581
<span class="panel bg-black">"🇷🇺"</span>
7682
<input type="text" placeholder="+7 (9xx) xxx xx-xx" class="bg-black text-center font-bold w-full p-1 border-2 border-green-600 rounded-xl" on:input=update_input />
7783
<button type="submit" class="button material-symbols-rounded">"send"</button>
7884
</form>
7985
</div>
80-
<div class="w-full flex-element center-elements">
81-
<div class="bg-black font-bold p-2 m-1 rounded-2xl">"Logs"</div>
82-
<textarea readonly class="panel bg-black w-full">"Logs will be here"</textarea>
86+
<div class="h-full w-full flex-element center-elements">
87+
<div class="bg-black font-bold p-2 m-1 rounded-2xl">"Логи"</div>
88+
<textarea readonly class="panel bg-black h-full w-full">{ logs }</textarea>
8389
</div>
8490
</div>
85-
<Footer></Footer>
91+
<Footer/>
8692
}
8793
}

src/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
66
<title>pts_bomber</title>
77

8-
<link data-trunk rel="rust" href="../Cargo.toml" data-wasm-opt="z" />
8+
<link data-trunk rel="rust" href="../Cargo.toml" />
99
<link data-trunk rel="tailwind-css" href="tailwind.css" />
1010
<link data-trunk rel="copy-dir" href="public" />
1111
</head>

src/titlebar.rs

+28-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
use leptos::*;
22
use wasm_bindgen::prelude::*;
33

4+
const VERSION: &str = "v2.0.0-beta.1";
5+
6+
#[derive(Clone)]
7+
pub enum Status {
8+
IsIdling,
9+
Attacking,
10+
}
11+
412
#[wasm_bindgen(module = "/src/window.js")]
513
extern "C" {
614
#[wasm_bindgen]
@@ -14,14 +22,30 @@ extern "C" {
1422
}
1523

1624
#[component]
17-
pub fn Titlebar() -> impl IntoView {
25+
pub fn Titlebar(title: ReadSignal<Status>) -> impl IntoView {
1826
view! {
1927
<div data-tauri-drag-region class="flex-element flex-row w-full justify-between">
20-
<div data-tauri-drag-region class="flex-element flex-row">
28+
<div data-tauri-drag-region class="flex-element flex-row w-full">
2129
<span data-tauri-drag-region class="panel flex-element font-bold">"pts_bomber"</span>
22-
<span class="panel flex-element font-light text"><em>"v2.0.0"</em></span>
30+
<span class="panel flex-element w-full font-light"><em>{VERSION}</em></span>
31+
<span
32+
data-tauri-drag-region
33+
class="panel flex-element w-full font-bold"
34+
class: bg-neutral-800 = move || match title.get() {
35+
Status::IsIdling => true,
36+
Status::Attacking => false
37+
}
38+
class: bg-red-700 = move || match title.get() {
39+
Status::IsIdling => false,
40+
Status::Attacking => true
41+
}
42+
>{
43+
move || match title.get() {
44+
Status::IsIdling => "Простаивает",
45+
Status::Attacking => "Атака"
46+
}
47+
}</span>
2348
</div>
24-
<span data-tauri-drag-region class="panel w-full font-bold">"Is idle"</span>
2549
<div class="panel material-symbols-rounded flex-element flex-row">
2650
<button on:click=move |_| { minimize() }>"minimize"</button>
2751
<button on:click=move |_| { close() }>"close"</button>

0 commit comments

Comments
 (0)