Skip to content

Commit 4dc005c

Browse files
authored
Merge pull request #33 from operacle/develop
Add SMTP password field in Mail Settings and Fix: Ensure Add Service dialog respects theme
2 parents 4ec0c7a + 4ef84b5 commit 4dc005c

File tree

15 files changed

+80
-55
lines changed

15 files changed

+80
-55
lines changed

application/src/components/services/AddServiceDialog.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ export function AddServiceDialog({ open, onOpenChange }: AddServiceDialogProps)
2525

2626
return (
2727
<Dialog open={open} onOpenChange={onOpenChange}>
28-
<DialogContent className="bg-black text-white border-gray-800 sm:max-w-[500px] max-h-[90vh] flex flex-col">
28+
<DialogContent className="sm:max-w-[500px] max-h-[90vh] flex flex-col">
2929
<DialogHeader>
3030
<DialogTitle className="text-xl">Create New Service</DialogTitle>
31-
<DialogDescription className="text-gray-400">
31+
<DialogDescription>
3232
Fill in the details to create a new service to monitor.
3333
</DialogDescription>
3434
</DialogHeader>
@@ -40,4 +40,4 @@ export function AddServiceDialog({ open, onOpenChange }: AddServiceDialogProps)
4040
</DialogContent>
4141
</Dialog>
4242
);
43-
}
43+
}

application/src/components/services/ServiceEditDialog.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@ export function ServiceEditDialog({ open, onOpenChange, service }: ServiceEditDi
5151
onOpenChange(newOpen);
5252
}
5353
}}>
54-
<DialogContent className="bg-black text-white border-gray-800 sm:max-w-[500px] max-h-[90vh] flex flex-col">
54+
<DialogContent className="sm:max-w-[500px] max-h-[90vh] flex flex-col">
5555
<DialogHeader>
5656
<DialogTitle className="text-xl">Edit Service</DialogTitle>
57-
<DialogDescription className="text-gray-400">
57+
<DialogDescription>
5858
Update the details of your monitored service.
5959
</DialogDescription>
6060
</DialogHeader>
@@ -74,4 +74,4 @@ export function ServiceEditDialog({ open, onOpenChange, service }: ServiceEditDi
7474
</DialogContent>
7575
</Dialog>
7676
);
77-
}
77+
}

