mirror of
https://github.com/sourcebot-dev/sourcebot.git
synced 2025-12-17 14:55:24 +00:00
Sourcebot V4 introduces authentication, performance improvements and code navigation. Checkout the [migration guide](https://docs.sourcebot.dev/self-hosting/upgrade/v3-to-v4-guide) for information on upgrading your instance to v4. ### Changed - [**Breaking Change**] Authentication is now required by default. Notes: - When setting up your instance, email / password login will be the default authentication provider. - The first user that logs into the instance is given the `owner` role. ([docs](https://docs.sourcebot.dev/docs/more/roles-and-permissions)). - Subsequent users can request to join the instance. The `owner` can approve / deny requests to join the instance via `Settings` > `Members` > `Pending Requests`. - If a user is approved to join the instance, they are given the `member` role. - Additional login providers, including email links and SSO, can be configured with additional environment variables. ([docs](https://docs.sourcebot.dev/self-hosting/configuration/authentication)). - Clicking on a search result now takes you to the `/browse` view. Files can still be previewed by clicking the "Preview" button or holding `Cmd` / `Ctrl` when clicking on a search result. [#315](https://github.com/sourcebot-dev/sourcebot/pull/315) ### Added - [Sourcebot EE] Added search-based code navigation, allowing you to jump between symbol definition and references when viewing source files. [Read the documentation](https://docs.sourcebot.dev/docs/search/code-navigation). [#315](https://github.com/sourcebot-dev/sourcebot/pull/315) - Added collapsible filter panel. [#315](https://github.com/sourcebot-dev/sourcebot/pull/315) ### Fixed - Improved scroll performance for large numbers of search results. [#315](https://github.com/sourcebot-dev/sourcebot/pull/315)
46 lines
No EOL
1.4 KiB
TypeScript
46 lines
No EOL
1.4 KiB
TypeScript
import Link from "next/link";
|
|
import Image from "next/image";
|
|
import logoLight from "@/public/sb_logo_light.png";
|
|
import logoDark from "@/public/sb_logo_dark.png";
|
|
import { SearchBar } from "./searchBar";
|
|
import { SettingsDropdown } from "./settingsDropdown";
|
|
|
|
interface TopBarProps {
|
|
defaultSearchQuery?: string;
|
|
domain: string;
|
|
}
|
|
|
|
export const TopBar = ({
|
|
defaultSearchQuery,
|
|
domain,
|
|
}: TopBarProps) => {
|
|
return (
|
|
<div className="flex flex-row justify-between items-center py-1.5 px-3 gap-4 bg-background">
|
|
<div className="grow flex flex-row gap-4 items-center">
|
|
<Link
|
|
href={`/${domain}`}
|
|
className="shrink-0 cursor-pointer"
|
|
>
|
|
<Image
|
|
src={logoDark}
|
|
className="h-4 w-auto hidden dark:block"
|
|
alt={"Sourcebot logo"}
|
|
/>
|
|
<Image
|
|
src={logoLight}
|
|
className="h-4 w-auto block dark:hidden"
|
|
alt={"Sourcebot logo"}
|
|
/>
|
|
</Link>
|
|
<SearchBar
|
|
size="sm"
|
|
defaultQuery={defaultSearchQuery}
|
|
className="w-full"
|
|
/>
|
|
</div>
|
|
<SettingsDropdown
|
|
menuButtonClassName="w-8 h-8"
|
|
/>
|
|
</div>
|
|
)
|
|
} |