mirror of
https://github.com/gitbutlerapp/gitbutler.git
synced 2024-09-19 08:07:22 +03:00
The GitButler version control client, backed by Git, powered by Tauri/Rust/Svelte
c19e374476
- Update project page layout to a `div` with a bottom border - Adjust display width of session timeline based on session duration - Add timeline session components to project page - Add logic to determine if project exists - Update authentication API calls and parse JSON responses - Add new methods for creating login token and getting user object [src/routes/+layout.svelte] - Change div container from `flex` to `grid` - Increase sidebar height from `10` to `12` - Change sidebar width from `1/4` to `flex` - Change main content width from `flex-grow` to `col-span-5` - Add `dark` class to sidebar and main content [src/lib/components/timeline/index.ts] - Change the exported component from `TimelineDay` to `TimelineDaySession` [src/routes/+layout.ts] - Add an `add` method to the `projects` object - Add `user` object to the `load` function - Update the `projects` object to be initialized from an external source if not building [src/routes/projects/[projectId]/+layout.svelte] - Change the layout of the project page from a `div` to a `div` with a bottom border [src/lib/components/timeline/TimelineDay.svelte] - Delete the TimelineDay component - Remove the code related to the component, including the `sessionDisplayWidth` function [src/routes/projects/[projectId]/sessions/[sessionId]/+page.svelte] - Replace the `border-y` class with `border-b` in the `+page.svelte` file [src/routes/projects/[projectId]/+page.svelte] - Add logic to adjust the display width of the session timeline based on session duration - Add logic to determine if the project exists - Add timeline session components to the project page [src/lib/users.ts] - Move imports to the top of the file - Add a check to see if a user is logged in - Set the store to the user if they are logged in - Log the user when they are set - Write the user to the file when they are set [src/lib/authentication.ts] - Change the URL for the API calls - Parse JSON responses from the API - Add a new method for creating a login token - Add a new method for getting a user object - Fix typo in error message - Update the content-type header for API calls [src/routes/projects/[projectId]/sessions/[sessionId]/+page.ts] - Change the logic for finding the current session - Make the code more precise in finding the current session - Change the logic for finding the previous session |
||
---|---|---|
.github/workflows | ||
.vscode | ||
src | ||
src-tauri | ||
static | ||
.eslintrc.json | ||
.gitignore | ||
.npmrc | ||
.prettierrc.json | ||
package.json | ||
pnpm-lock.yaml | ||
postcss.config.cjs | ||
README.md | ||
svelte.config.js | ||
tailwind.config.cjs | ||
tsconfig.json | ||
vite.config.js |
development
prerequisites
see here for the list of software required to build / develope the app.
setup
then, make sure to install app dependencies:
$ pnpm install
run
now you should be able to run the app in development mode:
$ pnpm tauri dev
building
to build the app in production mode, run:
$ pnpm tauri build
releasing
Releasing is done via GitHub Action.
Go to the link and select Run workflow
from the desired branch.
versioning
To update the release app version, update version in the Cargo.toml.
runners
Note that to build an arm64 macos app, you need to make sure that there is at least one self-hosted runner
with macos-aarch64
label is online here.
If you are a lucky owner of an arm64 macos machine, feel free to run it yourself.
Make sure to label it with macos-aarch64
.