import { Label } from "@sveltestrap/sveltestrap";
- import type { GuildChannelConfig } from "$lib/api";
import type { PageData } from "./$types";
import ChannelSelect from "./ChannelSelect.svelte";
export let data: PageData;
- $: channels = data.guild.config as GuildChannelConfig;
+ $: channels = data.guild.channels;
Log channels
diff --git a/Catalogger.Frontend/src/routes/dash/[guildId]/RoleSelect.svelte b/Catalogger.Frontend/src/routes/dash/[guildId]/RoleSelect.svelte
new file mode 100644
index 0000000..3dfc5c9
--- /dev/null
+++ b/Catalogger.Frontend/src/routes/dash/[guildId]/RoleSelect.svelte
@@ -0,0 +1,18 @@
+
+
+
diff --git a/Catalogger.Frontend/src/routes/dash/[guildId]/ignored-channels/+page.svelte b/Catalogger.Frontend/src/routes/dash/[guildId]/ignored-channels/+page.svelte
deleted file mode 100644
index 7764287..0000000
--- a/Catalogger.Frontend/src/routes/dash/[guildId]/ignored-channels/+page.svelte
+++ /dev/null
@@ -1,114 +0,0 @@
-
-
-Ignored channels
-
-
- Messages from ignored channels will not be logged. Changes to ignored channels
- will also not be logged, but note that ignored channels being deleted
- (or new channels being created in an ignored category) will still be logged.
-
-
-
- Ignore a new channel
-
-
-
-
- addIgnore()} disabled={!toIgnore}>
- Ignore channel
-
-
-
-
-
Currently ignored channels
-
-
-
- {#each ignored as id}
-
- {channelName(id)}
- removeIgnore(id)}>
- Stop ignoring
-
-
- {/each}
-
diff --git a/Catalogger.Frontend/src/routes/dash/[guildId]/ignored-messages/+page.svelte b/Catalogger.Frontend/src/routes/dash/[guildId]/ignored-messages/+page.svelte
new file mode 100644
index 0000000..8704e8a
--- /dev/null
+++ b/Catalogger.Frontend/src/routes/dash/[guildId]/ignored-messages/+page.svelte
@@ -0,0 +1,320 @@
+
+
+Ignored messages
+
+Here you can select which channels and roles to ignore messages from.
+
+How it works
+
+Messages will be ignored if:
+
+
+ They are posted in a channel that is listed here
+
+ They are posted in a channel in a category that is listed here
+
+ They are posted in a thread that's in a channel that is listed here
+
+ They are posted by a person with at least one role that is listed here
+
+ They are posted by a user that is listed here
+
+
+
+ Additionally, messages from ignored users are also ignored.
+
+
+Channels
+
+
+
+
+
+
+ addChannelIgnore()}
+ disabled={!channelToIgnore}
+ >
+ Ignore messages from this channel
+
+
+
+
+ {#each ignoredChannels as id}
+ removeChannelIgnore(id)}
+ buttonText="Stop ignoring"
+ >
+ {channelName(id)}
+
+ {/each}
+
+
+Roles
+
+
+
+
+
+
+ addRoleIgnore()}
+ disabled={!roleToIgnore}
+ >
+ Ignore messages from this role
+
+
+
+
+ {#each ignoredRoles as id}
+ removeRoleIgnore(id)}
+ buttonText="Stop ignoring"
+ />
+ {/each}
+
+
+Users
+
+
+
+ {#if userToIgnore && !userIdRegex.test(userToIgnore)}
+
+ If you're not ignoring a member of your server, you need to give a
+ user ID , not their username.
+
+ {/if}
+
+
+
+ addUserIgnore()}
+ disabled={!userToIgnore || !userIdRegex.test(userToIgnore)}
+ >
+ Ignore user
+
+
+
+
+ {#each data.users as user (user.id)}
+ removeUserIgnore(user.id)}
+ buttonText="Stop ignoring"
+ >
+ {user.tag} (ID: {user.id})
+
+ {/each}
+
diff --git a/Catalogger.Frontend/src/routes/dash/[guildId]/ignored-users/+page.ts b/Catalogger.Frontend/src/routes/dash/[guildId]/ignored-messages/+page.ts
similarity index 100%
rename from Catalogger.Frontend/src/routes/dash/[guildId]/ignored-users/+page.ts
rename to Catalogger.Frontend/src/routes/dash/[guildId]/ignored-messages/+page.ts
diff --git a/Catalogger.Frontend/src/routes/dash/[guildId]/ignored-users/+page.svelte b/Catalogger.Frontend/src/routes/dash/[guildId]/ignored-users/+page.svelte
deleted file mode 100644
index 544d73b..0000000
--- a/Catalogger.Frontend/src/routes/dash/[guildId]/ignored-users/+page.svelte
+++ /dev/null
@@ -1,119 +0,0 @@
-
-
-Ignored users
-
-Messages from ignored users will not be logged.
-
-
-
Ignore a new user
-
- {#if toIgnore && !idRegex.test(toIgnore)}
-
- If you're not ignoring a member of your server, you need to give a
- user ID , not their username.
-
- {/if}
-
-
-
- addIgnore()}
- disabled={!toIgnore || !idRegex.test(toIgnore)}
- >
- Ignore user
-
-
-
-Currently ignored users
-
-
- {#each data.users as user (user.id)}
-
- {user.tag} (ID: {user.id})
- removeIgnore(user.id)}>
- Stop ignoring
-
-
- {/each}
-
diff --git a/Catalogger.Frontend/src/routes/dash/[guildId]/import/+page.svelte b/Catalogger.Frontend/src/routes/dash/[guildId]/import/+page.svelte
index 7a8fccb..4c32d95 100644
--- a/Catalogger.Frontend/src/routes/dash/[guildId]/import/+page.svelte
+++ b/Catalogger.Frontend/src/routes/dash/[guildId]/import/+page.svelte
@@ -1,5 +1,5 @@
Key roles
@@ -95,14 +93,8 @@
Current key roles
- {#each keyRoles as r (r.id)}
-
-
- ●
- {r.name}
-
- removeRole(r.id)}>Remove
-
+ {#each keyRoles as role (role.id)}
+ removeRole(role.id)} />
{/each}
diff --git a/Catalogger.Frontend/src/routes/dash/[guildId]/redirects/+page.svelte b/Catalogger.Frontend/src/routes/dash/[guildId]/redirects/+page.svelte
index bfff7cd..8e77ec5 100644
--- a/Catalogger.Frontend/src/routes/dash/[guildId]/redirects/+page.svelte
+++ b/Catalogger.Frontend/src/routes/dash/[guildId]/redirects/+page.svelte
@@ -11,10 +11,11 @@
import { fastFetch } from "$lib/api";
import { addToast } from "$lib/toast";
import { makeFullOptions } from "$lib/util";
+ import RemovableListItem from "$lib/components/RemovableListItem.svelte";
export let data: PageData;
- $: redirects = data.guild.config.redirects;
+ $: redirects = data.guild.channels.redirects;
$: allChannels = [
...data.guild.channels_without_category.map((c) => ({
@@ -51,7 +52,7 @@
target,
});
- data.guild.config.redirects[source] = target;
+ data.guild.channels.redirects[source] = target;
addToast({ body: "Successfully added redirect." });
} catch (e) {
@@ -67,8 +68,8 @@
try {
await fastFetch("DELETE", `/api/guilds/${data.guild.id}/redirects/${id}`);
- delete data.guild.config.redirects[id];
- data.guild.config.redirects = data.guild.config.redirects;
+ delete data.guild.channels.redirects[id];
+ data.guild.channels.redirects = data.guild.channels.redirects;
addToast({ body: "Successfully removed redirect." });
} catch (e) {
@@ -108,16 +109,12 @@
{#each Object.keys(redirects) as redirectSource}
-
- {channelName(redirectSource)} ➜ {channelName(
- redirects[redirectSource],
- )}
- removeRedirect(redirectSource)}>
- Remove redirect
-
-
+ removeRedirect(redirectSource)}
+ buttonText="Remove redirect"
+ >
+ {channelName(redirectSource)} ➜ {channelName(redirects[redirectSource])}
+
{/each}
{:else}
diff --git a/Catalogger.Frontend/yarn.lock b/Catalogger.Frontend/yarn.lock
index 4ede98d..ded308d 100644
--- a/Catalogger.Frontend/yarn.lock
+++ b/Catalogger.Frontend/yarn.lock
@@ -696,8 +696,8 @@ __metadata:
linkType: hard
"@sveltejs/kit@npm:^2.0.0":
- version: 2.8.0
- resolution: "@sveltejs/kit@npm:2.8.0"
+ version: 2.8.1
+ resolution: "@sveltejs/kit@npm:2.8.1"
dependencies:
"@types/cookie": "npm:^0.6.0"
cookie: "npm:^0.6.0"
@@ -717,7 +717,7 @@ __metadata:
vite: ^5.0.3
bin:
svelte-kit: svelte-kit.js
- checksum: 10c0/f4fdad81bf5f8f645eed21ffd7015b14c76481b4df054f7dc16ab6bb6a32dc0c9fd28790a7da3e3e3a0b9860e6405cbd082df8cc689694f09bef30659c47cc23
+ checksum: 10c0/531cf8fdff0e039f51ad3e9aa288acea5fd9eb03b3189fda68dc45e7ac12a288f6a1792aace9c9fec3979475b5e487eb3af4b6160ad23c5bea1f503b89da5cd2
languageName: node
linkType: hard
@@ -734,7 +734,7 @@ __metadata:
languageName: node
linkType: hard
-"@sveltejs/vite-plugin-svelte@npm:3":
+"@sveltejs/vite-plugin-svelte@npm:^3.0.0":
version: 3.1.2
resolution: "@sveltejs/vite-plugin-svelte@npm:3.1.2"
dependencies:
@@ -1117,7 +1117,7 @@ __metadata:
dependencies:
"@sveltejs/adapter-static": "npm:^3.0.5"
"@sveltejs/kit": "npm:^2.0.0"
- "@sveltejs/vite-plugin-svelte": "npm:3"
+ "@sveltejs/vite-plugin-svelte": "npm:^3.0.0"
"@sveltestrap/sveltestrap": "npm:^6.2.7"
"@types/eslint": "npm:^9.6.0"
"@types/file-saver": "npm:^2.0.7"
@@ -1135,7 +1135,7 @@ __metadata:
sass: "npm:^1.80.1"
snarkdown: "npm:^2.0.0"
svelecte: "npm:^4.3.1"
- svelte: "npm:4"
+ svelte: "npm:^4.2.7"
svelte-check: "npm:^4.0.0"
typescript: "npm:^5.0.0"
typescript-eslint: "npm:^8.0.0"
@@ -3124,7 +3124,7 @@ __metadata:
languageName: node
linkType: hard
-"svelte@npm:4":
+"svelte@npm:^4.2.7":
version: 4.2.19
resolution: "svelte@npm:4.2.19"
dependencies: