Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
thecybernanny-webapp
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
asranov0003
thecybernanny-webapp
Commits
8f614368
Commit
8f614368
authored
Jul 17, 2025
by
asranov0003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: add modal box utility classes
parent
e9b9e13b
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
58 additions
and
7 deletions
+58
-7
en.json
src/locales/en/en.json
+7
-1
ru.json
src/locales/ru/ru.json
+7
-1
Settings.tsx
src/pages/Settings/Settings.tsx
+28
-5
global.css
src/styles/global.css
+16
-0
No files found.
src/locales/en/en.json
View file @
8f614368
...
...
@@ -113,12 +113,18 @@
"createTitle"
:
"Create your PIN Code"
,
"confirmTitle"
:
"Confirm your PIN Code"
},
"logout"
:
{
"title"
:
"Logout"
,
"desc"
:
"Are you sure you want to continue?"
},
"button"
:
{
"login"
:
"Login"
,
"register"
:
"Register"
,
"recover"
:
"Recover"
,
"continue"
:
"Continue"
,
"resetPassword"
:
"Reset Password"
"resetPassword"
:
"Reset Password"
,
"logout"
:
"Logout"
,
"cancel"
:
"Cancel"
},
"notFound"
:
{
"code"
:
"404"
,
...
...
src/locales/ru/ru.json
View file @
8f614368
...
...
@@ -113,12 +113,18 @@
"createTitle"
:
"Создайте PIN-код"
,
"confirmTitle"
:
"Подтвердите PIN-код"
},
"logout"
:
{
"title"
:
"Выйти"
,
"desc"
:
"Вы уверены, что хотите продолжить?"
},
"button"
:
{
"login"
:
"Войти"
,
"register"
:
"Зарегистрироваться"
,
"recover"
:
"Восстановить"
,
"continue"
:
"Продолжить"
,
"resetPassword"
:
"Сбросить пароль"
"resetPassword"
:
"Сбросить пароль"
,
"logout"
:
"Выйти"
,
"cancel"
:
"Отмена"
},
"notFound"
:
{
"code"
:
"404"
,
...
...
src/pages/Settings/Settings.tsx
View file @
8f614368
import
React
from
"react"
;
import
React
,
{
useState
}
from
"react"
;
import
"./Settings.css"
;
import
{
useLanguage
}
from
"../../contexts/LanguageContext/useLanguage"
;
import
CSelect
from
"../../components/CSelect"
;
...
...
@@ -10,12 +10,19 @@ import { MdOutlineLogout } from "react-icons/md";
import
{
useTranslation
}
from
"react-i18next"
;
import
{
useAppDispatch
}
from
"../../stores/store"
;
import
{
logout
}
from
"../../stores/slices/authSlice"
;
import
CModal
from
"../../components/CModal"
;
import
CButton
from
"../../components/CButton"
;
const
Settings
:
React
.
FC
=
()
=>
{
const
[
isOpenLogoutModal
,
setIsOpenLogoutModal
]
=
useState
(
false
);
const
{
language
,
changeLanguage
}
=
useLanguage
();
const
{
t
}
=
useTranslation
();
const
dispatch
=
useAppDispatch
();
const
toggleLogoutModal
=
()
=>
{
setIsOpenLogoutModal
((
prev
)
=>
!
prev
);
};
return
(
<
div
className=
"settings"
>
<
h3
className=
"settings__title"
>
{
t
(
"settings.title"
)
}
</
h3
>
...
...
@@ -62,14 +69,30 @@ const Settings: React.FC = () => {
{
t
(
"settings.recoverPassword"
)
}
</
div
>
<
div
className=
"settings__content__action"
onClick=
{
()
=>
dispatch
(
logout
())
}
>
<
div
className=
"settings__content__action"
onClick=
{
toggleLogoutModal
}
>
<
MdOutlineLogout
className=
"settings__content__action__icon"
/>
{
" "
}
{
t
(
"settings.logout"
)
}
</
div
>
</
div
>
<
CModal
isOpen=
{
isOpenLogoutModal
}
onToggle=
{
toggleLogoutModal
}
content=
{
<
div
className=
"modal__box"
>
<
h3
className=
"modal__box__title"
>
{
t
(
"logout.title"
)
}
</
h3
>
<
p
>
{
t
(
"logout.desc"
)
}
</
p
>
<
div
className=
"modal__box__actions"
>
<
CButton
title=
{
t
(
"button.cancel"
)
}
onClick=
{
toggleLogoutModal
}
/>
<
CButton
title=
{
t
(
"button.logout"
)
}
variant=
"danger"
onClick=
{
()
=>
dispatch
(
logout
())
}
/>
</
div
>
</
div
>
}
/>
</
div
>
);
};
...
...
src/styles/global.css
View file @
8f614368
...
...
@@ -55,4 +55,19 @@ html[data-theme='dark'] {
--content-bg-color
:
#000000
;
--text-color
:
#ffffff
;
--on-text-color
:
#000000
;
}
.modal__box
{
display
:
flex
;
flex-direction
:
column
;
gap
:
0.5rem
;
}
.modal__box__title
{
text-align
:
center
;
}
.modal__box__actions
{
display
:
flex
;
gap
:
0.5rem
;
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment