Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions backend/open_webui/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -1098,6 +1098,32 @@ def feishu_oauth_register(client: OAuth):
),
)


# PATCH EXTRA LOGIN INFO
SYSTEM_REGISTER_URL = PersistentConfig(
"SYSTEM_REGISTER_URL",
"ui.SYSTEM_REGISTER_URL",
os.environ.get("SYSTEM_REGISTER_URL", ""),
)


SYSTEM_REGISTER_GUIDE_URL = PersistentConfig(
"SYSTEM_REGISTER_GUIDE_URL",
"ui.SYSTEM_REGISTER_GUIDE_URL",
os.environ.get("SYSTEM_REGISTER_GUIDE_URL", ""),
)
# /PATCH EXTRA LOGIN INFO


# PATCH ADD LOGO TO SIDEBAR
LOGO_URL = PersistentConfig(
"LOGO_URL",
"ui.LOGO_URL",
os.environ.get("LOGO_URL", ""),
)
# /PATCH ADD LOGO TO SIDEBAR


ENABLE_LOGIN_FORM = PersistentConfig(
"ENABLE_LOGIN_FORM",
"ui.ENABLE_LOGIN_FORM",
Expand Down
29 changes: 29 additions & 0 deletions backend/open_webui/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -348,6 +348,13 @@
PENDING_USER_OVERLAY_TITLE,
DEFAULT_PROMPT_SUGGESTIONS,
DEFAULT_MODELS,
# PATCH EXTRA LOGIN INFO
SYSTEM_REGISTER_URL,
SYSTEM_REGISTER_GUIDE_URL,
# /PATCH EXTRA LOGIN INFO
# PATCH ADD LOGO TO SIDEBAR
LOGO_URL,
# /PATCH ADD LOGO TO SIDEBAR
DEFAULT_ARENA_MODEL,
MODEL_ORDER_LIST,
EVALUATION_ARENA_MODELS,
Expand Down Expand Up @@ -728,6 +735,18 @@ async def lifespan(app: FastAPI):
app.state.config.DEFAULT_PROMPT_SUGGESTIONS = DEFAULT_PROMPT_SUGGESTIONS
app.state.config.DEFAULT_USER_ROLE = DEFAULT_USER_ROLE


# PATCH EXTRA LOGIN INFO
app.state.config.SYSTEM_REGISTER_URL = SYSTEM_REGISTER_URL
app.state.config.SYSTEM_REGISTER_GUIDE_URL = SYSTEM_REGISTER_GUIDE_URL
# /PATCH EXTRA LOGIN INFO


# PATCH ADD LOGO TO SIDEBAR
app.state.config.LOGO_URL = LOGO_URL
# /PATCH ADD LOGO TO SIDEBAR


app.state.config.PENDING_USER_OVERLAY_CONTENT = PENDING_USER_OVERLAY_CONTENT
app.state.config.PENDING_USER_OVERLAY_TITLE = PENDING_USER_OVERLAY_TITLE

Expand Down Expand Up @@ -1698,6 +1717,16 @@ async def get_app_config(request: Request):
for name, config in OAUTH_PROVIDERS.items()
}
},
# Environment variables for patches
"extended_features": {
# PATCH EXTRA LOGIN INFO
"system_register_url": app.state.config.SYSTEM_REGISTER_URL,
"system_register_guide_url": app.state.config.SYSTEM_REGISTER_GUIDE_URL,
# /PATCH EXTRA LOGIN INFO
# PATCH ADD LOGO TO SIDEBAR
"logo_url": app.state.config.LOGO_URL,
# /PATCH ADD LOGO TO SIDEBAR
},
"features": {
"auth": WEBUI_AUTH,
"auth_trusted_header": bool(app.state.AUTH_TRUSTED_EMAIL_HEADER),
Expand Down
38 changes: 37 additions & 1 deletion src/lib/components/layout/Sidebar.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -446,6 +446,25 @@
};

const isWindows = /Windows/i.test(navigator.userAgent);

// PATCH ADD LOGO TO SIDEBAR
function IsJson(str) {
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}