application/src/components/services/add-service/ServiceBasicFields.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ export function ServiceBasicFields({ form }: ServiceBasicFieldsProps) {
2020
<FormControl>
2121
<Input
2222
placeholder="Service Name"
23-
className="bg-black border-gray-700"
2423
{...field}
2524
/>
2625
</FormControl>
@@ -38,7 +37,6 @@ export function ServiceBasicFields({ form }: ServiceBasicFieldsProps) {
3837
<FormControl>
3938
<Input
4039
placeholder="https://example.com"
41-
className="bg-black border-gray-700"
4240
{...field}
4341
onChange={(e) => {
4442
console.log("URL field changed:", e.target.value);
@@ -52,4 +50,4 @@ export function ServiceBasicFields({ form }: ServiceBasicFieldsProps) {
5250
/>
5351
</>
5452
);
55-
}
53+
}

application/src/components/services/add-service/ServiceConfigFields.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ export function ServiceConfigFields({ form }: ServiceConfigFieldsProps) {
2121
<Input
2222
type="number"
2323
placeholder="60"
24-
className="bg-black border-gray-700"
2524
{...field}
2625
/>
2726
</FormControl>
@@ -39,7 +38,6 @@ export function ServiceConfigFields({ form }: ServiceConfigFieldsProps) {
3938
<Input
4039
type="number"
4140
placeholder="3"
42-
className="bg-black border-gray-700"
4341
{...field}
4442
/>
4543
</FormControl>
@@ -48,4 +46,4 @@ export function ServiceConfigFields({ form }: ServiceConfigFieldsProps) {
4846
/>
4947
</>
5048
);
51-
}
49+
}

application/src/components/services/add-service/ServiceFormActions.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,12 @@ export function ServiceFormActions({
2828
onClick={handleCancel}
2929
variant="outline"
3030
disabled={isSubmitting}
31-
className="border-gray-700 text-gray-300 hover:bg-gray-800 hover:text-white"
3231
>
3332
Cancel
3433
</Button>
3534
<Button
3635
type="submit"
3736
disabled={isSubmitting}
38-
className="bg-primary text-primary-foreground hover:bg-primary/90"
3937
>
4038
{isSubmitting ? (
4139
<>
@@ -48,4 +46,4 @@ export function ServiceFormActions({
4846
</Button>
4947
</div>
5048
);
51-
}
49+
}

application/src/components/services/add-service/ServiceNotificationFields.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,10 @@ export function ServiceNotificationFields({ form }: ServiceNotificationFieldsPro
8282
}}
8383
value={displayValue}
8484
>
85-
<SelectTrigger className="bg-black border-gray-700">
85+
<SelectTrigger>
8686
<SelectValue placeholder="Select a notification channel" />
8787
</SelectTrigger>
88-
<SelectContent className="bg-gray-900 text-white border-gray-700">
88+
<SelectContent>
8989
<SelectItem value="none">None</SelectItem>
9090
{alertConfigs.map((config) => (
9191
<SelectItem key={config.id} value={config.id || ""}>
@@ -119,10 +119,10 @@ export function ServiceNotificationFields({ form }: ServiceNotificationFieldsPro
119119
}}
120120
value={displayValue}
121121
>
122-
<SelectTrigger className="bg-black border-gray-700">
122+
<SelectTrigger>
123123
<SelectValue placeholder="Select an alert template" />
124124
</SelectTrigger>
125-
<SelectContent className="bg-gray-900 text-white border-gray-700">
125+
<SelectContent>
126126
<SelectItem value="default">Default</SelectItem>
127127
{templates?.map((template) => (
128128
<SelectItem key={template.id} value={template.id}>

application/src/components/services/add-service/ServiceTypeField.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export function ServiceTypeField({ form }: ServiceTypeFieldProps) {
2222
onValueChange={field.onChange}
2323
defaultValue={field.value}
2424
>
25-
<SelectTrigger className="bg-black border-gray-700">
25+
<SelectTrigger>
2626
<SelectValue>
2727
{field.value === "http" && (
2828
<div className="flex items-center gap-2">
@@ -33,14 +33,14 @@ export function ServiceTypeField({ form }: ServiceTypeFieldProps) {
3333
{field.value !== "http" && "Select a service type"}
3434
</SelectValue>
3535
</SelectTrigger>
36-
<SelectContent className="bg-gray-900 text-white border-gray-700">
36+
<SelectContent>
3737
<SelectItem value="http">
3838
<div className="flex flex-col">
3939
<div className="flex items-center gap-2">
4040
<Globe className="w-4 h-4" />
4141
<span>HTTP/S</span>
4242
</div>
43-
<p className="text-xs text-gray-400 mt-1">
43+
<p className="text-xs text-muted-foreground mt-1">
4444
Monitor websites and REST APIs with HTTP/HTTPS protocol
4545
</p>
4646
</div>
@@ -55,4 +55,4 @@ export function ServiceTypeField({ form }: ServiceTypeFieldProps) {
5555
)}
5656
/>
5757
);
58-
}
58+
}

application/src/components/services/service-row/ServiceRowActions.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -112,10 +112,10 @@ export const ServiceRowActions = ({
112112
</DropdownMenuTrigger>
113113
<DropdownMenuContent
114114
align="end"
115-
className="w-48 bg-gray-900 border border-gray-800 text-white"
115+
className="w-48"
116116
>
117117
<DropdownMenuItem
118-
className="flex items-center gap-2 cursor-pointer hover:bg-gray-800 focus:bg-gray-800 text-base py-2.5"
118+
className="flex items-center gap-2 cursor-pointer text-base py-2.5"
119119
onClick={(e) => {
120120
e.stopPropagation();
121121
onViewDetail(service);
@@ -125,7 +125,7 @@ export const ServiceRowActions = ({
125125
<span>View Detail</span>
126126
</DropdownMenuItem>
127127
<DropdownMenuItem
128-
className="flex items-center gap-2 cursor-pointer hover:bg-gray-800 focus:bg-gray-800 text-base py-2.5"
128+
className="flex items-center gap-2 cursor-pointer text-base py-2.5"
129129
onClick={handlePauseResume}
130130
>
131131
{service.status === "paused" ? (
@@ -141,7 +141,7 @@ export const ServiceRowActions = ({
141141
)}
142142
</DropdownMenuItem>
143143
<DropdownMenuItem
144-
className="flex items-center gap-2 cursor-pointer hover:bg-gray-800 focus:bg-gray-800 text-base py-2.5"
144+
className="flex items-center gap-2 cursor-pointer text-base py-2.5"
145145
onClick={(e) => {
146146
e.stopPropagation();
147147
onEdit(service);
@@ -151,7 +151,7 @@ export const ServiceRowActions = ({
151151
<span>Edit</span>
152152
</DropdownMenuItem>
153153
<DropdownMenuItem
154-
className="flex items-center gap-2 cursor-pointer hover:bg-gray-800 focus:bg-gray-800 text-base py-2.5"
154+
className="flex items-center gap-2 cursor-pointer text-base py-2.5"
155155
onClick={handleMuteAlerts}
156156
>
157157
{alertsMuted ? (
@@ -166,9 +166,9 @@ export const ServiceRowActions = ({
166166
</>
167167
)}
168168
</DropdownMenuItem>
169-
<DropdownMenuSeparator className="bg-gray-700" />
169+
<DropdownMenuSeparator />
170170
<DropdownMenuItem
171-
className="flex items-center gap-2 text-red-500 cursor-pointer hover:bg-gray-800 focus:bg-gray-800 text-base py-2.5"
171+
className="flex items-center gap-2 text-destructive cursor-pointer text-base py-2.5"
172172
onClick={(e) => {
173173
e.stopPropagation();
174174
onDelete(service);
@@ -181,4 +181,4 @@ export const ServiceRowActions = ({
181181
</DropdownMenu>
182182
</div>
183183
);
184-
};
184+
};

application/src/components/settings/general/GeneralSettingsPanel.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ const GeneralSettingsPanel: React.FC<GeneralSettingsPanelProps> = () => {
4747
port: 587,
4848
host: '',
4949
username: '',
50+
password: '',
5051
authMethod: '',
5152
tls: true,
5253
localName: ''
@@ -73,6 +74,7 @@ const GeneralSettingsPanel: React.FC<GeneralSettingsPanelProps> = () => {
7374
port: 587,
7475
host: '',
7576
username: '',
77+
password: '',
7678
authMethod: '',
7779
tls: true,
7880
localName: ''
@@ -131,6 +133,7 @@ const GeneralSettingsPanel: React.FC<GeneralSettingsPanelProps> = () => {
131133
port: 587,
132134
host: '',
133135
username: '',
136+
password: '',
134137
authMethod: '',
135138
tls: true,
136139
localName: ''

application/src/components/settings/general/MailSettingsTab.tsx

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,26 @@ const MailSettingsTab: React.FC<MailSettingsTabProps> = ({
140140
/>
141141
</div>
142142

143+
<div className="mt-4">
144+
<FormField
145+
control={form.control}
146+
name="smtp.password"
147+
render={({ field }) => (
148+
<FormItem>
149+
<FormLabel>{t("smtpPassword", "settings")}</FormLabel>
150+
<FormControl>
151+
<Input
152+
{...field}
153+
type="password"
154+
disabled={!isEditing || !form.watch('smtp.enabled')}
155+
placeholder="••••••••"
156+
/>
157+
</FormControl>
158+
</FormItem>
159+
)}
160+
/>
161+
</div>
162+
143163
<div className="mt-4">
144164
<FormField
145165
control={form.control}

0 commit comments

Comments
 (0)