Skip to content

Commit ad5544e

Browse files
committed
Cleaned up formatting of the project settings
1 parent 620d796 commit ad5544e

File tree

4 files changed

+48
-77
lines changed

4 files changed

+48
-77
lines changed

src/Exceptionless.Web/ClientApp/src/routes/(app)/project/[projectId]/api-keys/+page.svelte

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -78,26 +78,16 @@
7878
</script>
7979

8080
<div class="space-y-6">
81-
<div>
82-
<H3>API Keys</H3>
83-
<Muted>Create and manage API keys for authenticating your applications with Exceptionless.</Muted>
81+
<div class="flex items-start justify-between">
82+
<div>
83+
<H3>API Keys</H3>
84+
<Muted>Create and manage API keys for authenticating your applications with Exceptionless.</Muted>
85+
</div>
86+
<Button variant="secondary" size="icon" onclick={addApiKey} title="Add API Key">
87+
<Plus class="size-4" />
88+
</Button>
8489
</div>
8590
<Separator />
8691

87-
<TokensDataTable bind:limit={tokensQueryParameters.limit!} isLoading={tokensQuery.isLoading} {table}>
88-
{#snippet footerChildren()}
89-
<div class="h-9 min-w-[140px]">
90-
<Button size="sm" onclick={addApiKey}>
91-
<Plus class="mr-2 size-4" />
92-
Add API Key</Button
93-
>
94-
</div>
95-
96-
<DataTable.PageSize bind:value={tokensQueryParameters.limit!} {table}></DataTable.PageSize>
97-
<div class="flex items-center space-x-6 lg:space-x-8">
98-
<DataTable.PageCount {table} />
99-
<DataTable.Pagination {table} />
100-
</div>
101-
{/snippet}
102-
</TokensDataTable>
92+
<TokensDataTable bind:limit={tokensQueryParameters.limit!} isLoading={tokensQuery.isLoading} {table} />
10393
</div>

src/Exceptionless.Web/ClientApp/src/routes/(app)/project/[projectId]/configuration-values/+page.svelte

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -74,31 +74,22 @@
7474
</script>
7575

7676
<div class="space-y-6">
77-
<div>
78-
<H3>Configuration Values</H3>
79-
<Muted
80-
>The <A href="https://exceptionless.com/docs/project-settings/#client-configuration" target="_blank">configuration value</A> will be sent to the Exceptionless
81-
clients in real time. This allows you to change how your app works without redeploying your app.</Muted
82-
>
77+
<div class="flex items-start justify-between">
78+
<div>
79+
<H3>Configuration Values</H3>
80+
<Muted
81+
>The <A href="https://exceptionless.com/docs/project-settings/#client-configuration" target="_blank">configuration value</A> will be sent to the
82+
Exceptionless clients in real time. This allows you to change how your app works without redeploying your app.</Muted
83+
>
84+
</div>
85+
86+
<Button variant="secondary" size="icon" onclick={() => (showAddProjectConfigDialog = true)} title="Add Configuration Value">
87+
<Plus class="size-4" />
88+
</Button>
8389
</div>
8490
<Separator />
8591

86-
<ProjectsConfigDataTable bind:limit={queryParams.limit!} isLoading={projectConfigQuery.isLoading} {table}>
87-
{#snippet footerChildren()}
88-
<div class="h-9 min-w-[140px]">
89-
<Button size="sm" onclick={() => (showAddProjectConfigDialog = true)}>
90-
<Plus class="mr-2 size-4" />
91-
Add Configuration Value</Button
92-
>
93-
</div>
94-
95-
<DataTable.PageSize bind:value={queryParams.limit!} {table}></DataTable.PageSize>
96-
<div class="flex items-center space-x-6 lg:space-x-8">
97-
<DataTable.PageCount {table} />
98-
<DataTable.Pagination {table} />
99-
</div>
100-
{/snippet}
101-
</ProjectsConfigDataTable>
92+
<ProjectsConfigDataTable bind:limit={queryParams.limit!} isLoading={projectConfigQuery.isLoading} {table} />
10293
</div>
10394

10495
{#if showAddProjectConfigDialog}

src/Exceptionless.Web/ClientApp/src/routes/(app)/project/[projectId]/integrations/+page.svelte

Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -176,9 +176,9 @@
176176

177177
<section class="space-y-2">
178178
<H4>Zapier</H4>
179-
<P
179+
<Muted
180180
>Exceptionless has a native Zapier integration. You can use Zapier to connect your Exceptionless account to over 3,000 other applications all
181-
without writing any code.</P
181+
without writing any code.</Muted
182182
>
183183

184184
<Button href="https://zapier.com/apps/exceptionless/integrations" target="_blank"><Zapier class="mr-2 size-4" /> Connect Zapier</Button>
@@ -187,9 +187,9 @@
187187
{#if isSlackEnabled}
188188
<section class="space-y-2">
189189
<H4>Slack</H4>
190-
<P
190+
<Muted
191191
>Integrate Exceptionless with Slack to receive real-time notifications about new errors, critical events, and system alerts directly in your
192-
team's Slack channels. Keep your team informed and respond faster to issues without constantly checking the dashboard.</P
192+
team's Slack channels. Keep your team informed and respond faster to issues without constantly checking the dashboard.</Muted
193193
>
194194

195195
<NotificationSettingsForm settings={slackNotificationSettingsQuery.data} save={updateSlackNotificationSettings} />
@@ -203,25 +203,18 @@
203203
{/if}
204204

205205
<section class="space-y-2">
206-
<H4>Webhooks</H4>
207-
<P>The following web hooks will be called for this project.</P>
208-
209-
<WebhooksDataTable bind:limit={webhooksQueryParameters.limit!} isLoading={webhooksQuery.isLoading} {table}>
210-
{#snippet footerChildren()}
211-
<div class="h-9 min-w-[140px]">
212-
<Button size="sm" onclick={() => (showAddWebhookDialog = true)}>
213-
<Plus class="mr-2 size-4" />
214-
Add Webhook</Button
215-
>
216-
</div>
217-
218-
<DataTable.PageSize bind:value={webhooksQueryParameters.limit!} {table}></DataTable.PageSize>
219-
<div class="flex items-center space-x-6 lg:space-x-8">
220-
<DataTable.PageCount {table} />
221-
<DataTable.Pagination {table} />
222-
</div>
223-
{/snippet}
224-
</WebhooksDataTable>
206+
<div class="flex items-start justify-between">
207+
<div>
208+
<H4>Webhooks</H4>
209+
<Muted>The following web hooks will be called for this project.</Muted>
210+
</div>
211+
212+
<Button variant="secondary" size="icon" onclick={() => (showAddWebhookDialog = true)} title="Add Webhook">
213+
<Plus class="size-4" />
214+
</Button>
215+
</div>
216+
217+
<WebhooksDataTable bind:limit={webhooksQueryParameters.limit!} isLoading={webhooksQuery.isLoading} {table} />
225218
</section>
226219
</div>
227220

src/Exceptionless.Web/ClientApp/src/routes/(app)/project/[projectId]/settings/+page.svelte

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,7 @@
6262
const settings = $derived(projectConfigQuery.data?.settings ?? {});
6363
6464
const dataExclusionsIsDirty = $derived(dataExclusions !== settings['@@DataExclusions']);
65-
const excludePrivateInformationIsDirty = $derived(
66-
excludePrivateInformation !== (settings['@@IncludePrivateInformation'] === 'false')
67-
);
65+
const excludePrivateInformationIsDirty = $derived(excludePrivateInformation !== (settings['@@IncludePrivateInformation'] === 'false'));
6866
const userNamespacesIsDirty = $derived(userNamespaces !== settings.UserNamespaces);
6967
const commonMethodsIsDirty = $derived(commonMethods !== settings.CommonMethods);
7068
const userAgentsIsDirty = $derived(userAgents !== (settings['@@UserAgentBotPatterns'] as string));
@@ -154,7 +152,6 @@
154152
155153
$effect(() => {
156154
if (projectConfigQuery.dataUpdatedAt) {
157-
158155
dataExclusions = settings['@@DataExclusions'] ?? '';
159156
excludePrivateInformation = settings['@@IncludePrivateInformation'] === 'false';
160157
userNamespaces = settings.UserNamespaces ?? '';
@@ -177,20 +174,20 @@
177174

178175
<section class="space-y-2">
179176
<H4>Default Log Level</H4>
180-
<P
177+
<Muted
181178
>The default log level controls the minimum log level that should be accepted for log events. Log levels can also be overridden at the log stack
182-
level.</P
179+
level.</Muted
183180
>
184181

185182
<ProjectLogLevel source="*" {projectId} />
186183
</section>
187184

188185
<section class="space-y-2">
189186
<H4>Data Exclusions</H4>
190-
<P
187+
<Muted
191188
>A comma delimited list of field names that should be removed from any error report data (e.g., extended data properties, form fields, cookies and
192189
query parameters). You can also specify a <A href="https://exceptionless.com/docs/security/" target="_blank">field name with wildcards (*)</A> to specify
193-
starts with, ends with, or contains just to be extra safe.</P
190+
starts with, ends with, or contains just to be extra safe.</Muted
194191
>
195192
<Input type="text" placeholder="Example: *Password*, CreditCard*, SSN" bind:value={dataExclusions} onchange={debouncedSaveDataExclusion} />
196193

@@ -207,18 +204,18 @@
207204
<div class="space-y-4">
208205
<div class="space-y-2">
209206
<Large>User Namespaces</Large>
210-
<P
207+
<Muted
211208
>A comma delimited list of the namespace names that your applications code belongs to. If this value is set, only methods inside of these
212-
namespaces will be considered as stacking targets.</P
209+
namespaces will be considered as stacking targets.</Muted
213210
>
214211
<Input type="text" placeholder="Example: Contoso" bind:value={userNamespaces} onchange={debouncedSaveUserNamespaces} />
215212
</div>
216213

217214
<div class="space-y-2">
218215
<Large>Common Methods</Large>
219-
<P
216+
<Muted
220217
>A comma delimited list of common method names that should not be used as stacking targets. This is useful when your code contains shared
221-
utility methods that throw a lot of errors.</P
218+
utility methods that throw a lot of errors.</Muted
222219
>
223220
<Input type="text" placeholder="Example: Assert, Writeline" bind:value={commonMethods} onchange={debouncedSaveCommonMethods} />
224221
</div>
@@ -227,7 +224,7 @@
227224

228225
<section class="space-y-2">
229226
<H4>Spam Detection</H4>
230-
<P>A comma delimited list of user agents that should be ignored.</P>
227+
<Muted>A comma delimited list of user agents that should be ignored.</Muted>
231228
<Input type="text" placeholder="Example: SpamBot" bind:value={userAgents} onchange={debouncedSaveUserAgents} />
232229

233230
<div class="flex items-center space-x-2 pt-1">

0 commit comments

Comments
 (0)