function getUrl(str) {
if (IsJson(str)) {
return JSON.parse(str);
} else {
return str;
}
}
// /PATCH ADD LOGO TO SIDEBAR
</script>

<ArchivedChatsModal
Expand Down Expand Up @@ -1177,7 +1196,9 @@
</Folder>
</div>

<div class="px-1.5 pt-1.5 pb-2 sticky bottom-0 z-10 -mt-3 sidebar">
<!-- PATCH ADD LOGO TO SIDEBAR: pb-[50px]-class added -->
<div class="px-1.5 pt-1.5 pb-2 sticky bottom-0 z-10 -mt-3 sidebar pb-[50px]">
<!-- /PATCH ADD LOGO TO SIDEBAR -->
<div
class=" sidebar-bg-gradient-to-t bg-linear-to-t from-gray-50 dark:from-gray-950 to-transparent from-50% pointer-events-none absolute inset-0 -z-10 -mt-6"
></div>
Expand Down Expand Up @@ -1209,5 +1230,20 @@
</div>
</div>
</div>
<!-- PATCH ADD LOGO TO SIDEBAR -->
<div class="relative">
<div
class="-mb-2 flex items-center py-2.5 px-4.5 w-full bg-gray-800 absolute left-0 bottom-0 z-20"
>
<div class="self-center mr-3">
<img
src={$config?.extended_features?.logo_url}
class="max-w-[150px] object-cover"
alt=""
/>
</div>
</div>
</div>
<!-- /PATCH ADD LOGO TO SIDEBAR -->
</div>
{/if}
12 changes: 12 additions & 0 deletions src/lib/stores/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,18 @@ type Config = {
enable_direct_connections: boolean;
enable_version_update_check: boolean;
};

// Environment variables for patches
extended_features: {
// PATCH EXTRA LOGIN INFO
system_register_url: string;
system_register_guide_url: string;
// /PATCH EXTRA LOGIN INFO
// PATCH ADD LOGO TO SIDEBAR
logo_url: string;
// /PATCH ADD LOGO TO SIDEBAR
};

oauth: {
providers: {
[key: string]: string;
Expand Down
40 changes: 39 additions & 1 deletion src/routes/auth/+page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -401,7 +401,45 @@
{/if}
</div>
</form>

<!-- PATCH EXTRA LOGIN INFO -->
{#if $config?.extended_features?.system_register_url && $config?.extended_features?.system_register_guide_url}
<div
class="mx-4 px-3 flex justify-center items-center border border-gray-100 dark:border-gray-850 text-gray-800 dark:text-gary-100 bg-white dark:bg-gray-900"
>
<div class="flex flex-col md:items-center text-sm w-fit gap-1.5">
<div
class="m-4 bg-blue-500/20 text-blue-700 dark:text-blue-200 text-xs font-bold w-fit px-2 rounded-sm uppercase line-clamp-1 mr-0.5"
>
{$i18n.t('Info')}
</div>
<div class="text-xs text-gray-700 dark:text-white max-h-60 overflow-y-auto">
<div
class="text-xs text-gray-700 dark:text-white max-h-60 overflow-y-auto mb-2"
>
Du skal anmode om adgang til AarhusAI (AI-platform) i Aarhus Kommunes
systemregister, før du logger på første gang.
</div>
<div class="mb-2">
<a
target="_blank"
class="underline"
href="{$config?.extended_features?.system_register_url}"
>Anmod om adgang i Systemregisteret.</a
>
</div>
<div class="mb-2">
<a
target="_blank"
class="underline"
href="{$config?.extended_features?.system_register_guide_url}"
>Vejledning til at anmode om adgang i Systemregisteret på Serviceportalen.</a
>
</div>
</div>
</div>
</div>
{/if}
<!-- /PATCH EXTRA LOGIN INFO -->
{#if Object.keys($config?.oauth?.providers ?? {}).length > 0}
<div class="inline-flex items-center justify-center w-full">
<hr class="w-32 h-px my-4 border-0 dark:bg-gray-100/10 bg-gray-700/10" />
Expand Down