diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..ead88cf --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,25 @@ +--- +name: Build + +on: + pull_request: + branches: + - main + +env: + CARGO_TERM_COLOR: always + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Install depencencies + run: sudo apt-get install -y libxkbcommon-dev libsqlite3-dev + - name: Configure rust-toolchain + uses: dtolnay/rust-toolchain@stable + with: + components: rustfmt + - name: Checkout + uses: actions/checkout@v4 + - name: Build + run: cargo build --verbose diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..76066d9 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,35 @@ +--- +name: Lint + +on: + pull_request: + branches: + - main + +env: + CARGO_TERM_COLOR: always + +jobs: + lint: + runs-on: ubuntu-latest + permissions: + checks: write + pull-requests: write + steps: + - name: Install depencencies + run: sudo apt-get install -y libxkbcommon-dev libsqlite3-dev + - name: Configure rust-toolchain + uses: dtolnay/rust-toolchain@nightly + with: + components: rustfmt,clippy + - name: Checkout + uses: actions/checkout@v4 + - name: Lint using clippy + uses: auguwu/clippy-action@1.4.0 + with: + token: ${{ secrets.GITHUB_TOKEN }} + - name: Format + uses: mbrobbel/rustfmt-check@master + with: + token: ${{ secrets.GITHUB_TOKEN }} + mode: review diff --git a/README.md b/README.md index 4ac922b..0786a37 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,3 @@ -> [!CAUTION] -> This application is still under development, and is not deemed stable for general use. -

cosmicding logo

@@ -30,7 +27,7 @@ Features: - `just` - `libxkbcommon-dev` - `libcosmic` -- `libsqlite3` +- `libsqlite3-dev` ## Installation @@ -52,29 +49,6 @@ sudo just install ## Roadmap -### Initial Stable Release - -> [!NOTE] -> This list is not complete and subject to change. - -In preparation for the first initial "stable" release, the following must be completed: - -- [x] [Application] Throw exceptions when failed to invoke REST API requests. -- [x] [UI] Notifications/toasts. - - [x] Account deletion. - - [x] Updating account. - - [x] Adding account. - - [x] Refreshing bookmarks for account. - - [x] Refreshing bookmarks for all accounts. - - [x] Bookmark deletion. - - [x] Updating bookmark. - - [x] Adding bookmark. -- [x] [Application] logging. -- [x] [Application] Avoid refreshing on every change/update. - - [x] Update memory in-place when possible. -- [x] [Application] "Lazy" bookmark refresh (do not block). -- [ ] CI - ### Future Potential improvements: @@ -88,6 +62,7 @@ Potential improvements: - [UI] Visual indicator for last sync status. - [UI] Indicators for `archived`, `unread`, `shared` bookmarks. - [Distribution] Flatpack release. +- [Distribution] compiled binary in GitHub release. - [UI] Sort bookmarks. Things to consider: diff --git a/res/screenshots/accounts.png b/res/screenshots/accounts.png index aeed44c..a3f9976 100644 Binary files a/res/screenshots/accounts.png and b/res/screenshots/accounts.png differ diff --git a/res/screenshots/bookmarks.png b/res/screenshots/bookmarks.png index 2f70c8d..852d24f 100644 Binary files a/res/screenshots/bookmarks.png and b/res/screenshots/bookmarks.png differ diff --git a/src/key_binds.rs b/src/key_binds.rs index 314ddc2..c5c0a48 100644 --- a/src/key_binds.rs +++ b/src/key_binds.rs @@ -1,8 +1,8 @@ use std::collections::HashMap; +use cosmic::iced::keyboard::Key; use cosmic::widget::menu::key_bind::KeyBind; use cosmic::widget::menu::key_bind::Modifier; -use cosmic::iced::keyboard::Key; use crate::app::MenuAction; diff --git a/src/main.rs b/src/main.rs index d34f972..8ca6745 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,15 +3,15 @@ mod config; mod db; mod http; mod i18n; +mod key_binds; mod menu; mod models; mod nav; mod pages; -mod key_binds; use crate::config::{Config, CONFIG_VERSION}; -use cosmic::cosmic_config::{self, CosmicConfigEntry}; use app::{Flags, APPID}; +use cosmic::cosmic_config::{self, CosmicConfigEntry}; fn main() -> cosmic::iced::Result { let requested_languages = i18n_embed::DesktopLanguageRequester::requested_languages(); diff --git a/src/menu.rs b/src/menu.rs index 6464a43..b6d3918 100644 --- a/src/menu.rs +++ b/src/menu.rs @@ -17,9 +17,7 @@ pub fn menu_bar<'a>(key_binds: &HashMap) -> Element<'a, Mes root(fl!("file")), items( key_binds, - vec![ - Item::Button(fl!("add-account"), MenuAction::AddAccount), - ], + vec![Item::Button(fl!("add-account"), MenuAction::AddAccount)], ), ), Tree::with_children(