The GitButler version control client, backed by Git, powered by Tauri/Rust/Svelte
Go to file
Kiril Videlov c19e374476 Refactor project page & timeline session components
- 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
2023-02-15 15:36:20 +01:00
.github/workflows include updater bundle when publishing 2023-02-15 09:18:19 +01:00
.vscode simple tauri example 2023-01-31 15:55:57 +01:00
src Refactor project page & timeline session components 2023-02-15 15:36:20 +01:00
src-tauri include updater bundle when publishing 2023-02-15 09:18:19 +01:00
static simple tauri example 2023-01-31 15:55:57 +01:00
.eslintrc.json add some linting config 2023-02-12 21:14:41 +01:00
.gitignore move bin ignore to separate file 2023-02-06 10:44:36 +01:00
.npmrc simple tauri example 2023-01-31 15:55:57 +01:00
.prettierrc.json add some linting config 2023-02-12 21:14:41 +01:00
package.json Update CodeViewer to use MergeView 2023-02-14 18:33:55 +01:00
pnpm-lock.yaml Update CodeViewer to use MergeView 2023-02-14 18:33:55 +01:00
postcss.config.cjs simple tauri example 2023-01-31 15:55:57 +01:00
README.md another attempt to make actions name work 2023-02-14 16:20:43 +01:00
svelte.config.js app: fix building 2023-02-03 10:35:42 +01:00
tailwind.config.cjs welcome to the dark side 2023-02-09 13:26:51 +01:00
tsconfig.json simple tauri example 2023-01-31 15:55:57 +01:00
vite.config.js crdt doc impl 2023-02-01 10:04:03 +01:00

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.