这是indexloc提供的服务,不要输入任何密码
Skip to content
Merged
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
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ export default function SlashPresets({ setShowing, sendCommand }) {
e.stopPropagation();
handleEditPreset(preset);
}}
className="text-theme-text-primary text-sm p-1 hover:cursor-pointer hover:bg-theme-action-menu-item-hover rounded-full mt-1"
className="border-none text-theme-text-primary text-sm p-1 hover:cursor-pointer hover:bg-theme-action-menu-item-hover rounded-full mt-1"
>
<DotsThree size={24} weight="bold" />
</button>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ export default function UserItems({ connectionKey }) {
const { createdByMe = {}, teamItems = [] } = userItems || {};

if (loading) return <HubItemCardSkeleton />;
const hasItems = (items) => {
return Object.values(items).some((category) => category?.items?.length > 0);
};

return (
<div className="flex flex-col gap-y-8">
{/* Created By Me Section */}
Expand Down Expand Up @@ -46,6 +50,11 @@ export default function UserItems({ connectionKey }) {
</div>
);
})}
{!hasItems(createdByMe) && (
<p className="text-white/60 text-xs text-center mt-4">
You haven&apos;t created any items yet.
</p>
)}
</div>
</div>

Expand All @@ -66,7 +75,7 @@ export default function UserItems({ connectionKey }) {
{team.teamName}
</h3>
{Object.keys(team.items).map((type) => {
if (team.items[type].items.length === 0) return null;
if (!team.items[type]?.items?.length) return null;
return (
<div key={type} className="rounded-lg w-full">
<h3 className="text-white capitalize font-medium mb-3">
Expand All @@ -80,6 +89,11 @@ export default function UserItems({ connectionKey }) {
</div>
);
})}
{!hasItems(team.items) && (
<p className="text-white/60 text-xs text-center mt-4">
No items shared with this team yet.
</p>
)}
</div>
))}
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,26 @@ function useCommunityHubAuthentication() {
}
}

async function disconnectHub() {
setLoading(true);
try {
const response = await CommunityHub.updateSettings({
hub_api_key: "",
});
if (!response.success)
return showToast("Failed to disconnect from hub", "error");
setHasChanges(false);
showToast("Disconnected from AnythingLLM Community Hub", "success");
setOriginalConnectionKey("");
setConnectionKey("");
} catch (error) {
console.error(error);
showToast("Failed to disconnect from hub", "error");
} finally {
setLoading(false);
}
}

useEffect(() => {
const fetchData = async () => {
setLoading(true);
Expand All @@ -70,6 +90,7 @@ function useCommunityHubAuthentication() {
updateConnectionKey,
hasChanges,
resetChanges,
disconnectHub,
};
}

Expand All @@ -82,6 +103,7 @@ export default function CommunityHubAuthentication() {
updateConnectionKey,
hasChanges,
resetChanges,
disconnectHub,
} = useCommunityHubAuthentication();
if (loading) return <FullScreenLoader />;
return (
Expand Down Expand Up @@ -149,16 +171,26 @@ export default function CommunityHubAuthentication() {
className="border-none bg-theme-settings-input-bg text-theme-text-primary placeholder:text-theme-settings-input-placeholder text-sm rounded-lg focus:outline-primary-button active:outline-primary-button outline-none block w-full p-2.5"
placeholder="Enter your AnythingLLM Hub API key"
/>
<p className="text-theme-text-secondary text-xs mt-2">
You can get your API key from your{" "}
<a
href={paths.communityHub.profile()}
className="underline text-primary-button"
>
AnythingLLM Community Hub profile page
</a>
.
</p>
<div className="flex items-center justify-between mt-2">
<p className="text-theme-text-secondary text-xs">
You can get your API key from your{" "}
<a
href={paths.communityHub.profile()}
className="underline text-primary-button"
>
AnythingLLM Community Hub profile page
</a>
.
</p>
{!!originalConnectionKey && (
<button
onClick={disconnectHub}
className="text-red-500 hover:text-red-600 text-sm font-medium transition-colors duration-200"
>
Disconnect
</button>
)}
</div>
</div>
</div>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ function FileReview({ item }) {
<div className="flex justify-between items-center">
<button
type="button"
className={`bg-black/70 light:bg-slate-200 rounded-md p-1 text-white/60 light:text-theme-text-secondary text-xs font-mono ${
className={`border-none bg-black/70 light:bg-slate-200 rounded-md p-1 text-white/60 light:text-theme-text-secondary text-xs font-mono ${
index === 0 ? "opacity-50 cursor-not-allowed" : ""
}`}
onClick={handlePrevious}
Expand All @@ -162,7 +162,7 @@ function FileReview({ item }) {
</p>
<button
type="button"
className={`bg-black/70 light:bg-slate-200 rounded-md p-1 text-white/60 light:text-theme-text-secondary text-xs font-mono ${
className={`border-none bg-black/70 light:bg-slate-200 rounded-md p-1 text-white/60 light:text-theme-text-secondary text-xs font-mono ${
index === files.length - 1 ? "opacity-50 cursor-not-allowed" : ""
}`}
onClick={handleNext}
Expand All @@ -171,11 +171,15 @@ function FileReview({ item }) {
</button>
</div>
<span
className="whitespace-pre-line flex flex-col gap-y-1 text-sm leading-[20px] max-h-[500px] overflow-y-auto hljs"
className="whitespace-pre-line flex flex-col gap-y-1 text-sm leading-[20px] max-h-[500px] overflow-y-auto hljs text-theme-text-primary"
dangerouslySetInnerHTML={{
__html: DOMPurify.sanitize(
renderMarkdown(
`\`\`\`${fileMarkup(file)}\n${file.content}\n\`\`\``
`\`\`\`${fileMarkup(file)}\n${
fileMarkup(file) === "markdown"
? file.content.replace(/```/g, "~~~") // Escape triple backticks in markdown
: file.content
}\n\`\`\``
)
),
}}
Expand Down