From a5c16ad600a2cf35857871dadf926582ac1fb6a5 Mon Sep 17 00:00:00 2001 From: Debanjum Singh Solanky Date: Tue, 16 Jul 2024 15:33:19 +0530 Subject: [PATCH] Move Web client config page to /configure from /config url path Update docs, clients and error messages to point to /configure instead of /config --- documentation/docs/advanced/litellm.md | 2 +- documentation/docs/advanced/lmstudio.md | 2 +- documentation/docs/advanced/ollama.md | 2 +- documentation/docs/advanced/use-openai-proxy.md | 2 +- documentation/docs/clients/desktop.md | 2 +- documentation/docs/clients/emacs.md | 2 +- documentation/docs/clients/obsidian.md | 2 +- documentation/docs/clients/whatsapp.md | 2 +- documentation/docs/data-sources/github_integration.md | 4 ++-- documentation/docs/data-sources/notion_integration.md | 6 +++--- src/interface/desktop/main.js | 2 +- src/interface/desktop/renderer.js | 2 +- src/interface/emacs/khoj.el | 2 +- src/interface/obsidian/src/utils.ts | 4 ++-- src/interface/web/app/components/navMenu/navMenu.tsx | 6 +++--- .../web/app/components/sidePanel/chatHistorySidePanel.tsx | 2 +- src/interface/web/app/factchecker/page.tsx | 2 +- src/khoj/interface/web/chat.html | 4 ++-- src/khoj/interface/web/config.html | 8 ++++---- src/khoj/interface/web/public_conversation.html | 2 +- src/khoj/interface/web/search.html | 2 +- src/khoj/interface/web/utils.html | 2 +- src/khoj/routers/api.py | 3 +-- src/khoj/routers/helpers.py | 4 ++-- src/khoj/routers/web_client.py | 8 ++++---- 25 files changed, 39 insertions(+), 40 deletions(-) diff --git a/documentation/docs/advanced/litellm.md b/documentation/docs/advanced/litellm.md index ad482e50..cbfe75e5 100644 --- a/documentation/docs/advanced/litellm.md +++ b/documentation/docs/advanced/litellm.md @@ -34,4 +34,4 @@ Using LiteLLM with Khoj makes it possible to turn any LLM behind an API into you 5. Create a new [Server Chat Setting](http://localhost:42110/server/admin/database/serverchatsettings/add/) on your Khoj admin panel - Default model: `` - Summarizer model: `` -6. Go to [your config](http://localhost:42110/config) and select the model you just created in the chat model dropdown. +6. Go to [your config](http://localhost:42110/configure) and select the model you just created in the chat model dropdown. diff --git a/documentation/docs/advanced/lmstudio.md b/documentation/docs/advanced/lmstudio.md index d8d42664..a27beb25 100644 --- a/documentation/docs/advanced/lmstudio.md +++ b/documentation/docs/advanced/lmstudio.md @@ -27,4 +27,4 @@ LM Studio can expose an [OpenAI API compatible server](https://lmstudio.ai/docs/ 5. Create a new [Server Chat Setting](http://localhost:42110/server/admin/database/serverchatsettings/add/) on your Khoj admin panel - Default model: `` - Summarizer model: `` -6. Go to [your config](http://localhost:42110/config) and select the model you just created in the chat model dropdown. +6. Go to [your config](http://localhost:42110/configure) and select the model you just created in the chat model dropdown. diff --git a/documentation/docs/advanced/ollama.md b/documentation/docs/advanced/ollama.md index 4679b1d0..7a8f72e5 100644 --- a/documentation/docs/advanced/ollama.md +++ b/documentation/docs/advanced/ollama.md @@ -31,6 +31,6 @@ Ollama exposes a local [OpenAI API compatible server](https://github.com/ollama/ 5. Create a new [Server Chat Setting](http://localhost:42110/server/admin/database/serverchatsettings/add/) on your Khoj admin panel - Default model: `` - Summarizer model: `` -6. Go to [your config](http://localhost:42110/config) and select the model you just created in the chat model dropdown. +6. Go to [your config](http://localhost:42110/configure) and select the model you just created in the chat model dropdown. That's it! You should now be able to chat with your Ollama model from Khoj. If you want to add additional models running on Ollama, repeat step 6 for each model. diff --git a/documentation/docs/advanced/use-openai-proxy.md b/documentation/docs/advanced/use-openai-proxy.md index 0479b6fe..5fa4a70a 100644 --- a/documentation/docs/advanced/use-openai-proxy.md +++ b/documentation/docs/advanced/use-openai-proxy.md @@ -34,4 +34,4 @@ For specific integrations, see our [Ollama](/advanced/ollama), [LMStudio](/advan 5. Create a new [Server Chat Setting](http://localhost:42110/server/admin/database/serverchatsettings/add/) on your Khoj admin panel - Default model: `` - Summarizer model: `` -6. Go to [your config](http://localhost:42110/config) and select the model you just created in the chat model dropdown. +6. Go to [your config](http://localhost:42110/configure) and select the model you just created in the chat model dropdown. diff --git a/documentation/docs/clients/desktop.md b/documentation/docs/clients/desktop.md index 6c089424..97ce555c 100644 --- a/documentation/docs/clients/desktop.md +++ b/documentation/docs/clients/desktop.md @@ -23,7 +23,7 @@ Khoj will keep these files in sync to provide contextual responses when you sear ## Setup 1. Install the [Khoj Desktop app](https://khoj.dev/downloads) for your OS -2. Generate an API key on the [Khoj Web App](https://app.khoj.dev/config#clients) +2. Generate an API key on the [Khoj Web App](https://app.khoj.dev/configure#clients) 3. Set your Khoj API Key on the *Settings* page of the Khoj Desktop app 4. [Optional] Add any files, folders you'd like Khoj to be aware of on the *Settings* page and Click *Save* These files and folders will be automatically kept in sync for you diff --git a/documentation/docs/clients/emacs.md b/documentation/docs/clients/emacs.md index 3252c598..4bbb2c68 100644 --- a/documentation/docs/clients/emacs.md +++ b/documentation/docs/clients/emacs.md @@ -30,7 +30,7 @@ sidebar_position: 2 | ![khoj search on emacs](/img/khoj_search_on_emacs.png) | ![khoj chat on emacs](/img/khoj_chat_on_emacs.png) | ## Setup -1. Generate an API key on the [Khoj Web App](https://app.khoj.dev/config#clients) +1. Generate an API key on the [Khoj Web App](https://app.khoj.dev/configure#clients) 2. Add below snippet to your Emacs config file, usually at `~/.emacs.d/init.el` diff --git a/documentation/docs/clients/obsidian.md b/documentation/docs/clients/obsidian.md index 37a2526e..cbd249ed 100644 --- a/documentation/docs/clients/obsidian.md +++ b/documentation/docs/clients/obsidian.md @@ -23,7 +23,7 @@ sidebar_position: 3 1. Open [Khoj](https://obsidian.md/plugins?id=khoj) from the *Community plugins* tab in Obsidian settings panel 2. Click *Install*, then *Enable* on the Khoj plugin page in Obsidian - 3. Generate an API key on the [Khoj Web App](https://app.khoj.dev/config#clients) + 3. Generate an API key on the [Khoj Web App](https://app.khoj.dev/configure#clients) 4. Set your Khoj API Key in the Khoj plugin settings in Obsidian See the official [Obsidian Plugin Docs](https://help.obsidian.md/Extending+Obsidian/Community+plugins) for more details on installing Obsidian plugins. diff --git a/documentation/docs/clients/whatsapp.md b/documentation/docs/clients/whatsapp.md index fc0d38e1..f2f6465f 100644 --- a/documentation/docs/clients/whatsapp.md +++ b/documentation/docs/clients/whatsapp.md @@ -10,7 +10,7 @@ Text [+1 (848) 800 4242](https://wa.me/18488004242) or scan [this QR code](https Without any desktop clients, you can start chatting with Khoj on WhatsApp. Bear in mind you do need one of the desktop clients in order to share and sync your data with Khoj. The WhatsApp AI bot will work right away for answering generic queries and using Khoj in default mode. -In order to use Khoj on WhatsApp with your own data, you need to setup a Khoj Cloud account and connect your WhatsApp account to it. This is a one time setup and you can do it from the [Khoj Cloud config page](https://app.khoj.dev/config). +In order to use Khoj on WhatsApp with your own data, you need to setup a Khoj Cloud account and connect your WhatsApp account to it. This is a one time setup and you can do it from the [Khoj Cloud config page](https://app.khoj.dev/configure). If you hit usage limits for the WhatsApp bot, upgrade to [a paid plan](https://khoj.dev/pricing) on Khoj Cloud. diff --git a/documentation/docs/data-sources/github_integration.md b/documentation/docs/data-sources/github_integration.md index 77e5bd1b..1f6d73ba 100644 --- a/documentation/docs/data-sources/github_integration.md +++ b/documentation/docs/data-sources/github_integration.md @@ -4,11 +4,11 @@ The Github integration allows you to index as many repositories as you want. It' # Configure your settings -1. Go to [https://app.khoj.dev/config](https://app.khoj.dev/config) and enter in settings for the data sources you want to index. You'll have to specify the file paths. +1. Go to [https://app.khoj.dev/configure](https://app.khoj.dev/configure) and enter in settings for the data sources you want to index. You'll have to specify the file paths. ## Use the Github plugin 1. Generate a [classic PAT (personal access token)](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens) from [Github](https://github.com/settings/tokens) with `repo` and `admin:org` scopes at least. -2. Navigate to [https://app.khoj.dev/config/content-source/github](https://app.khoj.dev/config/content-source/github) to configure your Github settings. Enter in your PAT, along with details for each repository you want to index. +2. Navigate to [https://app.khoj.dev/configure/content/github](https://app.khoj.dev/configure/content/github) to configure your Github settings. Enter in your PAT, along with details for each repository you want to index. 3. Click `Save`. Go back to the settings page and click `Configure`. 4. Go to [https://app.khoj.dev/](https://app.khoj.dev/) and start searching! diff --git a/documentation/docs/data-sources/notion_integration.md b/documentation/docs/data-sources/notion_integration.md index 23fe9f32..8b5e926f 100644 --- a/documentation/docs/data-sources/notion_integration.md +++ b/documentation/docs/data-sources/notion_integration.md @@ -2,7 +2,7 @@ The Notion integration allows you to search/chat with your Notion workspaces. [Notion](https://notion.so/) is a platform people use for taking notes, especially for collaboration. -Go to https://app.khoj.dev/config to connect your Notion workspace(s) to Khoj. +Go to https://app.khoj.dev/configure to connect your Notion workspace(s) to Khoj. ![notion_integration](https://assets.khoj.dev/notion_integration.gif) @@ -13,7 +13,7 @@ Go to https://app.khoj.dev/config to connect your Notion workspace(s) to Khoj. ![setup_new_integration](https://github.com/khoj-ai/khoj/assets/65192171/b056e057-d4dc-47dc-aad3-57b59a22c68b) 3. Share all the workspaces that you want to integrate with the Khoj integration you just made in the previous step ![enable_workspace](https://github.com/khoj-ai/khoj/assets/65192171/98290303-b5b8-4cb0-b32c-f68c6923a3d0) -4. In the first step, you generated an API key. Use the newly generated API Key in your Khoj settings, by default at http://localhost:42110/config/content-source/notion. Click `Save`. -5. Click `Configure` in http://localhost:42110/config to index your Notion workspace(s). +4. In the first step, you generated an API key. Use the newly generated API Key in your Khoj settings, by default at http://localhost:42110/configure/content/notion. Click `Save`. +5. Click `Configure` in http://localhost:42110/configure to index your Notion workspace(s). That's it! You should be ready to start searching and chatting. Make sure you've configured your [chat settings](/get-started/setup#2-configure). diff --git a/src/interface/desktop/main.js b/src/interface/desktop/main.js index 12d486e9..1b8bc6b1 100644 --- a/src/interface/desktop/main.js +++ b/src/interface/desktop/main.js @@ -253,7 +253,7 @@ function pushDataToKhoj (regenerate = false) { console.error(error); state["completed"] = false; if (error?.response?.status === 429 && (BrowserWindow.getAllWindows().find(win => win.webContents.getURL().includes('config')))) { - state["error"] = `Looks like you're out of space to sync your files. Upgrade your plan to unlock more space.`; + state["error"] = `Looks like you're out of space to sync your files. Upgrade your plan to unlock more space.`; const win = BrowserWindow.getAllWindows().find(win => win.webContents.getURL().includes('config')); if (win) win.webContents.send('needsSubscription', true); } else if (error?.code === 'ECONNREFUSED') { diff --git a/src/interface/desktop/renderer.js b/src/interface/desktop/renderer.js index a571bb3d..7b287e86 100644 --- a/src/interface/desktop/renderer.js +++ b/src/interface/desktop/renderer.js @@ -182,7 +182,7 @@ window.updateStateAPI.onUpdateState((event, state) => { window.needsSubscriptionAPI.onNeedsSubscription((event, needsSubscription) => { console.log("needs subscription", needsSubscription); if (needsSubscription) { - window.alert("Looks like you're out of space to sync your files. Upgrade your plan to unlock more space here: https://app.khoj.dev/config"); + window.alert("Looks like you're out of space to sync your files. Upgrade your plan to unlock more space here: https://app.khoj.dev/configure"); needsSubscriptionElement.style.display = 'block'; } }); diff --git a/src/interface/emacs/khoj.el b/src/interface/emacs/khoj.el index 136534d5..71e9e87b 100644 --- a/src/interface/emacs/khoj.el +++ b/src/interface/emacs/khoj.el @@ -99,7 +99,7 @@ :type 'boolean) (defcustom khoj-api-key nil - "API Key to your Khoj. Default at https://app.khoj.dev/config#clients." + "API Key to your Khoj. Default at https://app.khoj.dev/configure#clients." :group 'khoj :type 'string) diff --git a/src/interface/obsidian/src/utils.ts b/src/interface/obsidian/src/utils.ts index 4a969793..592e53cd 100644 --- a/src/interface/obsidian/src/utils.ts +++ b/src/interface/obsidian/src/utils.ts @@ -201,12 +201,12 @@ export function getBackendStatusMessage( ): string { // Welcome message with default settings. Khoj cloud always expects an API key. if (!khojApiKey && khojUrl === 'https://app.khoj.dev') - return `🌈 Welcome to Khoj! Get your API key from ${khojUrl}/config#clients and set it in the Khoj plugin settings on Obsidian`; + return `🌈 Welcome to Khoj! Get your API key from ${khojUrl}/configure#clients and set it in the Khoj plugin settings on Obsidian`; if (!connectedToServer) return `❗️Could not connect to Khoj at ${khojUrl}. Ensure your can access it`; else if (!userEmail) - return `✅ Connected to Khoj. ❗️Get a valid API key from ${khojUrl}/config#clients to log in`; + return `✅ Connected to Khoj. ❗️Get a valid API key from ${khojUrl}/configure#clients to log in`; else if (userEmail === 'default@example.com') // Logged in as default user in anonymous mode return `✅ Signed in to Khoj`; diff --git a/src/interface/web/app/components/navMenu/navMenu.tsx b/src/interface/web/app/components/navMenu/navMenu.tsx index 5eaad6cd..efa8a5f8 100644 --- a/src/interface/web/app/components/navMenu/navMenu.tsx +++ b/src/interface/web/app/components/navMenu/navMenu.tsx @@ -128,7 +128,7 @@ export default function NavMenu(props: NavMenuProps) { Profile - Settings + Configure Help @@ -172,8 +172,8 @@ export default function NavMenu(props: NavMenuProps) { {userData && <> - - Settings + + Configure diff --git a/src/interface/web/app/components/sidePanel/chatHistorySidePanel.tsx b/src/interface/web/app/components/sidePanel/chatHistorySidePanel.tsx index 4c3645e1..8bb871cb 100644 --- a/src/interface/web/app/components/sidePanel/chatHistorySidePanel.tsx +++ b/src/interface/web/app/components/sidePanel/chatHistorySidePanel.tsx @@ -604,7 +604,7 @@ function UserProfileComponent(props: UserProfileProps) { return (
- + diff --git a/src/interface/web/app/factchecker/page.tsx b/src/interface/web/app/factchecker/page.tsx index 01748c9a..5eca8084 100644 --- a/src/interface/web/app/factchecker/page.tsx +++ b/src/interface/web/app/factchecker/page.tsx @@ -533,7 +533,7 @@ export default function FactChecker() {

- Try with a particular model. You must be subscribed to configure the model. + Try with a particular model. You must be subscribed to configure the model.

} diff --git a/src/khoj/interface/web/chat.html b/src/khoj/interface/web/chat.html index a24a4ed4..05ca28ee 100644 --- a/src/khoj/interface/web/chat.html +++ b/src/khoj/interface/web/chat.html @@ -44,7 +44,7 @@ Hi, I am Khoj, your open, personal AI 👋🏽. I can: - 📚 Understand files you drag & drop here - 👩🏾‍🚀 Be tuned to your conversation needs via [agents](./agents) -Get the Khoj [Desktop](https://khoj.dev/downloads), [Obsidian](https://docs.khoj.dev/clients/obsidian#setup), [Emacs](https://docs.khoj.dev/clients/emacs#setup) apps to search, chat with your 🖥️ computer docs. You can manage all the files you've shared with me at any time by going to [your settings](/config/content-source/computer/). +Get the Khoj [Desktop](https://khoj.dev/downloads), [Obsidian](https://docs.khoj.dev/clients/obsidian#setup), [Emacs](https://docs.khoj.dev/clients/emacs#setup) apps to search, chat with your 🖥️ computer docs. You can manage all the files you've shared with me at any time by going to [your settings](/configure/content/computer/). To get started, just start typing below. You can also type / to see a list of commands. `.trim() @@ -1333,7 +1333,7 @@ To get started, just start typing below. You can also type / to see a list of co - 📚 Understand files you drag & drop here - 👩🏾‍🚀 Be tuned to your conversation needs via [agents](./agents) -Get the Khoj [Desktop](https://khoj.dev/downloads), [Obsidian](https://docs.khoj.dev/clients/obsidian#setup), or [Emacs](https://docs.khoj.dev/clients/emacs#setup) app to keep your files in sync. You can manage all the files you've shared with me at any time by going to [your settings](/config/content-source/computer/). +Get the Khoj [Desktop](https://khoj.dev/downloads), [Obsidian](https://docs.khoj.dev/clients/obsidian#setup), or [Emacs](https://docs.khoj.dev/clients/emacs#setup) app to keep your files in sync. You can manage all the files you've shared with me at any time by going to [your settings](/configure/content/computer/). To get started, just start typing below. You can also type / to see a list of commands. diff --git a/src/khoj/interface/web/config.html b/src/khoj/interface/web/config.html index eba13b42..58e62a10 100644 --- a/src/khoj/interface/web/config.html +++ b/src/khoj/interface/web/config.html @@ -44,7 +44,7 @@

Manage files from your computer

{% if current_model_state.notion %} - + Update @@ -120,7 +120,7 @@ {% else %} - + Setup diff --git a/src/khoj/interface/web/public_conversation.html b/src/khoj/interface/web/public_conversation.html index 888d03b3..1976eb32 100644 --- a/src/khoj/interface/web/public_conversation.html +++ b/src/khoj/interface/web/public_conversation.html @@ -34,7 +34,7 @@ Hi, I am Khoj, your open, personal AI 👋🏽. I can: - 📚 Understand files you drag & drop here - 👩🏾‍🚀 Be tuned to your conversation needs via [agents](./agents) -Get the Khoj [Desktop](https://khoj.dev/downloads), [Obsidian](https://docs.khoj.dev/clients/obsidian#setup), [Emacs](https://docs.khoj.dev/clients/emacs#setup) apps to search, chat with your 🖥️ computer docs. You can manage all the files you've shared with me at any time by going to [your settings](/config/content-source/computer/). +Get the Khoj [Desktop](https://khoj.dev/downloads), [Obsidian](https://docs.khoj.dev/clients/obsidian#setup), [Emacs](https://docs.khoj.dev/clients/emacs#setup) apps to search, chat with your 🖥️ computer docs. You can manage all the files you've shared with me at any time by going to [your settings](/configure/content/computer/). To get started, just start typing below. You can also type / to see a list of commands. `.trim() diff --git a/src/khoj/interface/web/search.html b/src/khoj/interface/web/search.html index 8c261e58..772b100f 100644 --- a/src/khoj/interface/web/search.html +++ b/src/khoj/interface/web/search.html @@ -214,7 +214,7 @@ .then(enabled_types => { // Show warning if no content types are enabled, or just one ("all") if (enabled_types[0] === "all" && enabled_types.length === 1) { - document.getElementById("results").innerHTML = "
To use Khoj search, setup your content plugins on the Khoj settings page.
"; + document.getElementById("results").innerHTML = "
To use Khoj search, setup your content plugins on the Khoj settings page.
"; document.getElementById("query").setAttribute("disabled", "disabled"); document.getElementById("query").setAttribute("placeholder", "Configure Khoj to enable search"); return []; diff --git a/src/khoj/interface/web/utils.html b/src/khoj/interface/web/utils.html index 536c01d4..92bdce29 100644 --- a/src/khoj/interface/web/utils.html +++ b/src/khoj/interface/web/utils.html @@ -36,7 +36,7 @@ {% endif %}
{{ username }}
- Settings + Settings GitHub Help Logout diff --git a/src/khoj/routers/api.py b/src/khoj/routers/api.py index ef5394ac..07e52799 100644 --- a/src/khoj/routers/api.py +++ b/src/khoj/routers/api.py @@ -6,7 +6,6 @@ import os import threading import time import uuid -from random import random from typing import Any, Callable, List, Optional, Union import cron_descriptor @@ -190,7 +189,7 @@ def update( ): user = request.user.object if not state.config: - error_msg = f"🚨 Khoj is not configured.\nConfigure it via http://localhost:42110/config, plugins or by editing {state.config_file}." + error_msg = f"🚨 Khoj is not configured.\nConfigure it via http://localhost:42110/configure, plugins or by editing {state.config_file}." logger.warning(error_msg) raise HTTPException(status_code=500, detail=error_msg) try: diff --git a/src/khoj/routers/helpers.py b/src/khoj/routers/helpers.py index f497e6b4..59a5ce49 100644 --- a/src/khoj/routers/helpers.py +++ b/src/khoj/routers/helpers.py @@ -920,7 +920,7 @@ class ApiUserRateLimiter: ) raise HTTPException( status_code=429, - detail="We're glad you're enjoying Khoj! You've exceeded your usage limit for today. Come back tomorrow or subscribe to increase your usage limit via [your settings](https://app.khoj.dev/config).", + detail="We're glad you're enjoying Khoj! You've exceeded your usage limit for today. Come back tomorrow or subscribe to increase your usage limit via [your settings](https://app.khoj.dev/configure).", ) # Add the current request to the cache @@ -959,7 +959,7 @@ class ConversationCommandRateLimiter: if not subscribed and count_requests >= self.trial_rate_limit: raise HTTPException( status_code=429, - detail=f"We're glad you're enjoying Khoj! You've exceeded your `/{conversation_command.value}` command usage limit for today. Subscribe to increase your usage limit via [your settings](https://app.khoj.dev/config).", + detail=f"We're glad you're enjoying Khoj! You've exceeded your `/{conversation_command.value}` command usage limit for today. Subscribe to increase your usage limit via [your settings](https://app.khoj.dev/configure).", ) await UserRequests.objects.acreate(user=user, slug=command_slug) return diff --git a/src/khoj/routers/web_client.py b/src/khoj/routers/web_client.py index 33747dbf..da9e29c5 100644 --- a/src/khoj/routers/web_client.py +++ b/src/khoj/routers/web_client.py @@ -138,7 +138,7 @@ def agent_page(request: Request, agent_slug: str): return templates.TemplateResponse("agent.html", context=user_config) -@web_client.get("/config", response_class=HTMLResponse) +@web_client.get("/configure", response_class=HTMLResponse) @requires(["authenticated"], redirect="login_page") def config_page(request: Request): user: KhojUser = request.user.object @@ -147,7 +147,7 @@ def config_page(request: Request): return templates.TemplateResponse("config.html", context=user_config) -@web_client.get("/config/content-source/github", response_class=HTMLResponse) +@web_client.get("/configure/content/github", response_class=HTMLResponse) @requires(["authenticated"], redirect="login_page") def github_config_page(request: Request): user = request.user.object @@ -177,7 +177,7 @@ def github_config_page(request: Request): return templates.TemplateResponse("content_source_github_input.html", context=user_config) -@web_client.get("/config/content-source/notion", response_class=HTMLResponse) +@web_client.get("/configure/content/notion", response_class=HTMLResponse) @requires(["authenticated"], redirect="login_page") def notion_config_page(request: Request): user = request.user.object @@ -192,7 +192,7 @@ def notion_config_page(request: Request): return templates.TemplateResponse("content_source_notion_input.html", context=user_config) -@web_client.get("/config/content-source/computer", response_class=HTMLResponse) +@web_client.get("/configure/content/computer", response_class=HTMLResponse) @requires(["authenticated"], redirect="login_page") def computer_config_page(request: Request): user = request.user.object if request.user.is_authenticated else None