Sort front end imports using eslint plugin

This commit is contained in:
Mattias Granlund 2024-01-29 09:42:32 +01:00
parent 80b48778f8
commit 9d4a709012
106 changed files with 391 additions and 421 deletions

View File

@ -1,7 +1,7 @@
import { posthog } from 'posthog-js';
import { PUBLIC_POSTHOG_API_KEY } from '$env/static/public';
import type { User } from '../backend/cloud';
import { getVersion, getName } from '@tauri-apps/api/app';
import { posthog } from 'posthog-js';
import type { User } from '../backend/cloud';
import { PUBLIC_POSTHOG_API_KEY } from '$env/static/public';
export async function initPostHog() {
const [appName, appVersion] = await Promise.all([getName(), getVersion()]);

View File

@ -1,5 +1,4 @@
import { startSpan, setUser, type Span, init } from '@sentry/sveltekit';
import type { User } from '../backend/cloud';
import { dev } from '$app/environment';
import { PUBLIC_SENTRY_ENVIRONMENT } from '$env/static/public';

View File

@ -1,8 +1,6 @@
import { PUBLIC_API_BASE_URL } from '$env/static/public';
import { PUBLIC_CHAIN_API } from '$env/static/public';
import { invoke } from '$lib/backend/ipc';
import { isLoading, invoke } from './ipc';
import { nanoid } from 'nanoid';
import { isLoading } from './ipc';
import { PUBLIC_API_BASE_URL, PUBLIC_CHAIN_API } from '$env/static/public';
const apiUrl = new URL('/api/', new URL(PUBLIC_API_BASE_URL));

View File

@ -1,7 +1,7 @@
import type { EventCallback, EventName } from '@tauri-apps/api/event';
import { invoke as invokeTauri } from '@tauri-apps/api/tauri';
import { listen as listenTauri } from '@tauri-apps/api/event';
import { invoke as invokeTauri } from '@tauri-apps/api/tauri';
import { writable } from 'svelte/store';
import type { EventCallback, EventName } from '@tauri-apps/api/event';
export enum Code {
Unknown = 'errors.unknown',

View File

@ -1,8 +1,7 @@
import { invoke } from '$lib/backend/ipc';
import type { Project as CloudProject } from '$lib/backend/cloud';
import { open } from '@tauri-apps/api/dialog';
import { goto } from '$app/navigation';
import { persisted } from '$lib/persisted/persisted';
import * as toasts from '$lib/utils/toasts';
import { open } from '@tauri-apps/api/dialog';
import {
BehaviorSubject,
catchError,
@ -13,8 +12,9 @@ import {
skip,
switchMap
} from 'rxjs';
import { persisted } from '$lib/persisted/persisted';
import { get } from 'svelte/store';
import type { Project as CloudProject } from '$lib/backend/cloud';
import { goto } from '$app/navigation';
export type Key =
| 'default'

View File

@ -1,13 +1,13 @@
import type { PullRequest } from '$lib/github/types';
import type { Branch, RemoteBranch } from '$lib/vbranches/types';
import { capture } from '$lib/analytics/posthog';
import { CombinedBranch } from '$lib/branches/types';
import { Observable, combineLatest } from 'rxjs';
import { startWith, switchMap } from 'rxjs/operators';
import type { RemoteBranchService } from '$lib/stores/remoteBranches';
import type { GitHubService } from '$lib/github/service';
import type { PullRequest } from '$lib/github/types';
import type { RemoteBranchService } from '$lib/stores/remoteBranches';
import type { VirtualBranchService } from '$lib/vbranches/branchStoresCache';
import type { Branch, RemoteBranch } from '$lib/vbranches/types';
import type { Transaction } from '@sentry/sveltekit';
import { capture } from '$lib/analytics/posthog';
export class BranchService {
public branches$: Observable<CombinedBranch[]>;

View File

@ -1,7 +1,7 @@
<script lang="ts">
import { goto } from '$app/navigation';
import type { User } from '$lib/backend/cloud';
import Icon from '$lib/icons/Icon.svelte';
import type { User } from '$lib/backend/cloud';
import { goto } from '$app/navigation';
export let user: User | undefined;
export let pop = false;

View File

@ -1,6 +1,6 @@
<script lang="ts">
import type { Author } from '$lib/vbranches/types';
import AuthorIcon from './AuthorIcon.svelte';
import type { Author } from '$lib/vbranches/types';
export let authors: Author[];

View File

@ -1,6 +1,6 @@
<script>
import { goto } from '$app/navigation';
import Button from './Button.svelte';
import { goto } from '$app/navigation';
</script>
<Button

View File

@ -3,10 +3,10 @@
</script>
<script lang="ts">
import { onMount } from 'svelte';
import type iconsJson from '$lib/icons/icons.json';
import Icon from '$lib/icons/Icon.svelte';
import { tooltip } from '$lib/utils/tooltip';
import { onMount } from 'svelte';
import type iconsJson from '$lib/icons/icons.json';
export let icon: keyof typeof iconsJson | undefined = undefined;
export let iconAlign: 'left' | 'right' = 'right';

View File

@ -1,7 +1,7 @@
<script lang="ts">
import type { User } from '$lib/backend/cloud';
import AccountLink from './AccountLink.svelte';
import ImgThemed from './ImgThemed.svelte';
import type { User } from '$lib/backend/cloud';
export let user: User | undefined;
export let imgSet: { light: string; dark: string } | undefined = undefined;

View File

@ -2,24 +2,24 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import { HighlightStyle, StreamLanguage } from '@codemirror/language';
import { tags, highlightTree } from '@lezer/highlight';
import { NodeType, Tree, Parser } from '@lezer/common';
import { javascript } from '@codemirror/lang-javascript';
import { cpp } from '@codemirror/lang-cpp';
import { css } from '@codemirror/lang-css';
import { html } from '@codemirror/lang-html';
import { xml } from '@codemirror/lang-xml';
import { cpp } from '@codemirror/lang-cpp';
import { java } from '@codemirror/lang-java';
import { javascript } from '@codemirror/lang-javascript';
import { json } from '@codemirror/lang-json';
import { markdown } from '@codemirror/lang-markdown';
import { php } from '@codemirror/lang-php';
import { python } from '@codemirror/lang-python';
import { markdown } from '@codemirror/lang-markdown';
import { wast } from '@codemirror/lang-wast';
// import { svelte } from '@replit/codemirror-lang-svelte';
import { vue } from '@codemirror/lang-vue';
import { rust } from '@codemirror/lang-rust';
import { vue } from '@codemirror/lang-vue';
import { wast } from '@codemirror/lang-wast';
import { xml } from '@codemirror/lang-xml';
import { HighlightStyle, StreamLanguage } from '@codemirror/language';
import { ruby } from '@codemirror/legacy-modes/mode/ruby';
import { NodeType, Tree, Parser } from '@lezer/common';
import { tags, highlightTree } from '@lezer/highlight';
const t = tags;

View File

@ -1,7 +1,6 @@
<script lang="ts">
import { create } from './CodeHighlighter';
import { buildDiffRows, documentMap, RowType, type Row } from './renderer';
import type { DiffArray } from '$lib/diff';
export let filepath: string;

View File

@ -1,7 +1,7 @@
<script lang="ts">
import { joinClassNames } from '$lib/utils/joinClassNames';
import Button from '$lib/components/Button.svelte';
import { clickOutside } from '$lib/clickOutside';
import Button from '$lib/components/Button.svelte';
import { joinClassNames } from '$lib/utils/joinClassNames';
import type iconsJson from '$lib/icons/icons.json';
export let icon: keyof typeof iconsJson | undefined = undefined;

View File

@ -1,7 +1,7 @@
<script lang="ts">
import Icon from '$lib/icons/Icon.svelte';
import type iconsJson from '$lib/icons/icons.json';
import { tooltip } from '$lib/utils/tooltip';
import type iconsJson from '$lib/icons/icons.json';
export let icon: keyof typeof iconsJson;
export let size: 's' | 'm' | 'l' = 'l';

View File

@ -3,10 +3,10 @@
</script>
<script lang="ts">
import Button, { type ButtonColor } from './Button.svelte';
import Icon, { type IconColor } from '$lib/icons/Icon.svelte';
import { createEventDispatcher } from 'svelte';
import type iconsJson from '../icons/icons.json';
import Button, { type ButtonColor } from './Button.svelte';
export let style: MessageStyle = 'neutral';
export let title: string | undefined = undefined;

View File

@ -1,7 +1,7 @@
<script lang="ts">
import { onMount } from 'svelte';
import { open } from '@tauri-apps/api/shell';
import Icon from '$lib/icons/Icon.svelte';
import { open } from '@tauri-apps/api/shell';
import { onMount } from 'svelte';
let classes = '';
export { classes as class };

View File

@ -1,10 +1,10 @@
<script lang="ts">
import Button from './Button.svelte';
import { getCloudApiClient, type LoginToken } from '$lib/backend/cloud';
import * as toasts from '$lib/utils/toasts';
import { open } from '@tauri-apps/api/shell';
import Button from './Button.svelte';
import type { UserService } from '$lib/stores/user';
import { derived, writable } from 'svelte/store';
import type { UserService } from '$lib/stores/user';
const cloud = getCloudApiClient();

View File

@ -1,17 +1,15 @@
<script lang="ts">
import type { Project, ProjectService } from '$lib/backend/projects';
import type { BranchController } from '$lib/vbranches/branchController';
import type { UserService } from '$lib/stores/user';
import type { BaseBranch } from '$lib/vbranches/types';
import { slide } from 'svelte/transition';
import Button from './Button.svelte';
import DecorativeSplitView from './DecorativeSplitView.svelte';
import IconLink from './IconLink.svelte';
import Link from './Link.svelte';
import ProjectSwitcher from './ProjectSwitcher.svelte';
import Icon from '$lib/icons/Icon.svelte';
import IconLink from './IconLink.svelte';
import Button from './Button.svelte';
import Link from './Link.svelte';
import { slide } from 'svelte/transition';
import type { Project, ProjectService } from '$lib/backend/projects';
import type { UserService } from '$lib/stores/user';
import type { BranchController } from '$lib/vbranches/branchController';
import type { BaseBranch } from '$lib/vbranches/types';
export let projectService: ProjectService;
export let branchController: BranchController;

View File

@ -1,14 +1,14 @@
<script lang="ts">
import Button from './Button.svelte';
import DecorativeSplitView from './DecorativeSplitView.svelte';
import IconLink from './IconLink.svelte';
import Modal from './Modal.svelte';
import ProjectSwitcher from './ProjectSwitcher.svelte';
import Icon from '$lib/icons/Icon.svelte';
import * as toasts from '$lib/utils/toasts';
import type { Project, ProjectService } from '$lib/backend/projects';
import type { UserService } from '$lib/stores/user';
import DecorativeSplitView from './DecorativeSplitView.svelte';
import Icon from '$lib/icons/Icon.svelte';
import IconLink from './IconLink.svelte';
import Button from './Button.svelte';
import ProjectSwitcher from './ProjectSwitcher.svelte';
import { goto } from '$app/navigation';
import Modal from './Modal.svelte';
export let projectService: ProjectService;
export let project: Project;

View File

@ -1,10 +1,9 @@
<script lang="ts">
import { goto } from '$app/navigation';
import type { Project, ProjectService } from '$lib/backend/projects';
import Button from './Button.svelte';
import Select from './Select.svelte';
import SelectItem from './SelectItem.svelte';
import type { Project, ProjectService } from '$lib/backend/projects';
import { goto } from '$app/navigation';
export let projectService: ProjectService;
export let project: Project | undefined;

View File

@ -1,8 +1,8 @@
<script lang="ts">
import { createEventDispatcher, getContext, onMount } from 'svelte';
import type { SegmentContext } from './segment';
import type iconsJson from '$lib/icons/icons.json';
import Icon from '$lib/icons/Icon.svelte';
import { createEventDispatcher, getContext, onMount } from 'svelte';
import type iconsJson from '$lib/icons/icons.json';
import type { SegmentContext } from './segment';
export let id: string;
export let disabled = false;

View File

@ -1,8 +1,8 @@
<script lang="ts">
import ScrollableContainer from './ScrollableContainer.svelte';
import TextBox from './TextBox.svelte';
import { clickOutside } from '$lib/clickOutside';
import { createEventDispatcher } from 'svelte';
import TextBox from './TextBox.svelte';
import ScrollableContainer from './ScrollableContainer.svelte';
export let id: undefined | string = undefined;
export let label = '';

View File

@ -1,7 +1,7 @@
<script lang="ts">
import Icon from '$lib/icons/Icon.svelte';
import type iconsJson from '$lib/icons/icons.json';
import { createEventDispatcher } from 'svelte';
import type iconsJson from '$lib/icons/icons.json';
export let icon: keyof typeof iconsJson | undefined = undefined;
export let selected = false;

View File

@ -1,7 +1,7 @@
<script lang="ts">
import type iconsJson from '$lib/icons/icons.json';
import Icon from '$lib/icons/Icon.svelte';
import { createEventDispatcher } from 'svelte';
import type iconsJson from '$lib/icons/icons.json';
export let id: string | undefined = undefined; // Required to make label clickable
export let icon: keyof typeof iconsJson | undefined = undefined;

View File

@ -1,7 +1,7 @@
<script lang="ts">
import { BehaviorSubject } from 'rxjs';
import { createEventDispatcher, onDestroy, setContext } from 'svelte';
import type { ContextMenuContext, ContextMenuItem, ContextMenuType } from './contextMenu';
import { BehaviorSubject } from 'rxjs';
export let type: ContextMenuType = 'normal';
export const selection$ = new BehaviorSubject<ContextMenuItem | undefined>(undefined);

View File

@ -1,7 +1,7 @@
<script lang="ts">
import type iconsJson from '$lib/icons/icons.json';
import Icon from '$lib/icons/Icon.svelte';
import { getContext } from 'svelte';
import type iconsJson from '$lib/icons/icons.json';
import type { ContextMenuContext } from './contextMenu';
export let icon: keyof typeof iconsJson | undefined = undefined;

View File

@ -1,5 +1,5 @@
import type { Writable } from 'svelte/store';
import type { Commit, File, Hunk, RemoteCommit } from './vbranches/types';
import type { Writable } from 'svelte/store';
export function nonDraggable() {
return {

View File

@ -1,7 +1,13 @@
/**
* https://github.com/gitbutlerapp/file-extension-icon-JS
*/
import { vsiFileExtensionsToIcons, vsiFileNamesToIcons } from './vsi/typeMap';
import { vsiFileIcons1 } from './vsi/vsiFileIcons1';
import { vsiFileIcons10 } from './vsi/vsiFileIcons10';
import { vsiFileIcons11 } from './vsi/vsiFileIcons11';
import { vsiFileIcons12 } from './vsi/vsiFileIcons12';
import { vsiFileIcons13 } from './vsi/vsiFileIcons13';
import { vsiFileIcons14 } from './vsi/vsiFileIcons14';
import { vsiFileIcons2 } from './vsi/vsiFileIcons2';
import { vsiFileIcons3 } from './vsi/vsiFileIcons3';
import { vsiFileIcons4 } from './vsi/vsiFileIcons4';
@ -10,12 +16,6 @@ import { vsiFileIcons6 } from './vsi/vsiFileIcons6';
import { vsiFileIcons7 } from './vsi/vsiFileIcons7';
import { vsiFileIcons8 } from './vsi/vsiFileIcons8';
import { vsiFileIcons9 } from './vsi/vsiFileIcons9';
import { vsiFileIcons10 } from './vsi/vsiFileIcons10';
import { vsiFileIcons11 } from './vsi/vsiFileIcons11';
import { vsiFileIcons12 } from './vsi/vsiFileIcons12';
import { vsiFileIcons13 } from './vsi/vsiFileIcons13';
import { vsiFileIcons14 } from './vsi/vsiFileIcons14';
import { vsiFileExtensionsToIcons, vsiFileNamesToIcons } from './vsi/typeMap';
export const vsiFileIcons: { [key: string]: string } = {
...vsiFileIcons1,

View File

@ -1,16 +1,12 @@
import * as toasts from '$lib/utils/toasts';
import lscache from 'lscache';
import type { BaseBranchService } from '$lib/vbranches/branchStoresCache';
import type { UserService } from '$lib/stores/user';
import type { Octokit } from '@octokit/rest';
import { newClient } from '$lib/github/client';
import {
type PullRequest,
type GitHubIntegrationContext,
ghResponseToInstance,
type PrStatus
} from '$lib/github/types';
import * as toasts from '$lib/utils/toasts';
import lscache from 'lscache';
import {
Observable,
EMPTY,
@ -33,6 +29,9 @@ import {
tap,
timeout
} from 'rxjs/operators';
import type { UserService } from '$lib/stores/user';
import type { BaseBranchService } from '$lib/vbranches/branchStoresCache';
import type { Octokit } from '@octokit/rest';
export type PrAction = 'creating_pr';
export type PrState = { busy: boolean; branchId: string; action?: PrAction };

View File

@ -1,5 +1,5 @@
import { emit } from '$lib/utils/events';
import { invoke, listen as listenIpc } from '$lib/backend/ipc';
import { emit } from '$lib/utils/events';
export function subscribe(projectId: string) {
invoke('menu_item_set_enabled', {

View File

@ -2,10 +2,9 @@
</script>
<script lang="ts">
import { slide } from 'svelte/transition';
import InfoMessage from '../components/InfoMessage.svelte';
import { dismissToast, toastStore } from '$lib/notifications/toasts';
import { slide } from 'svelte/transition';
</script>
<div class="toast-controller">

View File

@ -1,5 +1,5 @@
import type { Readable, Writable } from 'svelte/store';
import { Observable } from 'rxjs';
import type { Readable, Writable } from 'svelte/store';
export function storeToObservable<T>(svelteStore: Writable<T> | Readable<T>): Observable<T> {
return new Observable<T>((subscriber) => {

View File

@ -1,10 +1,10 @@
import { resetPostHog, setPostHogUser } from '$lib/analytics/posthog';
import { resetSentry, setSentryUser } from '$lib/analytics/sentry';
import { getCloudApiClient, type User } from '$lib/backend/cloud';
import { invoke } from '$lib/backend/ipc';
import { sleep } from '$lib/utils/sleep';
import { open } from '@tauri-apps/api/shell';
import { BehaviorSubject, Observable, Subject, merge, shareReplay } from 'rxjs';
import { getCloudApiClient, type User } from '$lib/backend/cloud';
import { sleep } from '$lib/utils/sleep';
import { invoke } from '$lib/backend/ipc';
import { resetSentry, setSentryUser } from '$lib/analytics/sentry';
import { resetPostHog, setPostHogUser } from '$lib/analytics/posthog';
export class UserService {
private cloud = getCloudApiClient();

View File

@ -1,8 +1,8 @@
import type { Branch, Hunk } from './types';
import * as toasts from '$lib/utils/toasts';
import { invoke } from '$lib/backend/ipc';
import type { BaseBranchService, VirtualBranchService } from './branchStoresCache';
import * as toasts from '$lib/utils/toasts';
import type { RemoteBranchService } from '$lib/stores/remoteBranches';
import type { BaseBranchService, VirtualBranchService } from './branchStoresCache';
import type { Branch, Hunk } from './types';
export class BranchController {
constructor(

View File

@ -1,8 +1,7 @@
import * as toasts from '$lib/utils/toasts';
import { BaseBranch, Branch } from './types';
import { plainToInstance } from 'class-transformer';
import { invoke, listen } from '$lib/backend/ipc';
import * as toasts from '$lib/utils/toasts';
import { plainToInstance } from 'class-transformer';
import {
switchMap,
Observable,

View File

@ -1,7 +1,7 @@
import { expect, test } from 'vitest';
import { File } from '$lib/vbranches/types';
import { filesToFileTree } from './filetree';
import { File } from '$lib/vbranches/types';
import { plainToInstance } from 'class-transformer';
import { expect, test } from 'vitest';
test('creates a file tree', () => {
const files = [

View File

@ -1,17 +1,17 @@
<script lang="ts">
import '../styles/main.postcss';
import * as hotkeys from '$lib/utils/hotkeys';
import * as events from '$lib/utils/events';
import { Toaster } from 'svelte-french-toast';
import type { LayoutData } from './$types';
import { onMount, setContext } from 'svelte';
import { goto } from '$app/navigation';
import { unsubscribe } from '$lib/utils/random';
import LinkProjectModal from './LinkProjectModal.svelte';
import ShareIssueModal from './ShareIssueModal.svelte';
import { SETTINGS_CONTEXT, loadUserSettings } from '$lib/settings/userSettings';
import { initTheme } from './settings/theme';
import { SETTINGS_CONTEXT, loadUserSettings } from '$lib/settings/userSettings';
import * as events from '$lib/utils/events';
import * as hotkeys from '$lib/utils/hotkeys';
import { unsubscribe } from '$lib/utils/random';
import { onMount, setContext } from 'svelte';
import { Toaster } from 'svelte-french-toast';
import type { LayoutData } from './$types';
import { goto } from '$app/navigation';
export let data: LayoutData;
const { projectService, cloud, user$ } = data;

View File

@ -1,12 +1,12 @@
import type { LayoutLoad } from './$types';
import { getCloudApiClient } from '$lib/backend/cloud';
import { ProjectService } from '$lib/backend/projects';
import lscache from 'lscache';
import { UserService } from '$lib/stores/user';
import { config } from 'rxjs';
import { initPostHog } from '$lib/analytics/posthog';
import { initSentry } from '$lib/analytics/sentry';
import { getCloudApiClient } from '$lib/backend/cloud';
import { ProjectService } from '$lib/backend/projects';
import { appMetricsEnabled, appErrorReportingEnabled } from '$lib/config/appSettings';
import { UserService } from '$lib/stores/user';
import lscache from 'lscache';
import { config } from 'rxjs';
import type { LayoutLoad } from './$types';
// call on startup so we don't accumulate old items
lscache.flushExpired();

View File

@ -1,9 +1,9 @@
<script lang="ts">
import DecorativeSplitView from '$lib/components/DecorativeSplitView.svelte';
import Welcome from './[projectId]/components/Welcome.svelte';
import DecorativeSplitView from '$lib/components/DecorativeSplitView.svelte';
import { map } from 'rxjs';
import type { PageData } from './$types';
import { goto } from '$app/navigation';
import { map } from 'rxjs';
import { page } from '$app/stores';
export let data: PageData;

View File

@ -1,15 +1,15 @@
<script lang="ts">
import leven from 'leven';
import { compareDesc, formatDistanceToNow } from 'date-fns';
import Button from '$lib/components/Button.svelte';
import Modal from '$lib/components/Modal.svelte';
import { IconFolder, IconLoading } from '$lib/icons';
import IconFolderPlus from '$lib/icons/IconFolderPlus.svelte';
import * as toasts from '$lib/utils/toasts';
import { compareDesc, formatDistanceToNow } from 'date-fns';
import leven from 'leven';
import type { User, getCloudApiClient } from '$lib/backend/cloud';
import type { Project, ProjectService } from '$lib/backend/projects';
import * as toasts from '$lib/utils/toasts';
import IconFolderPlus from '$lib/icons/IconFolderPlus.svelte';
import { goto } from '$app/navigation';
import Modal from '$lib/components/Modal.svelte';
import Button from '$lib/components/Button.svelte';
import type { Observable } from 'rxjs';
import { goto } from '$app/navigation';
export let cloud: ReturnType<typeof getCloudApiClient>;
export let projectService: ProjectService;

View File

@ -1,11 +1,11 @@
<script lang="ts">
import * as toasts from '$lib/utils/toasts';
import * as zip from '$lib/backend/zip';
import { page } from '$app/stores';
import type { User, getCloudApiClient } from '$lib/backend/cloud';
import Modal from '$lib/components/Modal.svelte';
import Checkbox from '$lib/components/Checkbox.svelte';
import Button from '$lib/components/Button.svelte';
import Checkbox from '$lib/components/Checkbox.svelte';
import Modal from '$lib/components/Modal.svelte';
import * as toasts from '$lib/utils/toasts';
import type { User, getCloudApiClient } from '$lib/backend/cloud';
import { page } from '$app/stores';
export let user: User | undefined;
export let cloud: ReturnType<typeof getCloudApiClient>;

View File

@ -1,18 +1,16 @@
<script lang="ts">
import * as hotkeys from '$lib/utils/hotkeys';
import type { LayoutData } from './$types';
import { onMount } from 'svelte';
import { unsubscribe } from '$lib/utils/random';
import ProjectSetup from './ProjectSetup.svelte';
import Navigation from './navigation/Navigation.svelte';
import { syncToCloud } from '$lib/backend/cloud';
import { handleMenuActions } from '$lib/backend/menu_actions';
import { subscribe as menuSubscribe } from '$lib/menu';
import { getRemoteBranches } from '$lib/vbranches/branchStoresCache';
import Navigation from './navigation/Navigation.svelte';
import ProjectSetup from './ProjectSetup.svelte';
import ProblemLoadingRepo from '$lib/components/ProblemLoadingRepo.svelte';
import NotOnGitButlerBranch from '$lib/components/NotOnGitButlerBranch.svelte';
import ProblemLoadingRepo from '$lib/components/ProblemLoadingRepo.svelte';
import { subscribe as menuSubscribe } from '$lib/menu';
import * as hotkeys from '$lib/utils/hotkeys';
import { unsubscribe } from '$lib/utils/random';
import { getRemoteBranches } from '$lib/vbranches/branchStoresCache';
import { onMount } from 'svelte';
import type { LayoutData } from './$types';
export let data: LayoutData;

View File

@ -1,12 +1,12 @@
import { BranchService } from '$lib/branches/service';
import { GitHubService } from '$lib/github/service';
import { getFetchNotifications } from '$lib/stores/fetches';
import { getHeads } from '$lib/stores/head';
import { RemoteBranchService } from '$lib/stores/remoteBranches';
import { BranchController } from '$lib/vbranches/branchController';
import { BaseBranchService, VirtualBranchService } from '$lib/vbranches/branchStoresCache';
import type { LayoutLoad } from './$types';
import { GitHubService } from '$lib/github/service';
import { RemoteBranchService } from '$lib/stores/remoteBranches';
import { BranchService } from '$lib/branches/service';
import { map } from 'rxjs';
import type { LayoutLoad } from './$types';
export const prerender = false;

View File

@ -1,6 +1,5 @@
<script lang="ts">
import { goto } from '$app/navigation';
import { page } from '$app/stores';
$: projectId = $page.params.projectId;

View File

@ -1,19 +1,17 @@
<script async lang="ts">
import type { UserService } from '$lib/stores/user';
import type { BranchController } from '$lib/vbranches/branchController';
import { projectAiGenEnabled } from '$lib/config/config';
import Login from '$lib/components/Login.svelte';
import Button from '$lib/components/Button.svelte';
import Toggle from '$lib/components/Toggle.svelte';
import IconLink from '$lib/components/IconLink.svelte';
import BackButton from '$lib/components/BackButton.svelte';
import SetupFeature from './components/SetupFeature.svelte';
import GithubIntegration from '../components/GithubIntegration.svelte';
import BackButton from '$lib/components/BackButton.svelte';
import Button from '$lib/components/Button.svelte';
import DecorativeSplitView from '$lib/components/DecorativeSplitView.svelte';
import IconLink from '$lib/components/IconLink.svelte';
import Login from '$lib/components/Login.svelte';
import Select from '$lib/components/Select.svelte';
import SelectItem from '$lib/components/SelectItem.svelte';
import Toggle from '$lib/components/Toggle.svelte';
import { projectAiGenEnabled } from '$lib/config/config';
import type { UserService } from '$lib/stores/user';
import type { BranchController } from '$lib/vbranches/branchController';
export let branchController: BranchController;
export let userService: UserService;

View File

@ -1,7 +1,7 @@
<script lang="ts">
import BaseBranch from './BaseBranch.svelte';
import ScrollableContainer from '$lib/components/ScrollableContainer.svelte';
import type { PageData } from './$types';
import BaseBranch from './BaseBranch.svelte';
export let data: PageData;
$: projectId = data.projectId;

View File

@ -1,11 +1,11 @@
<script lang="ts">
import type { BaseBranch } from '$lib/vbranches/types';
import CommitCard from '../components/CommitCard.svelte';
import type { BranchController } from '$lib/vbranches/branchController';
import { projectMergeUpstreamWarningDismissed } from '$lib/config/config';
import Button from '$lib/components/Button.svelte';
import Modal from '$lib/components/Modal.svelte';
import { projectMergeUpstreamWarningDismissed } from '$lib/config/config';
import { tooltip } from '$lib/utils/tooltip';
import type { BranchController } from '$lib/vbranches/branchController';
import type { BaseBranch } from '$lib/vbranches/types';
export let base: BaseBranch;
export let projectId: string;

View File

@ -1,9 +1,9 @@
<script lang="ts">
import { projectHttpsWarningBannerDismissed } from '$lib/config/config';
import type { PageData } from './$types';
import IconExternalLink from '$lib/icons/IconExternalLink.svelte';
import Board from './Board.svelte';
import Scrollbar from '$lib/components/Scrollbar.svelte';
import { projectHttpsWarningBannerDismissed } from '$lib/config/config';
import IconExternalLink from '$lib/icons/IconExternalLink.svelte';
import type { PageData } from './$types';
export let data: PageData;

View File

@ -1,18 +1,16 @@
<script lang="ts" async="true">
import type { User, getCloudApiClient } from '$lib/backend/cloud';
import type { BaseBranch, Branch } from '$lib/vbranches/types';
import type { BranchController } from '$lib/vbranches/branchController';
import type { BranchService } from '$lib/branches/service';
import type { GitHubService } from '$lib/github/service';
import type { Project } from '$lib/backend/projects';
import { cloneWithRotation } from '$lib/utils/draggable';
import { open } from '@tauri-apps/api/shell';
import NewBranchDropZone from './NewBranchDropZone.svelte';
import BranchLane from '../components/BranchLane.svelte';
import ImgThemed from '$lib/components/ImgThemed.svelte';
import Icon from '$lib/icons/Icon.svelte';
import { cloneWithRotation } from '$lib/utils/draggable';
import { open } from '@tauri-apps/api/shell';
import type { User, getCloudApiClient } from '$lib/backend/cloud';
import type { Project } from '$lib/backend/projects';
import type { BranchService } from '$lib/branches/service';
import type { GitHubService } from '$lib/github/service';
import type { BranchController } from '$lib/vbranches/branchController';
import type { BaseBranch, Branch } from '$lib/vbranches/types';
export let project: Project;
export let projectPath: string;

View File

@ -1,4 +1,9 @@
<script lang="ts">
import BottomSheetImg from './assets/bottom-sheet.svelte';
import HandImg from './assets/hand.svelte';
import MiddleSheetImg from './assets/middle-sheet.svelte';
import TopSheetImg from './assets/top-sheet.svelte';
import Button from '$lib/components/Button.svelte';
import {
isDraggableHunk,
isDraggableFile,
@ -6,16 +11,9 @@
type DraggableHunk
} from '$lib/draggables';
import { dropzone } from '$lib/utils/draggable';
import type { BranchController } from '$lib/vbranches/branchController';
import Button from '$lib/components/Button.svelte';
import { get } from 'svelte/store';
import { filesToOwnership } from '$lib/vbranches/ownership';
import HandImg from './assets/hand.svelte';
import TopSheetImg from './assets/top-sheet.svelte';
import MiddleSheetImg from './assets/middle-sheet.svelte';
import BottomSheetImg from './assets/bottom-sheet.svelte';
import { get } from 'svelte/store';
import type { BranchController } from '$lib/vbranches/branchController';
export let branchController: BranchController;

View File

@ -1,34 +1,34 @@
<script lang="ts">
import type { BranchService } from '$lib/branches/service';
import type { BaseBranch, Branch, File } from '$lib/vbranches/types';
import { getContext, onMount } from 'svelte';
import { dropzone } from '$lib/utils/draggable';
import {
isDraggableHunk,
isDraggableFile,
type DraggableFile,
type DraggableHunk
} from '$lib/draggables';
import { filesToOwnership, type Ownership } from '$lib/vbranches/ownership';
import type { BranchController } from '$lib/vbranches/branchController';
import type { User, getCloudApiClient } from '$lib/backend/cloud';
import Resizer from '$lib/components/Resizer.svelte';
import lscache from 'lscache';
import CommitDialog from './CommitDialog.svelte';
import { get, type Writable } from 'svelte/store';
import { computedAddedRemoved } from '$lib/vbranches/fileStatus';
import type { GitHubService } from '$lib/github/service';
import { isDraggableRemoteCommit, type DraggableRemoteCommit } from '$lib/draggables';
import BranchHeader from './BranchHeader.svelte';
import BranchCommits from './BranchCommits.svelte';
import BranchFiles from './BranchFiles.svelte';
import BranchHeader from './BranchHeader.svelte';
import CommitDialog from './CommitDialog.svelte';
import DropzoneOverlay from './DropzoneOverlay.svelte';
import ImgThemed from '$lib/components/ImgThemed.svelte';
import Resizer from '$lib/components/Resizer.svelte';
import { projectAiGenEnabled } from '$lib/config/config';
import {
isDraggableFile,
isDraggableHunk,
isDraggableRemoteCommit,
type DraggableFile,
type DraggableHunk,
type DraggableRemoteCommit
} from '$lib/draggables';
import { persisted } from '$lib/persisted/persisted';
import { SETTINGS_CONTEXT, type SettingsStore } from '$lib/settings/userSettings';
import BranchCommits from './BranchCommits.svelte';
import { dropzone } from '$lib/utils/draggable';
import { computedAddedRemoved } from '$lib/vbranches/fileStatus';
import { filesToOwnership, type Ownership } from '$lib/vbranches/ownership';
import lscache from 'lscache';
import { getContext, onMount } from 'svelte';
import { get, type Writable } from 'svelte/store';
import type { User, getCloudApiClient } from '$lib/backend/cloud';
import type { Project } from '$lib/backend/projects';
import ImgThemed from '$lib/components/ImgThemed.svelte';
import DropzoneOverlay from './DropzoneOverlay.svelte';
import type { BranchService } from '$lib/branches/service';
import type { GitHubService } from '$lib/github/service';
import type { BranchController } from '$lib/vbranches/branchController';
import type { BaseBranch, Branch, File } from '$lib/vbranches/types';
export let branch: Branch;
export let readonly = false;

View File

@ -1,10 +1,10 @@
<script lang="ts">
import CommitList from './CommitList.svelte';
import type { Project } from '$lib/backend/projects';
import type { BranchService } from '$lib/branches/service';
import type { GitHubService } from '$lib/github/service';
import type { BranchController } from '$lib/vbranches/branchController';
import type { BaseBranch, Branch } from '$lib/vbranches/types';
import CommitList from './CommitList.svelte';
export let project: Project;
export let branch: Branch;

View File

@ -1,14 +1,14 @@
<script lang="ts">
import { filesToFileTree } from '$lib/vbranches/filetree';
import type { Branch, File } from '$lib/vbranches/types';
import type { Ownership } from '$lib/vbranches/ownership';
import type { Writable } from 'svelte/store';
import Badge from '$lib/components/Badge.svelte';
import SegmentedControl from '$lib/components/SegmentControl/SegmentedControl.svelte';
import Segment from '$lib/components/SegmentControl/Segment.svelte';
import FileTree from './FileTree.svelte';
import Checkbox from '$lib/components/Checkbox.svelte';
import BranchFilesList from './BranchFilesList.svelte';
import FileTree from './FileTree.svelte';
import Badge from '$lib/components/Badge.svelte';
import Checkbox from '$lib/components/Checkbox.svelte';
import Segment from '$lib/components/SegmentControl/Segment.svelte';
import SegmentedControl from '$lib/components/SegmentControl/SegmentedControl.svelte';
import { filesToFileTree } from '$lib/vbranches/filetree';
import type { Ownership } from '$lib/vbranches/ownership';
import type { Branch, File } from '$lib/vbranches/types';
import type { Writable } from 'svelte/store';
export let branch: Branch;
export let readonly: boolean;

View File

@ -1,9 +1,9 @@
<script lang="ts">
import FileListItem from './FileListItem.svelte';
import { sortLikeFileTree } from '$lib/vbranches/filetree';
import type { Ownership } from '$lib/vbranches/ownership';
import type { Branch, File } from '$lib/vbranches/types';
import type { Writable } from 'svelte/store';
import FileListItem from './FileListItem.svelte';
import { sortLikeFileTree } from '$lib/vbranches/filetree';
export let branch: Branch;
export let selectedOwnership: Writable<Ownership>;

View File

@ -1,17 +1,17 @@
<script lang="ts">
import Icon from '$lib/icons/Icon.svelte';
import type { BranchController } from '$lib/vbranches/branchController';
import type { BaseBranch, Branch } from '$lib/vbranches/types';
import BranchLabel from './BranchLabel.svelte';
import BranchLanePopupMenu from './BranchLanePopupMenu.svelte';
import { clickOutside } from '$lib/clickOutside';
import Tag from './Tag.svelte';
import { branchUrl } from './commitList';
import type { GitHubService } from '$lib/github/service';
import { open } from '@tauri-apps/api/shell';
import { clickOutside } from '$lib/clickOutside';
import Button from '$lib/components/Button.svelte';
import toast from 'svelte-french-toast';
import Icon from '$lib/icons/Icon.svelte';
import { tooltip } from '$lib/utils/tooltip';
import { open } from '@tauri-apps/api/shell';
import toast from 'svelte-french-toast';
import type { GitHubService } from '$lib/github/service';
import type { BranchController } from '$lib/vbranches/branchController';
import type { BaseBranch, Branch } from '$lib/vbranches/types';
import { goto } from '$app/navigation';
export let readonly = false;

View File

@ -1,14 +1,14 @@
<script lang="ts">
import type { BaseBranch, Branch, File } from '$lib/vbranches/types';
import type { BranchController } from '$lib/vbranches/branchController';
import type { User, getCloudApiClient } from '$lib/backend/cloud';
import BranchCard from './BranchCard.svelte';
import FileCard from './FileCard.svelte';
import { writable, type Writable } from 'svelte/store';
import { Ownership } from '$lib/vbranches/ownership';
import type { GitHubService } from '$lib/github/service';
import { writable, type Writable } from 'svelte/store';
import type { User, getCloudApiClient } from '$lib/backend/cloud';
import type { Project } from '$lib/backend/projects';
import type { BranchService } from '$lib/branches/service';
import type { GitHubService } from '$lib/github/service';
import type { BranchController } from '$lib/vbranches/branchController';
import type { BaseBranch, Branch, File } from '$lib/vbranches/types';
export let branch: Branch;
export let readonly = false;

View File

@ -1,14 +1,14 @@
<script lang="ts">
import Modal from '$lib/components/Modal.svelte';
import Button from '$lib/components/Button.svelte';
import { projectAiGenEnabled } from '$lib/config/config';
import type { BranchController } from '$lib/vbranches/branchController';
import { createEventDispatcher } from 'svelte';
import Modal from '$lib/components/Modal.svelte';
import TextBox from '$lib/components/TextBox.svelte';
import ContextMenu from '$lib/components/contextmenu/ContextMenu.svelte';
import ContextMenuItem from '$lib/components/contextmenu/ContextMenuItem.svelte';
import ContextMenuSection from '$lib/components/contextmenu/ContextMenuSection.svelte';
import { projectAiGenEnabled } from '$lib/config/config';
import { createEventDispatcher } from 'svelte';
import type { BranchController } from '$lib/vbranches/branchController';
import type { Branch } from '$lib/vbranches/types';
import TextBox from '$lib/components/TextBox.svelte';
export let branchController: BranchController;
export let branch: Branch;

View File

@ -1,18 +1,18 @@
<script lang="ts">
import { open } from '@tauri-apps/api/shell';
import { RemoteFile, type RemoteCommit, Commit } from '$lib/vbranches/types';
import TimeAgo from '$lib/components/TimeAgo.svelte';
import { getVSIFileIcon } from '$lib/ext-icons';
import { ContentSection, HunkSection, parseFileSections } from './fileSections';
import RenderedLine from './RenderedLine.svelte';
import { IconExpandUpDown, IconExpandUp, IconExpandDown } from '$lib/icons';
import { invoke } from '$lib/backend/ipc';
import { plainToInstance } from 'class-transformer';
import Modal from '$lib/components/Modal.svelte';
import Button from '$lib/components/Button.svelte';
import { ContentSection, HunkSection, parseFileSections } from './fileSections';
import Tag from '../components/Tag.svelte';
import { invoke } from '$lib/backend/ipc';
import Button from '$lib/components/Button.svelte';
import Modal from '$lib/components/Modal.svelte';
import TimeAgo from '$lib/components/TimeAgo.svelte';
import { draggableCommit, nonDraggable } from '$lib/draggables';
import { getVSIFileIcon } from '$lib/ext-icons';
import { IconExpandUpDown, IconExpandUp, IconExpandDown } from '$lib/icons';
import { draggable } from '$lib/utils/draggable';
import { RemoteFile, type RemoteCommit, Commit } from '$lib/vbranches/types';
import { open } from '@tauri-apps/api/shell';
import { plainToInstance } from 'class-transformer';
export let commit: Commit | RemoteCommit;
export let projectId: string;

View File

@ -1,29 +1,28 @@
<script lang="ts">
import * as toasts from '$lib/utils/toasts';
import { slide } from 'svelte/transition';
import { quintOut } from 'svelte/easing';
import { invoke } from '@tauri-apps/api/tauri';
import type { BranchController } from '$lib/vbranches/branchController';
import type { Branch, File } from '$lib/vbranches/types';
import type { getCloudApiClient } from '$lib/backend/cloud';
import type { User } from '$lib/backend/cloud';
import Button from '$lib/components/Button.svelte';
import DropDownButton from '$lib/components/DropDownButton.svelte';
import ContextMenu from '$lib/components/contextmenu/ContextMenu.svelte';
import ContextMenuItem from '$lib/components/contextmenu/ContextMenuItem.svelte';
import ContextMenuSection from '$lib/components/contextmenu/ContextMenuSection.svelte';
import {
projectAiGenEnabled,
projectCommitGenerationExtraConcise,
projectCommitGenerationUseEmojis,
projectRunCommitHooks
} from '$lib/config/config';
import type { Ownership } from '$lib/vbranches/ownership';
import Button from '$lib/components/Button.svelte';
import DropDownButton from '$lib/components/DropDownButton.svelte';
import ContextMenuItem from '$lib/components/contextmenu/ContextMenuItem.svelte';
import ContextMenu from '$lib/components/contextmenu/ContextMenu.svelte';
import type { Writable } from 'svelte/store';
import { createEventDispatcher } from 'svelte';
import ContextMenuSection from '$lib/components/contextmenu/ContextMenuSection.svelte';
import { persisted } from '$lib/persisted/persisted';
import { useAutoHeight } from '$lib/utils/useAutoHeight';
import * as toasts from '$lib/utils/toasts';
import { tooltip } from '$lib/utils/tooltip';
import { useAutoHeight } from '$lib/utils/useAutoHeight';
import { invoke } from '@tauri-apps/api/tauri';
import { createEventDispatcher } from 'svelte';
import { quintOut } from 'svelte/easing';
import { slide } from 'svelte/transition';
import type { User, getCloudApiClient } from '$lib/backend/cloud';
import type { BranchController } from '$lib/vbranches/branchController';
import type { Ownership } from '$lib/vbranches/ownership';
import type { Branch, File } from '$lib/vbranches/types';
import type { Writable } from 'svelte/store';
const dispatch = createEventDispatcher<{
action: 'generate-branch-name';

View File

@ -1,12 +1,12 @@
<script lang="ts">
import type { BaseBranch, Branch, CommitStatus } from '$lib/vbranches/types';
import type { BranchController } from '$lib/vbranches/branchController';
import CommitListItem from './CommitListItem.svelte';
import type { GitHubService } from '$lib/github/service';
import CommitListHeader from './CommitListHeader.svelte';
import CommitListFooter from './CommitListFooter.svelte';
import CommitListHeader from './CommitListHeader.svelte';
import CommitListItem from './CommitListItem.svelte';
import type { Project } from '$lib/backend/projects';
import type { BranchService } from '$lib/branches/service';
import type { GitHubService } from '$lib/github/service';
import type { BranchController } from '$lib/vbranches/branchController';
import type { BaseBranch, Branch, CommitStatus } from '$lib/vbranches/types';
export let branch: Branch;
export let base: BaseBranch | undefined | null;

View File

@ -1,13 +1,13 @@
<script lang="ts">
import PushButton from './PushButton.svelte';
import Button from '$lib/components/Button.svelte';
import { startTransaction } from '@sentry/sveltekit';
import toast from 'svelte-french-toast';
import type { BranchService } from '$lib/branches/service';
import type { GitHubService } from '$lib/github/service';
import type { PullRequest } from '$lib/github/types';
import type { BranchController } from '$lib/vbranches/branchController';
import type { BaseBranch, Branch, CommitStatus } from '$lib/vbranches/types';
import PushButton from './PushButton.svelte';
import type { PullRequest } from '$lib/github/types';
import type { GitHubService } from '$lib/github/service';
import toast from 'svelte-french-toast';
import { startTransaction } from '@sentry/sveltekit';
import type { BranchService } from '$lib/branches/service';
export let branch: Branch;
export let type: CommitStatus;

View File

@ -1,7 +1,7 @@
<script lang="ts">
import Icon from '$lib/icons/Icon.svelte';
import type { CommitStatus } from '$lib/vbranches/types';
import { onMount } from 'svelte';
import type { CommitStatus } from '$lib/vbranches/types';
export let expanded: boolean;
export let type: CommitStatus;

View File

@ -1,5 +1,6 @@
<script lang="ts">
import type { Project } from '$lib/backend/projects';
import CommitCard from './CommitCard.svelte';
import DropzoneOverlay from './DropzoneOverlay.svelte';
import {
isDraggableHunk,
type DraggableCommit,
@ -9,12 +10,11 @@
isDraggableCommit
} from '$lib/draggables';
import { dropzone } from '$lib/utils/draggable';
import type { BranchController } from '$lib/vbranches/branchController';
import { filesToOwnership } from '$lib/vbranches/ownership';
import { RemoteCommit, type BaseBranch, type Branch, type Commit } from '$lib/vbranches/types';
import { get } from 'svelte/store';
import CommitCard from './CommitCard.svelte';
import DropzoneOverlay from './DropzoneOverlay.svelte';
import { filesToOwnership } from '$lib/vbranches/ownership';
import type { Project } from '$lib/backend/projects';
import type { BranchController } from '$lib/vbranches/branchController';
export let branch: Branch;
export let project: Project;

View File

@ -1,25 +1,24 @@
<script lang="ts">
import { ContentSection, HunkSection, parseFileSections } from './fileSections';
import { onDestroy } from 'svelte';
import type { File, Hunk } from '$lib/vbranches/types';
import { draggable } from '$lib/utils/draggable';
import type { Ownership } from '$lib/vbranches/ownership';
import type { Writable } from 'svelte/store';
import RenderedLine from './RenderedLine.svelte';
import { IconExpandUpDown, IconExpandUp, IconExpandDown } from '$lib/icons';
import type { BranchController } from '$lib/vbranches/branchController';
import { getContext } from 'svelte';
import { slide } from 'svelte/transition';
import { quintOut } from 'svelte/easing';
import { SETTINGS_CONTEXT, type SettingsStore } from '$lib/settings/userSettings';
import HunkContextMenu from './HunkContextMenu.svelte';
import { draggableHunk } from '$lib/draggables';
import FileCardHeader from './FileCardHeader.svelte';
import HunkContextMenu from './HunkContextMenu.svelte';
import RenderedLine from './RenderedLine.svelte';
import { ContentSection, HunkSection, parseFileSections } from './fileSections';
import Resizer from '$lib/components/Resizer.svelte';
import lscache from 'lscache';
import { persisted } from '$lib/persisted/persisted';
import ScrollableContainer from '$lib/components/ScrollableContainer.svelte';
import { draggableHunk } from '$lib/draggables';
import { IconExpandUpDown, IconExpandUp, IconExpandDown } from '$lib/icons';
import Icon from '$lib/icons/Icon.svelte';
import { persisted } from '$lib/persisted/persisted';
import { SETTINGS_CONTEXT, type SettingsStore } from '$lib/settings/userSettings';
import { draggable } from '$lib/utils/draggable';
import lscache from 'lscache';
import { onDestroy, getContext } from 'svelte';
import { quintOut } from 'svelte/easing';
import { slide } from 'svelte/transition';
import type { BranchController } from '$lib/vbranches/branchController';
import type { Ownership } from '$lib/vbranches/ownership';
import type { File, Hunk } from '$lib/vbranches/types';
import type { Writable } from 'svelte/store';
export let projectId: string;
export let branchId: string;

View File

@ -1,11 +1,11 @@
<script lang="ts">
import FileStatusTag from './FileStatusTag.svelte';
import Tag from './Tag.svelte';
import IconButton from '$lib/components/IconButton.svelte';
import { getVSIFileIcon } from '$lib/ext-icons';
import type { File } from '$lib/vbranches/types';
import { createEventDispatcher } from 'svelte';
import Tag from './Tag.svelte';
import { computeFileStatus, computedAddedRemoved } from '$lib/vbranches/fileStatus';
import FileStatusTag from './FileStatusTag.svelte';
import { createEventDispatcher } from 'svelte';
import type { File } from '$lib/vbranches/types';
export let file: File;
export let isFileLocked: boolean;

View File

@ -1,4 +1,5 @@
<script lang="ts">
import FileStatusIcons from './FileStatusIcons.svelte';
import Checkbox from '$lib/components/Checkbox.svelte';
import { draggableFile } from '$lib/draggables';
import { getVSIFileIcon } from '$lib/ext-icons';
@ -6,7 +7,6 @@
import type { Ownership } from '$lib/vbranches/ownership';
import type { File } from '$lib/vbranches/types';
import type { Writable } from 'svelte/store';
import FileStatusIcons from './FileStatusIcons.svelte';
export let branchId: string;
export let file: File;

View File

@ -1,8 +1,8 @@
<script lang="ts">
import FileStatusCircle from './FileStatusCircle.svelte';
import Icon from '$lib/icons/Icon.svelte';
import { computeFileStatus } from '$lib/vbranches/fileStatus';
import type { File } from '$lib/vbranches/types';
import FileStatusCircle from './FileStatusCircle.svelte';
export let file: File;
$: isLocked = file.hunks.some((h) => h.locked);

View File

@ -1,6 +1,6 @@
<script lang="ts">
import type { FileStatus } from '$lib/vbranches/fileStatus';
import Tag, { type TagColor } from './Tag.svelte';
import type { FileStatus } from '$lib/vbranches/fileStatus';
export let status: FileStatus;

View File

@ -3,12 +3,12 @@
</script>
<script lang="ts">
import type { Writable } from 'svelte/store';
import type { File } from '$lib/vbranches/types';
import type { TreeNode } from '$lib/vbranches/filetree';
import type { Ownership } from '$lib/vbranches/ownership';
import TreeListFile from './TreeListFile.svelte';
import TreeListFolder from './TreeListFolder.svelte';
import type { TreeNode } from '$lib/vbranches/filetree';
import type { Ownership } from '$lib/vbranches/ownership';
import type { File } from '$lib/vbranches/types';
import type { Writable } from 'svelte/store';
export let expanded = true;
export let node: TreeNode;

View File

@ -1,9 +1,9 @@
<script lang="ts">
import Checkbox from '$lib/components/Checkbox.svelte';
import Toggle from '$lib/components/Toggle.svelte';
import ContextMenu from '$lib/components/contextmenu/ContextMenu.svelte';
import ContextMenuItem from '$lib/components/contextmenu/ContextMenuItem.svelte';
import ContextMenuSection from '$lib/components/contextmenu/ContextMenuSection.svelte';
import Checkbox from '$lib/components/Checkbox.svelte';
import Toggle from '$lib/components/Toggle.svelte';
import type { Writable } from 'svelte/store';
export let visible: boolean;

View File

@ -3,9 +3,9 @@
import ContextMenu from '$lib/components/contextmenu/ContextMenu.svelte';
import ContextMenuItem from '$lib/components/contextmenu/ContextMenuItem.svelte';
import ContextMenuSection from '$lib/components/contextmenu/ContextMenuSection.svelte';
import { open } from '@tauri-apps/api/shell';
import type { BranchController } from '$lib/vbranches/branchController';
import type { File } from '$lib/vbranches/types';
import { open } from '@tauri-apps/api/shell';
export let file: File;
export let projectPath: string | undefined;

View File

@ -1,10 +1,10 @@
<script lang="ts">
import { projectCreatePullRequestInsteadOfPush } from '$lib/config/config';
import { createEventDispatcher } from 'svelte';
import DropDownButton from '$lib/components/DropDownButton.svelte';
import ContextMenu from '$lib/components/contextmenu/ContextMenu.svelte';
import ContextMenuItem from '$lib/components/contextmenu/ContextMenuItem.svelte';
import ContextMenuSection from '$lib/components/contextmenu/ContextMenuSection.svelte';
import { projectCreatePullRequestInsteadOfPush } from '$lib/config/config';
import { createEventDispatcher } from 'svelte';
let disabled = false;

View File

@ -1,8 +1,8 @@
<script lang="ts">
import { SectionType } from './fileSections';
import type { Line } from './fileSections';
import { create } from '$lib/components/Differ/CodeHighlighter';
import { createEventDispatcher } from 'svelte';
import type { Line } from './fileSections';
export let line: Line;
export let sectionType: SectionType;

View File

@ -4,8 +4,8 @@
<script lang="ts">
import Icon from '$lib/icons/Icon.svelte';
import type iconsJson from '$lib/icons/icons.json';
import { tooltip } from '$lib/utils/tooltip';
import type iconsJson from '$lib/icons/icons.json';
export let help = '';
export let icon: keyof typeof iconsJson | undefined = undefined;

View File

@ -1,12 +1,12 @@
<script lang="ts">
import FileStatusIcons from './FileStatusIcons.svelte';
import Checkbox from '$lib/components/Checkbox.svelte';
import { draggableFile } from '$lib/draggables';
import { getVSIFileIcon } from '$lib/ext-icons';
import { draggable } from '$lib/utils/draggable';
import type { Ownership } from '$lib/vbranches/ownership';
import type { File } from '$lib/vbranches/types';
import type { Writable } from 'svelte/store';
import FileStatusIcons from './FileStatusIcons.svelte';
import type { Ownership } from '$lib/vbranches/ownership';
export let branchId: string;
export let file: File;

View File

@ -1,10 +1,10 @@
<script lang="ts">
import CommitCard from './CommitCard.svelte';
import Button from '$lib/components/Button.svelte';
import { draggableRemoteCommit } from '$lib/draggables';
import { draggable } from '$lib/utils/draggable';
import type { BranchController } from '$lib/vbranches/branchController';
import type { BaseBranch, RemoteBranch } from '$lib/vbranches/types';
import CommitCard from './CommitCard.svelte';
export let branchId: string;
export let projectId: string;

View File

@ -1,10 +1,9 @@
<script lang="ts">
import type { ProjectService } from '$lib/backend/projects';
import IconLink from '$lib/components/IconLink.svelte';
import type { UserService } from '$lib/stores/user';
import WelcomeAction from './WelcomeAction.svelte';
import IconLink from '$lib/components/IconLink.svelte';
import ImgThemed from '$lib/components/ImgThemed.svelte';
import type { ProjectService } from '$lib/backend/projects';
import type { UserService } from '$lib/stores/user';
export let projectService: ProjectService;
export let userService: UserService;

View File

@ -1,8 +1,8 @@
import { expect, test } from 'vitest';
import { File, Hunk } from '$lib/vbranches/types';
import { parseHunkSection, parseFileSections, SectionType } from './fileSections';
import type { ContentSection, HunkSection } from './fileSections';
import { File, Hunk } from '$lib/vbranches/types';
import { plainToInstance } from 'class-transformer';
import { expect, test } from 'vitest';
import type { ContentSection, HunkSection } from './fileSections';
const fileContent = `<!DOCTYPE html>
<html lang="en">

View File

@ -1,6 +1,6 @@
import type { Hunk, RemoteFile, RemoteHunk } from '$lib/vbranches/types';
import { File } from '$lib/vbranches/types';
import { plainToInstance } from 'class-transformer';
import type { Hunk, RemoteFile, RemoteHunk } from '$lib/vbranches/types';
export type Line = {
beforeLineNumber: number | undefined;

View File

@ -1,12 +1,12 @@
<script lang="ts">
import { page } from '$app/stores';
import type { Project } from '$lib/backend/projects';
import SyncButton from './SyncButton.svelte';
import Badge from '$lib/components/Badge.svelte';
import type { GitHubService } from '$lib/github/service';
import Icon from '$lib/icons/Icon.svelte';
import IconGithub from '$lib/icons/IconGithub.svelte';
import type { Project } from '$lib/backend/projects';
import type { GitHubService } from '$lib/github/service';
import type { BaseBranchService } from '$lib/vbranches/branchStoresCache';
import SyncButton from './SyncButton.svelte';
import { page } from '$app/stores';
export let project: Project;
export let baseBranchService: BaseBranchService;

View File

@ -1,11 +1,10 @@
<script lang="ts">
import { page } from '$app/stores';
import BranchIcon from './BranchIcon.svelte';
import AheadBehind from '../components/AheadBehind.svelte';
import AuthorIcons from '$lib/components/AuthorIcons.svelte';
import TimeAgo from '$lib/components/TimeAgo.svelte';
import BranchIcon from './BranchIcon.svelte';
// import Icon from '$lib/icons/Icon.svelte';
import type { CombinedBranch } from '$lib/branches/types';
import AheadBehind from '../components/AheadBehind.svelte';
import { page } from '$app/stores';
export let projectId: string;
export let branch: CombinedBranch;

View File

@ -1,22 +1,19 @@
<script lang="ts">
import type { BranchService } from '$lib/branches/service';
import type { CombinedBranch } from '$lib/branches/types';
import BranchItem from './BranchItem.svelte';
import Resizer from '$lib/components/Resizer.svelte';
import BranchesHeader from './BranchesHeader.svelte';
import ScrollableContainer from '$lib/components/ScrollableContainer.svelte';
import { getContext, onDestroy, onMount } from 'svelte';
import { BehaviorSubject, combineLatest } from 'rxjs';
import { SETTINGS_CONTEXT, type SettingsStore } from '$lib/settings/userSettings';
import FilterPopupMenu from '../components/FilterPopupMenu.svelte';
import { derived } from 'svelte/store';
import { storeToObservable } from '$lib/rxjs/store';
import ImgThemed from '$lib/components/ImgThemed.svelte';
import Resizer from '$lib/components/Resizer.svelte';
import ScrollableContainer from '$lib/components/ScrollableContainer.svelte';
import TextBox from '$lib/components/TextBox.svelte';
import { persisted } from '$lib/persisted/persisted';
import ImgThemed from '$lib/components/ImgThemed.svelte';
import { storeToObservable } from '$lib/rxjs/store';
import { SETTINGS_CONTEXT, type SettingsStore } from '$lib/settings/userSettings';
import { BehaviorSubject, combineLatest } from 'rxjs';
import { getContext, onDestroy, onMount } from 'svelte';
import { derived } from 'svelte/store';
import type { BranchService } from '$lib/branches/service';
import type { CombinedBranch } from '$lib/branches/types';
import type { GitHubService } from '$lib/github/service';
export let branchService: BranchService;

View File

@ -1,9 +1,9 @@
<script lang="ts">
import type { User } from '$lib/backend/cloud';
import AccountLink from '$lib/components/AccountLink.svelte';
import IconButton from '$lib/components/IconButton.svelte';
import Link from '$lib/components/Link.svelte';
import * as events from '$lib/utils/events';
import AccountLink from '$lib/components/AccountLink.svelte';
import type { User } from '$lib/backend/cloud';
export let user: User | undefined;
export let projectId: string | undefined;

View File

@ -1,7 +1,7 @@
<script lang="ts">
import Icon from '$lib/icons/Icon.svelte';
import type iconsJson from '$lib/icons/icons.json';
import { createEventDispatcher } from 'svelte';
import type iconsJson from '$lib/icons/icons.json';
export let icon: keyof typeof iconsJson | undefined = undefined;
export let selected = false;

View File

@ -1,32 +1,28 @@
<script lang="ts">
import type { BranchController } from '$lib/vbranches/branchController';
import type { User } from '$lib/backend/cloud';
import BaseBranchCard from './BaseBranchCard.svelte';
import type { Project, ProjectService } from '$lib/backend/projects';
import Footer from './Footer.svelte';
// import AppUpdater from '../../../lib/components/AppUpdater.svelte';
import { persisted } from '$lib/persisted/persisted';
// import type { Update } from '../../updater';
import DomainButton from './DomainButton.svelte';
import type { GitHubService } from '$lib/github/service';
import type { BaseBranchService } from '$lib/vbranches/branchStoresCache';
import ProjectSelector from './ProjectSelector.svelte';
import Branches from './Branches.svelte';
import type { BranchService } from '$lib/branches/service';
import DomainButton from './DomainButton.svelte';
import Footer from './Footer.svelte';
import Header from './Header.svelte';
import ProjectSelector from './ProjectSelector.svelte';
import Tag from '../components/Tag.svelte';
import * as toasts from '$lib/utils/toasts';
import Resizer from '$lib/components/Resizer.svelte';
import { getContext } from 'svelte';
import { persisted } from '$lib/persisted/persisted';
import { SETTINGS_CONTEXT, type SettingsStore } from '$lib/settings/userSettings';
// import type { Observable } from 'rxjs';
import * as toasts from '$lib/utils/toasts';
import { getContext } from 'svelte';
import type { User } from '$lib/backend/cloud';
import type { Project, ProjectService } from '$lib/backend/projects';
import type { BranchService } from '$lib/branches/service';
import type { GitHubService } from '$lib/github/service';
import type { BranchController } from '$lib/vbranches/branchController';
import type { BaseBranchService } from '$lib/vbranches/branchStoresCache';
export let branchService: BranchService;
export let baseBranchService: BaseBranchService;
export let branchController: BranchController;
export let project: Project;
export let user: User | undefined;
// export let update: Observable<Update>;
export let githubService: GitHubService;
export let projectService: ProjectService;

View File

@ -1,8 +1,8 @@
<script lang="ts">
import type { Project, ProjectService } from '$lib/backend/projects';
import ProjectsPopup from './ProjectsPopup.svelte';
import { clickOutside } from '$lib/clickOutside';
import Icon from '$lib/icons/Icon.svelte';
import ProjectsPopup from './ProjectsPopup.svelte';
import type { Project, ProjectService } from '$lib/backend/projects';
export let project: Project | undefined;
export let projectService: ProjectService;

View File

@ -1,8 +1,8 @@
<script lang="ts">
import ListItem from './ListItem.svelte';
import type { ProjectService } from '$lib/backend/projects';
import { goto } from '$app/navigation';
import { page } from '$app/stores';
import ListItem from './ListItem.svelte';
export let projectService: ProjectService;

View File

@ -1,8 +1,8 @@
<script lang="ts">
import { page } from '$app/stores';
import Icon from '$lib/icons/Icon.svelte';
import type { Branch } from '$lib/vbranches/types';
import { slide } from 'svelte/transition';
import type { Branch } from '$lib/vbranches/types';
import { page } from '$app/stores';
export let branch: Branch;
export let projectId: string;

View File

@ -1,10 +1,10 @@
<script lang="ts">
import { syncToCloud } from '$lib/backend/cloud';
import Icon from '$lib/icons/Icon.svelte';
import TimeAgo from '$lib/components/TimeAgo.svelte';
import Icon from '$lib/icons/Icon.svelte';
import { tooltip } from '$lib/utils/tooltip';
import type { GitHubService } from '$lib/github/service';
import type { BaseBranchService } from '$lib/vbranches/branchStoresCache';
import { tooltip } from '$lib/utils/tooltip';
export let githubService: GitHubService;
export let projectId: string;

View File

@ -1,8 +1,8 @@
<script lang="ts">
import type { PageData } from './$types';
import { page } from '$app/stores';
import PullRequestPreview from './PullRequestPreview.svelte';
import { map } from 'rxjs';
import type { PageData } from './$types';
import { page } from '$app/stores';
export let data: PageData;

View File

@ -1,10 +1,10 @@
<script lang="ts">
import Button from '$lib/components/Button.svelte';
import type { BranchController } from '$lib/vbranches/branchController';
import type { PullRequest } from '$lib/github/types';
import Link from '$lib/components/Link.svelte';
import Tag from '../../components/Tag.svelte';
import Button from '$lib/components/Button.svelte';
import Link from '$lib/components/Link.svelte';
import { marked } from 'marked';
import type { PullRequest } from '$lib/github/types';
import type { BranchController } from '$lib/vbranches/branchController';
export let pullrequest: PullRequest | undefined;
export let branchController: BranchController;

View File

@ -1,7 +1,7 @@
<script lang="ts">
import RemoteBranchPreview from './RemoteBranchPreview.svelte';
import type { PageData } from './$types';
import { page } from '$app/stores';
import RemoteBranchPreview from './RemoteBranchPreview.svelte';
export let data: PageData;
$: projectId = data.projectId;

View File

@ -1,8 +1,8 @@
<script lang="ts">
import CommitCard from '../../components/CommitCard.svelte';
import Button from '$lib/components/Button.svelte';
import type { BranchController } from '$lib/vbranches/branchController';
import type { RemoteBranch } from '$lib/vbranches/types';
import CommitCard from '../../components/CommitCard.svelte';
export let branch: RemoteBranch | undefined;
export let projectId: string;

View File

@ -1,17 +1,17 @@
<script lang="ts">
import * as toasts from '$lib/utils/toasts';
import { goto } from '$app/navigation';
import CloudForm from './CloudForm.svelte';
import DetailsForm from './DetailsForm.svelte';
import KeysForm from './KeysForm.svelte';
import PreferencesForm from './PreferencesForm.svelte';
import type { PageData } from './$types';
import Modal from '$lib/components/Modal.svelte';
import Button from '$lib/components/Button.svelte';
import Spacer from '../../../lib/components/Spacer.svelte';
import type { Key, Project } from '$lib/backend/projects';
import ScrollableContainer from '../../../lib/components/ScrollableContainer.svelte';
import Spacer from '../../../lib/components/Spacer.svelte';
import Button from '$lib/components/Button.svelte';
import Modal from '$lib/components/Modal.svelte';
import * as toasts from '$lib/utils/toasts';
import type { UserError } from '$lib/backend/ipc';
import type { Key, Project } from '$lib/backend/projects';
import type { PageData } from './$types';
import { goto } from '$app/navigation';
export let data: PageData;

View File

@ -1,14 +1,14 @@
<script lang="ts">
import * as toasts from '$lib/utils/toasts';
import { getCloudApiClient, type User } from '$lib/backend/cloud';
import type { Project } from '$lib/backend/projects';
import { createEventDispatcher, onMount } from 'svelte';
import Checkbox from '$lib/components/Checkbox.svelte';
import Login from '$lib/components/Login.svelte';
import type { UserService } from '$lib/stores/user';
import Link from '$lib/components/Link.svelte';
import { PUBLIC_API_BASE_URL } from '$env/static/public';
import Login from '$lib/components/Login.svelte';
import { projectAiGenEnabled } from '$lib/config/config';
import * as toasts from '$lib/utils/toasts';
import { createEventDispatcher, onMount } from 'svelte';
import type { Project } from '$lib/backend/projects';
import type { UserService } from '$lib/stores/user';
import { PUBLIC_API_BASE_URL } from '$env/static/public';
export let project: Project;
export let user: User | undefined;

View File

@ -1,8 +1,8 @@
<script lang="ts">
import type { Project } from '$lib/backend/projects';
import TextArea from '$lib/components/TextArea.svelte';
import TextBox from '$lib/components/TextBox.svelte';
import { createEventDispatcher } from 'svelte';
import type { Project } from '$lib/backend/projects';
export let project: Project;

View File

@ -1,12 +1,12 @@
<script lang="ts">
import type { Key, Project } from '$lib/backend/projects';
import { invoke } from '$lib/backend/ipc';
import { copyToClipboard } from '$lib/utils/clipboard';
import { createEventDispatcher } from 'svelte';
import { debounce } from '$lib/utils/debounce';
import Button from '$lib/components/Button.svelte';
import Link from '$lib/components/Link.svelte';
import TextBox from '$lib/components/TextBox.svelte';
import { copyToClipboard } from '$lib/utils/clipboard';
import { debounce } from '$lib/utils/debounce';
import { createEventDispatcher } from 'svelte';
import type { Key, Project } from '$lib/backend/projects';
export let project: Project;

View File

@ -1,8 +1,8 @@
<script lang="ts">
import type { Project } from '$lib/backend/projects';
import Checkbox from '$lib/components/Checkbox.svelte';
import { createEventDispatcher } from 'svelte';
import { projectRunCommitHooks } from '$lib/config/config';
import { createEventDispatcher } from 'svelte';
import type { Project } from '$lib/backend/projects';
export let project: Project;

View File

@ -1,10 +1,10 @@
<script lang="ts">
import type { PageData } from './$types';
import { page } from '$app/stores';
import BranchLane from '../../components/BranchLane.svelte';
import Button from '$lib/components/Button.svelte';
import Modal from '$lib/components/Modal.svelte';
import type { PageData } from './$types';
import { goto } from '$app/navigation';
import { page } from '$app/stores';
export let data: PageData;

Some files were not shown because too many files have changed in this diff Show More