diff --git a/src-ui/assets/external_link.svg b/src-ui/assets/external_link.svg
new file mode 100644
index 00000000..70a71891
--- /dev/null
+++ b/src-ui/assets/external_link.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src-ui/windows/config_window/setting_section/setting_box/Appearance/Appearance.jsx b/src-ui/windows/config_window/setting_section/setting_box/Appearance/Appearance.jsx
index 2a0c6678..dc8ee21a 100644
--- a/src-ui/windows/config_window/setting_section/setting_box/Appearance/Appearance.jsx
+++ b/src-ui/windows/config_window/setting_section/setting_box/Appearance/Appearance.jsx
@@ -11,6 +11,7 @@ export const Appearance = () => {
EntryContainer,
ThresholdContainer,
RadioButtonContainer,
+ DeeplAuthKeyContainer,
} = useSettingBox();
const selectFunction = (selected_data) => {
@@ -35,9 +36,11 @@ export const Appearance = () => {
-
+
+
+
>
);
};
\ No newline at end of file
diff --git a/src-ui/windows/config_window/setting_section/setting_box/appearance/Appearance.jsx b/src-ui/windows/config_window/setting_section/setting_box/appearance/Appearance.jsx
index 2a0c6678..dc8ee21a 100644
--- a/src-ui/windows/config_window/setting_section/setting_box/appearance/Appearance.jsx
+++ b/src-ui/windows/config_window/setting_section/setting_box/appearance/Appearance.jsx
@@ -11,6 +11,7 @@ export const Appearance = () => {
EntryContainer,
ThresholdContainer,
RadioButtonContainer,
+ DeeplAuthKeyContainer,
} = useSettingBox();
const selectFunction = (selected_data) => {
@@ -35,9 +36,11 @@ export const Appearance = () => {
-
+
+
+
>
);
};
\ No newline at end of file
diff --git a/src-ui/windows/config_window/setting_section/setting_box/components/_atoms/_Entry.jsx b/src-ui/windows/config_window/setting_section/setting_box/components/_atoms/_Entry.jsx
new file mode 100644
index 00000000..5a5a3f6f
--- /dev/null
+++ b/src-ui/windows/config_window/setting_section/setting_box/components/_atoms/_Entry.jsx
@@ -0,0 +1,28 @@
+import React, { useState } from "react";
+import styles from "./_Entry.module.scss";
+
+export const _Entry = ({ width, onChange, initialValue = "" }) => {
+ const [input_value, setInputValue] = useState(initialValue);
+
+ const onChangeFunction = (e) => {
+ setInputValue(e.currentTarget.value);
+ if (onChange) {
+ onChange(e);
+ }
+ };
+
+ return (
+
+ );
+};
diff --git a/src-ui/windows/config_window/setting_section/setting_box/components/_atoms/_Entry.module.scss b/src-ui/windows/config_window/setting_section/setting_box/components/_atoms/_Entry.module.scss
new file mode 100644
index 00000000..9ffa70c2
--- /dev/null
+++ b/src-ui/windows/config_window/setting_section/setting_box/components/_atoms/_Entry.module.scss
@@ -0,0 +1,15 @@
+.entry_wrapper {
+ width: 10rem;
+ height: 100%;
+ padding: 0.6rem;
+ background-color: var(--dark_875_color);
+ border: 0.1rem solid var(--dark_750_color);
+ border-radius: 0.4rem;
+}
+
+.entry_input_area {
+ width: 100%;
+ height: 100%;
+ font-size: 1.4rem;
+ resize: none;
+}
\ No newline at end of file
diff --git a/src-ui/windows/config_window/setting_section/setting_box/components/deepl_auth_key/DeeplAuthKey.jsx b/src-ui/windows/config_window/setting_section/setting_box/components/deepl_auth_key/DeeplAuthKey.jsx
new file mode 100644
index 00000000..7b781178
--- /dev/null
+++ b/src-ui/windows/config_window/setting_section/setting_box/components/deepl_auth_key/DeeplAuthKey.jsx
@@ -0,0 +1,18 @@
+import styles from "./DeeplAuthKey.module.scss";
+
+import clsx from "clsx";
+import ExternalLink from "@images/external_link.svg?react";
+import { _Entry } from "../_atoms/_Entry";
+
+export const DeeplAuthKey = () => {
+
+ return (
+
+ <_Entry width="34rem"/>
+
+
Open DeepL Account Webpage
+
+
+
+ );
+};
\ No newline at end of file
diff --git a/src-ui/windows/config_window/setting_section/setting_box/components/deepl_auth_key/DeeplAuthKey.module.scss b/src-ui/windows/config_window/setting_section/setting_box/components/deepl_auth_key/DeeplAuthKey.module.scss
new file mode 100644
index 00000000..6980d6f4
--- /dev/null
+++ b/src-ui/windows/config_window/setting_section/setting_box/components/deepl_auth_key/DeeplAuthKey.module.scss
@@ -0,0 +1,33 @@
+.container {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ gap: 1rem;
+}
+
+.open_webpage_button {
+ padding: 0.6rem 1.2rem;
+ display: flex;
+ gap: 1rem;
+ justify-content: center;
+ align-items: center;
+ border-radius: 0.4rem;
+ cursor: pointer;
+ &:hover {
+ background-color: var(--dark_825_color);
+ }
+ &:active {
+ background-color: var(--dark_900_color);
+ }
+}
+
+.open_webpage_text {
+ font-size: 1.4rem;
+ color: var(--dark_basic_text_color);
+}
+
+.external_link_svg {
+ color: var(--dark_500_color);
+ width: 1.8rem;
+}
\ No newline at end of file
diff --git a/src-ui/windows/config_window/setting_section/setting_box/components/entry/Entry.jsx b/src-ui/windows/config_window/setting_section/setting_box/components/entry/Entry.jsx
index b8ce35f0..45cfffea 100644
--- a/src-ui/windows/config_window/setting_section/setting_box/components/entry/Entry.jsx
+++ b/src-ui/windows/config_window/setting_section/setting_box/components/entry/Entry.jsx
@@ -1,22 +1,15 @@
-import { useState } from "react";
import styles from "./Entry.module.scss";
+import { _Entry } from "../_atoms/_Entry";
-export const Entry = (props) => {
- const [input_value, setInputValue] = useState();
+export const Entry = ({width}) => {
- const onChangeFunction = (e) => {
- setInputValue(e.currentTarget.value);
+ const handleInputChange = (e) => {
+ console.log(e.currentTarget.value);
};
-
return (
-
-
-
+ <_Entry width={width} onChange={handleInputChange} initialValue="" />
);
-};
+};
\ No newline at end of file
diff --git a/src-ui/windows/config_window/setting_section/setting_box/components/entry/Entry.module.scss b/src-ui/windows/config_window/setting_section/setting_box/components/entry/Entry.module.scss
index 9ffa70c2..e69de29b 100644
--- a/src-ui/windows/config_window/setting_section/setting_box/components/entry/Entry.module.scss
+++ b/src-ui/windows/config_window/setting_section/setting_box/components/entry/Entry.module.scss
@@ -1,15 +0,0 @@
-.entry_wrapper {
- width: 10rem;
- height: 100%;
- padding: 0.6rem;
- background-color: var(--dark_875_color);
- border: 0.1rem solid var(--dark_750_color);
- border-radius: 0.4rem;
-}
-
-.entry_input_area {
- width: 100%;
- height: 100%;
- font-size: 1.4rem;
- resize: none;
-}
\ No newline at end of file
diff --git a/src-ui/windows/config_window/setting_section/setting_box/components/useSettingBox.jsx b/src-ui/windows/config_window/setting_section/setting_box/components/useSettingBox.jsx
index 218ced2f..e5adcc35 100644
--- a/src-ui/windows/config_window/setting_section/setting_box/components/useSettingBox.jsx
+++ b/src-ui/windows/config_window/setting_section/setting_box/components/useSettingBox.jsx
@@ -9,6 +9,7 @@ import { Switchbox } from "./switchbox/Switchbox";
import { Entry } from "./entry/Entry";
import { ThresholdComponent } from "./threshold_component/ThresholdComponent";
import { RadioButton } from "./radio_button/RadioButton";
+import { DeeplAuthKey } from "./deepl_auth_key/DeeplAuthKey";
export const useSettingBox = () => {
const { updateIsOpenedDropdownMenu } = useIsOpenedDropdownMenu();
@@ -85,6 +86,15 @@ export const useSettingBox = () => {
);
};
+ const DeeplAuthKeyContainer = (props) => {
+ return (
+
+
+
+
+ );
+ };
+
return {
DropdownMenuContainer,
SliderContainer,
@@ -93,5 +103,6 @@ export const useSettingBox = () => {
EntryContainer,
ThresholdContainer,
RadioButtonContainer,
+ DeeplAuthKeyContainer,
};
};
\ No newline at end of file