Skip to content

GUI Template#37

Merged
adamgracikowski merged 30 commits into
developfrom
feature/gui
Dec 25, 2025
Merged

GUI Template#37
adamgracikowski merged 30 commits into
developfrom
feature/gui

Conversation

@adamgracikowski
Copy link
Copy Markdown
Contributor

Co w PR?

  • Template dla aplikacji desktopowej z docelowym layoutem (paski - górny i dolny, side-bar oraz kontekstowy panel główny).
  • Zawiera działający przycisk do zmiany motywu oraz klikalne linki do profili na githubie.

Ciemny motyw:

image

Jasny motyw:

image

(wiem, że miał być tylko plan wyglądu, ale jak dotknąłem figmy to stwierdziłem, że szybciej mi będzie to zrobić od razu w ruście, tak samo jak PoC ostatnio 😅)

@adamgracikowski adamgracikowski marked this pull request as draft December 14, 2025 22:26
@adamgracikowski
Copy link
Copy Markdown
Contributor Author

Zmieniam jednak na drafta, bo jeszcze trochę wieczorkiem poklikałem i dodałem sporo, to chyba nie ma sensu dawać PR jedna po drugiej, tylko może w jednej (jedna PR = jedno sprawdzanie)

Comment thread gui/src/events/worker_event.rs Outdated
Comment thread gui/src/ui/components/buttons/commit_button.rs Outdated
Comment thread gui/src/ui/components/dialogs/commit_changes_dialog.rs Outdated
Comment thread gui/src/ui/components/dialogs/commit_changes_dialog.rs Outdated
Comment thread gui/src/ui/components/dialogs/create_repository_dialog.rs Outdated
Comment thread gui/src/ui/components/file_changes.rs Outdated
Comment thread gui/src/ui/components/file_changes.rs Outdated
Comment thread gui/src/ui/components/remote_actions.rs Outdated
Comment thread shared/src/extensions/change_directory.rs
Comment thread engine/src/handlers/status/handlers.rs Outdated
@adamgracikowski
Copy link
Copy Markdown
Contributor Author

adamgracikowski commented Dec 17, 2025

To jest w drafcie PR-ka.
Chciałem jeszcze oprogramować takie rzeczy przed wystawieniem:

  • Open repository
  • Przyciski Unstage/Restore
  • Ładowanie branchy i dropdown na branch

Dlatego niektóre rzeczy są nieużywane albo gdzieś jest dummy data tworzone.

@adamgracikowski
Copy link
Copy Markdown
Contributor Author

adamgracikowski commented Dec 20, 2025

Zmieniam status Draft -> Ready for review.
Dodałem jeszcze kilka elementów do ui.
Teraz myślę, że ta częściowa implementacja może już wejść zanim PR zrobi się za duża.

  • jest formularz do tworzenia branch'a i checkout'owania (narazie bez logiki handlerów)
  • jest mały przycisk do refreshowania stanu repozytorium obok przycisku commit
  • jest zapamiętywany stan rozwinięcia/zwinięcia list ze zmianami pomiędzy odświeżeniami stanu repozytorium
  • pobierana jest też lista istniejących branch'y.
Zrzut ekranu 2025-12-20 173656 Zrzut ekranu 2025-12-20 173708

@adamgracikowski adamgracikowski marked this pull request as ready for review December 20, 2025 22:05
@adamgracikowski
Copy link
Copy Markdown
Contributor Author

Wleciał jeszcze diff:

image

@adamgracikowski
Copy link
Copy Markdown
Contributor Author

Wleciały jeszcze settingsy:

  • zmiana zakładki powoduje odświeżenie,
  • klucze są gropowane po najbardziej nadrzędnej tabeli
  • można dodawać nowe wpisy przy pomocy formularza
  • globalny plik konfiguracyjny ładuje się od razu po otwarciu settingsów, a lokalny tylko jeżeli użytkownik ma otwarte jakieś repo
  • wydaje mi się, że nie ma sensu dodawać do funkcjonalności settingsów innych operacji polecenia config
Zrzut ekranu 2025-12-22 112632

@adamgracikowski
Copy link
Copy Markdown
Contributor Author

Dorzucam historię commitów, czyli integrację z poleceniem meva log:

image image

Comment thread engine/src/handlers/branch/handlers.rs Outdated
Comment thread engine/src/handlers/log/handlers.rs
Comment thread gui/src/ui/components/buttons/theme_button.rs Outdated
Comment thread gui/src/ui/components/dialogs/commit_changes_dialog.rs Outdated
Comment thread gui/src/ui/components/dialogs/create_repository_dialog.rs Outdated
Comment thread gui/src/ui/views/settings/set_config_form.rs Outdated
@adamgracikowski
Copy link
Copy Markdown
Contributor Author

adamgracikowski commented Dec 24, 2025

Dobra, porobiłem commenty, więc w wolnej chwili możesz kliknąć approve, a samego maina.rs to tam będziemy jeszcze później refaktorować, narazie za często się zmienia, żeby rozdzielać go na pliki.

Z takich rzeczy, których jeszcze nie ma w GUI to:

  • widok z listą pluginów i możliwością rejestracji/edycji (wrzucę na dniach, bo już zacząłem)
  • podpięcie logiki pod formularz do zarządzania gałęziami
  • podpięcie logiki pod przyciski typu pull/push/sync
  • zwiększenie kontrastu niektórych elementów w jasnym motywie, bo obecnie skupiałem się głównie na tym ciemnym (i on wygląda spoko), a jasny trochę kuleje xD

no i jedyna rzecz, która tam zostanie i nie wiadomo jeszcze jak ją ugryziemy to to rozwiązywanie konfliktów.
ale lista na pliki unmerged po na sidebarze już jest gotowa, więc tylko pewnie dodamy w menu kontekstowym obok show diff, czy stage/discard coś w stylu resolve conflicts no i ten plik się otworzy wtedy w notatniku przy pomocy open_in_editor() - tak chyba będzie najłatwiej (zamiast robić edytor w apce).

no i z takich nice to have (ale raczej bym to skipnął):

  • przycisk clone (obok create repo/open repo)
  • jakiś widok do zarządzania remote'ami (chociaż w sumie można przez settings'y)

i tyle 🤝

@adamgracikowski adamgracikowski merged commit c1ae22c into develop Dec 25, 2025
1 check passed
@adamgracikowski adamgracikowski deleted the feature/gui branch December 30, 2025 09:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants