Files
fileserver/notemod/index.html
2025-03-26 19:02:59 -05:00

3881 lines
405 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Notemod</title>
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg width='22' height='22' viewBox='0 -4 22 22' xml:space='preserve' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath style='display:inline;fill:url(%23a);stroke-width:.0717626' d='M0 7.403c.755-.657 1.627-1.23 2.431-1.83l4.1-3.061C7.414 1.866 8.584.84 9.506.366a3.17 3.17 0 0 1 1.662-.359q.18.012.358.044.177.032.35.083.173.052.34.122.166.07.324.158c.475.264.911.617 1.348.94l1.98 1.464 3.376 2.499c.78.571 1.57 1.13 2.334 1.724l-7.345 7.406-1.775 1.816c-.272.282-.563.66-.878.89-.74-.045-1.482-.046-2.223-.054q-3.202-3.23-6.32-6.54L1.054 8.484C.705 8.123.338 7.773 0 7.403z'/%3E%3Cdefs%3E%3ClinearGradient id='a' gradientUnits='userSpaceOnUse' x1='481.615' y1='426.516' x2='528.272' y2='194.363' gradientTransform='matrix(.07176 0 0 .07176 -25.74 -13.72)'%3E%3Cstop offset='0' stop-color='%23CF5A2A' style='stop-color:%239b1fac;stop-opacity:1'/%3E%3Cstop offset='1' stop-color='%23EA9C33' style='stop-color:%23ff3b72;stop-opacity:1'/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E">
<style>
*,:before,:after{-webkit-touch-callout: none;-webkit-tap-highlight-color: transparent;outline:none!important;border:0;outline:0;vertical-align:baseline}
@font-face {font-family:"OpenSans";src:url(data:application/font-woff;base64,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)format("woff");font-weight:400;font-style:normal;}
@font-face{font-family:"KSARegular";src:url(data:application/font-woff2;base64,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)format("woff2");font-weight:400;font-style:normal;font-stretch:normal;}
html,body{overflow: hidden;top: 0;height: 100%;padding: 0;margin: 0;}
body{font-family:'OpenSans';font-size: 17px;position: relative;display:flex;flex-direction: column;background-color:#1e293c;color:#a2c1f4}
body:lang(ar),body:lang(fa),body:lang(ur){font-family:KSARegular}
.all-container{width: 100%;}
#add-category-button:lang(ar),#add-category-button:lang(fa),#add-category-button:lang(ur),#add-note-button:lang(ar),#add-note-button:lang(fa),#add-note-button:lang(ur),#add-task-button:lang(ar),#add-task-button:lang(fa),#add-task-button:lang(ur),#cancelDelete:lang(ar),#cancelDelete:lang(fa),#cancelDelete:lang(ur),#confirmDelete:lang(ar),#confirmDelete:lang(fa),#confirmDelete:lang(ur),#delete-note-button:lang(ar),#delete-note-button:lang(fa),#delete-note-button:lang(ur),#save-note-button:lang(ar),#save-note-button:lang(fa),#save-note-button:lang(ur),.category-item span:lang(ar),.category-item span:lang(fa),.category-item span:lang(ur),.close_main_modal:lang(ar),.close_main_modal:lang(fa),.close_main_modal:lang(ur),.delete-cancel:lang(ar),.delete-cancel:lang(fa),.delete-cancel:lang(ur),.delete-confirm:lang(ar),.delete-confirm:lang(fa),.delete-confirm:lang(ur),.modal-content:lang(ar),.modal-content:lang(fa),.modal-content:lang(ur),.modal_dil-content:lang(ar),.modal_dil-content:lang(fa),.modal_dil-content:lang(ur),.note-item span:lang(ar),.note-item span:lang(fa),.note-item span:lang(ur),.rich-text-editor:lang(ar),.rich-text-editor:lang(fa),.rich-text-editor:lang(ur),.settool button:lang(ar)::before,.settool button:lang(fa)::before,.settool button:lang(ur)::before,.toolbar #omod_toggle:lang(ar)::before,.toolbar #omod_toggle:lang(fa)::before,.toolbar #omod_toggle:lang(ur)::before,.toolbar button:lang(ar)::before,.toolbar button:lang(fa)::before,.toolbar button:lang(ur)::before,.tooltip:lang(ar),.tooltip:lang(fa),.tooltip:lang(ur),input#note-content-search:lang(ar),input#note-content-search:lang(fa),input#note-content-search:lang(ur),input#note-search:lang(ar),input#note-search:lang(fa),input#note-search:lang(ur),input:lang(ar),input:lang(fa),input:lang(ur),td:lang(ar),td:lang(fa),td:lang(ur),textarea:lang(ar),textarea:lang(fa),textarea:lang(ur),th:lang(ar),th:lang(fa),th:lang(ur),.task_date_div:lang(ar),.task_date_div:lang(fa),.task_date_div:lang(ur),.subtask_list_wrapper:lang(ar),.subtask_list_wrapper:lang(fa),.subtask_list_wrapper:lang(ur),button.tab:lang(ar),button.tab:lang(fa),button.tab:lang(ur),.date_div:lang(ar),.date_div:lang(fa),.date_div:lang(ur),.delete-all-completed-button:lang(ar),.delete-all-completed-button:lang(fa),.delete-all-completed-button:lang(ur),.task_container textarea:lang(ar),#subTaskModalContent textarea:lang(ar),.task_container textarea:lang(fa),#subTaskModalContent textarea:lang(fa),.task_container textarea:lang(ur),#subTaskModalContent textarea:lang(ur){font-family:KSARegular;font-size:24px;line-height:24px;direction:rtl;unicode-bidi:isolate;text-align:right}
.edit_delete_div:lang(ar),.sub_edit_delete_div:lang(ar),.edit_delete_div:lang(fa),.sub_edit_delete_div:lang(fa),.edit_delete_div:lang(ur),.sub_edit_delete_div:lang(ur){left:10px;right:auto}
.category-item:lang(ar),.category-item:lang(fa),.category-item:lang(ur),.note-item:lang(ar),.note-item:lang(fa),.note-item:lang(ur){flex-direction:row-reverse}
.category-item span:lang(ar),.category-item span:lang(fa),.category-item span:lang(ur),.note-item span:lang(ar),.note-item span:lang(fa),.note-item span:lang(ur){padding:4px 24px 6px 4px}
.category-item:lang(ar):hover>button,.category-item:lang(fa):hover>button,.category-item:lang(ur):hover>button,.note-item:lang(ar):hover>button,.note-item:lang(fa):hover>button,.note-item:lang(ur):hover>button{margin-right:0;margin-left:8px}
.task_date_div:lang(ar),.subtask_list_wrapper:lang(ar),.task_date_div:lang(fa),.subtask_list_wrapper:lang(fa),.task_date_div:lang(ur),.subtask_list_wrapper:lang(ur){padding:5px 26px 5px 55px}
div#note-created-date:lang(ar),div#note-created-date:lang(fa),div#note-created-date:lang(ur){float:left}
p#save-status:lang(ar),p#save-status:lang(fa),p#save-status:lang(ur){text-align:right}
.subtask_list_wrapper:lang(ar),.subtask_list_wrapper:lang(fa),.subtask_list_wrapper:lang(ur){margin-left:0;margin-right:15px}
input#note-content-search:lang(ar),input#note-content-search:lang(fa),input#note-content-search:lang(ur),input#note-search:lang(ar),input#note-search:lang(fa),input#note-search:lang(ur){padding:0 8px}
div#delete-note-button:lang(ar),div#save-note-button:lang(ar),div#delete-note-button:lang(fa),div#save-note-button:lang(fa),div#delete-note-button:lang(ur),div#save-note-button:lang(ur){float:right}
.rich-text-editor:lang(ar),.rich-text-editor:lang(fa),.rich-text-editor:lang(ur){line-height:30px}
#arrow:lang(ar):after,#arrow:lang(fa):after,#arrow:lang(ur):after{right:auto;left:0}
.togglediv:lang(ar):after,.togglediv:lang(fa):after,.togglediv:lang(ur):after{right:4px;left:0}
input[type="date"]:lang(ar),input[type="date"]:lang(fa),input[type="date"]:lang(ur){background-position:left 9px center}
.category-item span:lang(ar):before,.category-item span:lang(fa):before,.category-item span:lang(ur):before,.note-item span:lang(ar):before,.note-item span:lang(fa):before,.note-item span:lang(ur):before,.task_date_div span:lang(ar):before,.subtask_list_wrapper span:lang(ar):before,.task_date_div span:lang(fa):before,.subtask_list_wrapper span:lang(fa):before,.task_date_div span:lang(ur):before,.subtask_list_wrapper span:lang(ur):before,.date_span:lang(ar),.date_span:lang(fa),.date_span:lang(ur){right:6px;left:0}
.category-item:lang(ar):hover>button,.category-item:lang(fa):hover>button,.category-item:lang(ur):hover>button,.note-item:lang(ar):hover>button,.note-item:lang(fa):hover>button,.note-item:lang(ur):hover>button{margin-left:8px}
button.thiza_button:lang(ar),button.thiza_button:lang(fa),button.thiza_button:lang(ur){float:left}
.tabs-container:lang(ar),.tabs-container:lang(fa),.tabs-container:lang(ur),button.gorev_ekle:lang(ar),button.gorev_ekle:lang(fa),button.gorev_ekle:lang(ur),.delete-all-completed-button:lang(ar),.delete-all-completed-button:lang(fa),.delete-all-completed-button:lang(ur){float:right;margin-top:5px}
.tabs-container:lang(ar),.tabs-container:lang(fa),.tabs-container:lang(ur){display:flex;flex-flow:row-reverse}
button.tab:lang(ar):first-child,button.tab:lang(fa):first-child,button.tab:lang(ur):first-child{border-bottom-right-radius:5px;border-top-right-radius:5px;border-bottom-left-radius:0;border-top-left-radius:0}
button.tab:lang(ar):last-child,button.tab:lang(fa):last-child,button.tab:lang(ur):last-child{border-bottom-left-radius:5px;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:0;border-right:solid 1px #394f77}
.task-list:lang(ar),.task-list:lang(fa),.task-list:lang(ur){clear:both;top:15px;position:relative}
.task-list.thiza:lang(ar),.task-list.thiza:lang(fa),.task-list.thiza:lang(ur),.toolbar_hiza:lang(ar),.toolbar_hiza:lang(fa),.toolbar_hiza:lang(ur){direction:rtl}
#add-task-button:lang(ar)::before,.alt_gorev_ekle:lang(ar)::before,.gorev_ekle:lang(ar)::before,#add-task-button:lang(fa)::before,.alt_gorev_ekle:lang(fa)::before,.gorev_ekle:lang(fa)::before,#add-task-button:lang(ur)::before,.alt_gorev_ekle:lang(ur)::before,.gorev_ekle:lang(ur)::before{right:-4px;left:auto}
.date_span:lang(ar),.date_span:lang(fa),.date_span:lang(ur),button.alt_gorev_ekle:lang(ar),button.alt_gorev_ekle:lang(fa),button.alt_gorev_ekle:lang(ur){font-size:18px}
#add-category-button:lang(ar)::before,#add-category-button:lang(fa)::before,#add-category-button:lang(ur)::before,#add-note-button:lang(ar)::before,#add-note-button:lang(fa)::before,#add-note-button:lang(ur)::before,#add-task-button:lang(ar)::before,#add-task-button:lang(fa)::before,#add-task-button:lang(ur)::before{content:"";right:-4px;left:0;top:-3px}
button.category-delete-button:lang(ar),button.category-delete-button:lang(fa),button.category-delete-button:lang(ur){float:left}
.gecerli_dil:lang(ar):before,.gecerli_dil:lang(fa):before,.gecerli_dil:lang(ur):before{left:0;right:0}
.gecerli_dil:lang(ar),.gecerli_dil:lang(fa),.gecerli_dil:lang(ur){padding-right:23px;padding-left:0}
.dili_degistir:lang(ar):after,.dili_degistir:lang(fa):after,.dili_degistir:lang(ur):after{content:'';right:auto;left:0;transform:rotate(180deg)}
.omod input#note-title:lang(ar),.omod input#note-title:lang(fa),.omod input#note-title:lang(ur){width: 100%;padding-left:0;top:0;padding-right:60px}
div#note-editor h1:lang(ar),div#note-editor h1:lang(fa),div#note-editor h1:lang(ur){font-size:27px}
div#note-editor h2:lang(ar),div#note-editor h2:lang(fa),div#note-editor h2:lang(ur){font-size:25px}
div#omod_toggle:not(.omod #omod_toggle):lang(ar),div#omod_toggle:not(.omod #omod_toggle):lang(fa),div#omod_toggle:not(.omod #omod_toggle):lang(ur){float:left;right:-6px}
div#omod_toggle:lang(ar)::before,div#omod_toggle:lang(fa)::before,div#omod_toggle:lang(ur)::before{left:-6px!important;right:auto!important}
.container:lang(ar),.container:lang(fa),.container:lang(ur){flex-direction:row-reverse}
.resizer:lang(ar),.resizer:lang(fa),.resizer:lang(ur){position:absolute;left:-5px;top:0;width:10px;height:100%;cursor:col-resize}
.sidebar.initialized.collapsed:lang(ar),.sidebar.initialized.collapsed:lang(fa),.sidebar.initialized.collapsed:lang(ur){right:-260px;left:unset}
.sidebar.initialized.collapsed+.notebar:lang(ar),.sidebar.initialized.collapsed+.notebar:lang(fa),.sidebar.initialized.collapsed+.notebar:lang(ur){margin-left:unset;margin-right:-200px}
span.panel:lang(ar),span.panel:lang(fa),span.panel:lang(ur){left:unset;right:8px}
.sidebar.initialized.collapsed #toggle-sidebar-button:lang(ar),.sidebar.initialized.collapsed #toggle-sidebar-button:lang(fa),.sidebar.initialized.collapsed #toggle-sidebar-button:lang(ur){right:unset;left:-40px}
#toggle-sidebar-button.initialized:lang(ar),#toggle-sidebar-button.initialized:lang(fa),#toggle-sidebar-button.initialized:lang(ur){left:20px;right:unset}
.sidebar.initialized:lang(ar),.sidebar.initialized:lang(fa),.sidebar.initialized:lang(ur){left:auto;right:0;transition:right .3s ease}
.notebar:lang(ar),.notebar:lang(fa),.notebar:lang(ur){transition:margin-right .3s ease}
div#note-created-date:lang(ar),div#note-created-date:lang(fa),div#note-created-date:lang(ur){font-size:21px}
.rich-text-editor ol:lang(ar),.rich-text-editor ol:lang(fa),.rich-text-editor ol:lang(ur){padding-right:0}
.rich-text-editor ul:lang(ar),.rich-text-editor ul:lang(fa),.rich-text-editor ul:lang(ur){padding-left:0;padding-right:0}
.rich-text-editor ul li::before:lang(ar),.rich-text-editor ul li::before:lang(fa),.rich-text-editor ul li::before:lang(ur){content:"•";left:0;right:-7px}
.rich-text-editor ul li:lang(ar),.rich-text-editor ul li:lang(fa),.rich-text-editor ul li:lang(ur){padding-left:0;padding-right:7px}
#add-category-button:lang(ar),#add-category-button:lang(fa),#add-category-button:lang(ur),#add-note-button:lang(ar),#add-note-button:lang(fa),#add-note-button:lang(ur),input:lang(ar),input:lang(fa),input:lang(ur),#add-task-button:lang(ar),#add-task-button:lang(fa),#add-task-button:lang(ur){padding:4px 8px}
#delete-note-button:lang(ar),#delete-note-button:lang(fa),#delete-note-button:lang(ur),#save-note-button:lang(ar),#save-note-button:lang(fa),#save-note-button:lang(ur){line-height:25px}
#color-button:lang(ar),#color-button:lang(fa),#color-button:lang(ur){top:1px}
#save-status:lang(ar),#save-status:lang(fa),#save-status:lang(ur){font-size:24px}
.resize-handle:lang(ar),.resize-handle:lang(fa),.resize-handle:lang(ur){display:none!important}
table:lang(ar),table:lang(fa),table:lang(ur){width:auto!important}
button.tab:lang(ar),button.tab:lang(fa),button.tab:lang(ur){padding:4px 12px;text-align:center}
.delete-all-completed-button:lang(ar),.delete-all-completed-button:lang(fa),.delete-all-completed-button:lang(ur){text-align:center}
hr{border-bottom:2px solid #4f6b9a;padding-bottom:3px;}
input[type="checkbox"] {width: unset;}
a{color: #61c0ff;cursor: pointer;}
.sidebar {visibility: hidden;}
.container {display: flex;height:100%;position: absolute;width: 100%;}
.sidebar.initialized.collapsed + .notebar {margin-left: -200px;}
.sidebar.initialized {visibility: visible;display: grid;align-content: flex-start;height: calc(100% - 20px);position: relative;top: 0;left: 0;width: 220px;background-color: #26344c;padding: 10px;user-select: none;transition: left 0.3s ease;z-index: 4;}
.sidebar.initialized.collapsed {left: -260px;}
#toggle-sidebar-button {transition:none;visibility: hidden;}
#toggle-sidebar-button.initialized{visibility:visible;position:absolute;right:20px;top:0px;background-color:transparent;border:none;color:#b1cee7;font-size:20px;cursor:pointer;padding:5px 10px;z-index:5;}
.panel {width: 23px;height: 23px;top: 7px;left: 8px;position: absolute;transform: rotateY(180deg);}
.panel path {stroke: #b1cee7;stroke-width: 1px;stroke-opacity: .5;}
.sidebar.initialized.collapsed #toggle-sidebar-button {right: -40px;}
.notebar{width:220px;transition: margin-left 0.3s ease;z-index: 3;padding:16px 10px 10px;background-color:#26344c;border-left: 1px solid #364b6d;border-right:1px solid #364b6d;user-select: none;display: grid;align-content: flex-start;height: calc(100% - 20px);position: relative;}
.resizer{position:absolute;right:-5px;top:0;width:10px;height:100%;cursor:col-resize;}
ul#note-list{width: 100%;max-height: 100%;}
ul#note-list,#category-list{overflow-x: hidden;}
.note-content{position: relative;flex:2;padding:16px 13px 11px ;background-color:#26344c;user-select: none;}
.note-content-ic {height: 100%;background-color: #26344c;z-index: 2;position: relative;height: calc(100% - 20px);}
.rich-text-editor{min-width: 100%;cursor:text}
#editor_div{cursor: default;overflow-y: auto;overflow-x: auto;display: grid;clip-path: border-box;max-height: calc(100% - 250px);min-height: calc(100% - 250px);z-index: 9999;border:1px solid #364b6d;padding:15px;background-color:#2d3e5b;border-radius:5px}
.omod #editor_div {max-height: 80%;}
#note-editor img {max-width: 100%;height: auto;}
#category-list {width: 100%;max-height: 100%;padding-bottom: 30px;}
::-webkit-scrollbar {width: 7px;height:7px;}
::-webkit-scrollbar-track {background: transparent;}
::-webkit-scrollbar-thumb {background: #3e6487;}
::-webkit-scrollbar-corner {background-color: transparent;}
.rich-text-editor ul {list-style: none;margin-block-start: 0em;list-style-position:inside;padding-left: 0;}
.rich-text-editor ol {list-style: decimal;margin-block-start: 0em;list-style-position:inside;padding-left: 0;}
.rich-text-editor ul li {position: relative;padding-left: 7px;}
.rich-text-editor ul li::before {content: "•";position: relative;left: -7px;top: 1px;color: #a2c1f4;font-size: 21px;}
.note-item span.dragging {background-color: #364b6d;}
.dragging {background-color: #304262;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;box-sizing: border-box;border-bottom: 1px solid #2c84d2!important;}
.task_date_div.dragging{white-space: unset;height: max-content}
.placeholder{cursor: move; display: block;border: solid 1px rgb(15, 45, 71);width: 100%;border-radius: 5px;background: #1b2434; height: 37px;}
.task-list.thiza .placeholder {padding: 11px 0 11px 0;}
.task-list .placeholder {padding: 11px 55px 11px 26px;margin-bottom: 10px;}
.subtasks_list_container .placeholder {margin-left: 15px;padding: 9px 55px 9px 26px;margin-bottom: 10px;}
.subtask_list_wrapper.dragging {white-space: unset;height: max-content;}
.temporary-placeholder { display: block; visibility: hidden; height: 0; }
#drag-preview { z-index: 9999; pointer-events: none;margin-left: 0;}
.category-item span,.note-item span{white-space: nowrap;overflow: hidden;position: relative; text-overflow: ellipsis;flex-grow:1;padding: 5px 0px 5px 24px;text-align: left;}
.category-item,.note-item{white-space: nowrap;text-overflow: ellipsis;width: 100%; border-radius: 5px;cursor:pointer;position: relative;border-bottom:1px solid #314362;transition:background-color .3s;display:flex;justify-content:space-between;align-items:center;list-style:none}
.subtask_wrapper {position: relative;}
.category-item:hover,.note-item:hover{background-color:#304262}
.category-item.selected,.note-item.selected{background-color:#304262}
.category-edit-buttons{visibility:hidden;width: 0;background-color:transparent;border:none;cursor:pointer;padding:0;margin-left:0}
.category-item:hover > button,.note-item:hover > button {visibility: visible;width: auto;margin-right: 8px;}
.category-edit-buttons svg{fill:none;stroke:#8ac5ff;transition:stroke .3s;height: min-content;width:16px}
svg.feather.feather-trash{fill:none;stroke:#9ccced;transition:stroke .3s;height:min-content;width:20px;}
button.category-delete-button{float:right;padding-top:9px;background:transparent;}
.category-edit-buttons:hover svg{stroke:#3498db}
.category-item span:before,.note-item span:before{content: '';position:absolute;top: calc(50% - 6px);left: 6px;border: solid 3px;border-radius: 50%;width: 6px;height: 6px;}
.task_date_div span:before,.subtask_list_wrapper span:before{content: '';position:absolute;top:11px;left:6px;border: solid 3px;border-radius: 50%;width: 6px;height: 6px;}
.category-item span#renkb1653d:before,.note-item span#renkb1653d:before,.task_date_div span#renkb1653d:before,.subtask_list_wrapper span#renkb1653d:before{border-color:#b1653d;}
.category-item span#renk9a900b:before,.note-item span#renk9a900b:before,.task_date_div span#renk9a900b:before,.subtask_list_wrapper span#renk9a900b:before{border-color:#9a900b;}
.category-item span#renk6c8f20:before,.note-item span#renk6c8f20:before,.task_date_div span#renk6c8f20:before,.subtask_list_wrapper span#renk6c8f20:before{border-color:#6c8f20;}
.category-item span#renk1490b5:before,.note-item span#renk1490b5:before,.task_date_div span#renk1490b5:before,.subtask_list_wrapper span#renk1490b5:before{border-color:#1490b5;}
.category-item span#renk1b86f2:before,.note-item span#renk1b86f2:before,.task_date_div span#renk1b86f2:before,.subtask_list_wrapper span#renk1b86f2:before{border-color:#1b86f2;}
.category-item span#renk527cf8:before,.note-item span#renk527cf8:before,.task_date_div span#renk527cf8:before,.subtask_list_wrapper span#renk527cf8:before{border-color:#527cf8;}
.category-item span#renk8772ff:before,.note-item span#renk8772ff:before,.task_date_div span#renk8772ff:before,.subtask_list_wrapper span#renk8772ff:before{border-color:#8772ff;}
.category-item span#renkb34e99:before,.note-item span#renkb34e99:before,.task_date_div span#renkb34e99:before,.subtask_list_wrapper span#renkb34e99:before{border-color:#b34e99;}
.category-item span#renkbb4141:before,.note-item span#renkbb4141:before,.task_date_div span#renkbb4141:before,.subtask_list_wrapper span#renkbb4141:before{border-color:#bb4141;}
.colors{display:flex;justify-content:center;margin-bottom:10px;}
.color-option{width:16px;height:16px;border-radius:50%;margin:0 5px;cursor:pointer;border:2px solid transparent;}
.color-option.selected{border:2px solid #84bae1;}
.toolbar{background: #1f2a3d;display: flow-root;padding:6px 7px;margin-bottom:5px;border-radius: 5px;}
.toolbar button{position: relative;z-index: 1;background-color:transparent;border:none;padding: 0;
width: 26px;height: 26px;cursor:pointer;}
.toolbar button:hover{background-color:#445d77;z-index:9;}
button.alt_gorev_ekle{width: 100%;background:transparent;font-family:'OpenSans';font-size:15px;color:#a2c1f4;margin-bottom:10px;}
.task_container textarea,#subTaskModalContent textarea{margin-bottom:8px;border:1px solid #415c86;min-width:unset;min-height:55px;width:350px;font-size:15px;}
#taskModalContent div.task_container input,#subTaskModalContent input{width:350px;margin-bottom: 9px;}
.task_container textarea::placeholder,#subTaskModalContent textarea::placeholder{color:#a2c1f4;}
.subtask_wrapper input{margin-left:20px;width:330px!important;}
.subtask_wrapper textarea{margin-left:20px;width:330px;}
.note-task .toolbar_hiza, .note-task #editor_div, .note-task #save_date_hiza,.note-task .ust_content {display: none;}
.task_date_div,.subtask_list_wrapper{position:relative;border:1px solid #364b6d;padding:5px 55px 5px 26px;background-color:#2d3e5b;border-radius:5px;margin-bottom:10px;}
input[type="date"]{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%238ac5ff' stroke='%238ac5ff'%3E%3Cpath d='M3,22H21a1,1,0,0,0,1-1V6a1,1,0,0,0-1-1H17V3a1,1,0,0,0-2,0V5H9V3A1,1,0,0,0,7,3V5H3A1,1,0,0,0,2,6V21A1,1,0,0,0,3,22ZM4,7H20v3H4Zm0,5H20v8H4Z'/%3E%3C/svg%3E");
background-repeat: no-repeat;background-position: right 9px center;background-size: 16px;font-size: 15px;border: none;outline: none;padding: 5px;border-radius:4px;}
input[type="date"]::-webkit-calendar-picker-indicator{opacity: 0;}
.date_div:before{content:'';width:23px;height:14px;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2366aae6' stroke='%2366aae6'%3E%3Cpath d='M3,22H21a1,1,0,0,0,1-1V6a1,1,0,0,0-1-1H17V3a1,1,0,0,0-2,0V5H9V3A1,1,0,0,0,7,3V5H3A1,1,0,0,0,2,6V21A1,1,0,0,0,3,22ZM4,7H20v3H4Zm0,5H20v8H4Z'/%3E%3C/svg%3E");
background-repeat:no-repeat;background-position:left;background-size:16px;font-size:15px;display:inline-block;}
.tabs-container{display:inline-block;vertical-align: bottom;margin: 0 10px 0 5px}
button.tab{position:relative;font-size:15px;border:solid 1px #394f77;border-right: 0;background-color:#2a3a56;margin-right:10px;color:#d9d5fa;padding:6px 13px;cursor:pointer;transition:background-color .3s;margin-top:5px;line-height:20px;margin: 0;}
button.tab.active-tab{background-color:#384d72;border:solid 1px #3d598a;}
.tab.active_light::before,.tab.today_light::before,.tab.overdue_light::before,.tab.completed_light::before{content: "";position:absolute;width:4px;height:4px;top:2px;right: 0px;transform:translateX(-50%);background-color:#659400;box-shadow: 0px 0px 3px #659400;border-radius:50%;}
.tab.today_light::before{background-color:#2797dc;box-shadow: 0px 0px 3px #2797dc;}
.tab.overdue_light::before{background-color:#a79900;box-shadow: 0px 0px 3px #a79900;}
.tab.completed_light::before{background-color:#7996b4;box-shadow: 0px 0px 3px #7996b4;}
button.tab:first-child{border-bottom-left-radius:5px;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:0;}
button.tab:last-child{border-bottom-right-radius:5px;border-top-right-radius:5px;border-bottom-left-radius:0;border-top-left-radius:0;border-right: solid 1px #394f77;}
.task-list{overflow-x:hidden;max-height: 87%;padding-right:5px;margin-top:15px;}
.task-list.thiza{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;}
.task-list.thiza > div{display:grid;}
.task_div{position:relative;height:calc(100% - 20px);top: -5px;}
.task_date_div span,.subtask_list_wrapper span{cursor:pointer;}
.date_span{position:absolute;left:5px;top:50%;transform:translateY(-50%);background:#2d3e5b;width: calc(100% - 90px);padding:0 5px;font-size:15px;}
.subtask_wrapper span.date_span {left: 25px;}
.subtasks_list_container{display: none;max-height:0;overflow:hidden;opacity:0;transform:translateY(-10px);transition:all 0.3s ease-out;pointer-events:none;}
.subtasks_list_container.show{max-height:max-content;opacity:1;transform:translateY(0);pointer-events:auto;}
.togglediv{display:inline-block;user-select: none;cursor:pointer;position:relative;vertical-align:12px;margin-left:8px;}
.task_date_div .togglediv::after{transition:transform 0.3s ease;left:0;transform:rotate(90deg);background-size:14px;width:14px;height:14px;}
.togglediv.active::after{transform:rotate(270deg);}
.subtask_list_wrapper {margin-left: 15px;}
.date_div{font-size:15px;color:#71bcff;display: inline-block;}
button.gorev_ekle {padding: 6px 8px;}
.task_div .gorev_ekle::before{left:0;}
.edit_delete_div,.sub_edit_delete_div{position:absolute;right:10px;top: 8px;}
button.delete-subtask-button-modal{position:absolute;left:-6px;padding-top:5px;}
.edit-task-button,.delete-task-button,.edit-subtask-button,.delete-subtask-button,.delete-subtask-button-modal{margin-left: 6px;background:transparent;width:16px;height:16px;display:inline-block;padding:0;}
button.thiza_button {width: 21px;height: 21px;background:transparent;float: right;margin-right: 10px;
background-image: url('data:image/svg+xml;utf8,<svg width="7.40mm" height="6.35mm" viewBox="0 0 7.40 6.35" version="1.1" xmlns="http://www.w3.org/2000/svg"><defs/><g transform="translate(-101.41381,-145.32499)"><g style="fill:%23b1cee7" transform="matrix(0.26458333,0,0,0.26458333,100.88464,144.26667)"><path d="M 28,4 H 4 C 2.8954305,4 2,4.8954305 2,6 v 20 c 0,1.104569 0.8954305,2 2,2 h 24 c 1.104569,0 2,-0.895431 2,-2 V 6 C 30,4.8954305 29.104569,4 28,4 Z M 4,6 H 15.009062 V 26 H 4 Z M 28,26 H 17.009062 V 6 H 28 Z"/></g></g></svg>');background-repeat: no-repeat;background-position: center;display: inline-block;background-size: 21px;
}
.edit-task-button::before,.edit-subtask-button::before{content: "";position: relative;background-image: url('data:image/svg+xml;utf8,<svg fill="none" width="24" height="24" stroke="%238ac5ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"></path></svg>');background-repeat: no-repeat;background-position: center;
width: 16px;height: 16px;left: 0px;display: inline-block;background-size: 16px;}
.delete-task-button::before,.delete-subtask-button::before,.delete-subtask-button-modal::before{content: "";position: relative;background-image: url('data:image/svg+xml;utf8,<svg fill="none" width="24" height="24" stroke="%238ac5ff" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18"></path><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path><line x1="10" x2="10" y1="11" y2="17"></line><line x1="14" x2="14" y1="11" y2="17"></line></svg>');background-repeat: no-repeat;background-position: center;
width: 18px;height: 18px;left: 0px;display: inline-block;background-size: 18px;}
#add-note-button::before,#add-category-button::before,#add-task-button::before,.alt_gorev_ekle::before,.gorev_ekle::before{content: "";position: relative;background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path stroke="%23d9d5fa" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" d="M6 12H18M12 6V18"/></svg>');background-repeat: no-repeat;background-position: center;
width: 16px;height: 10px;left: -4px;display: inline-block;background-size: 18px;}
#add-category-button,#add-note-button,#add-task-button,#save-note-button,#delete-note-button,#confirmDelete,#cancelDelete,.close_main_modal,.delete-confirm,.delete-cancel,.gorev_ekle,.delete-all-completed-button{font-size: 15px;border: solid 1px #726ee1;background-color:#5854cd;margin-right: 5px;color:#d9d5fa;padding:6px 12px;cursor:pointer;transition:background-color .3s;margin-top:5px;line-height: 20px;border-radius:5px}
#add-note-button, #save-note-button,#confirmDelete,.delete-confirm,.gorev_ekle{background-color: #276ba8;border: solid 1px #2c84d2;}
#add-note-button{width:50%;margin-right:9px;text-align: left;}
#add-task-button{margin-right:0px;width:50%;text-align: left;}
#add-category-button{ text-align: left;display: block;width: 100%;}
.not_gorev{display:flex;}
#add-note-button:hover,.gorev_ekle:hover, #save-note-button:hover{background-color: #287ec0;}
#cancelDelete,.close_main_modal,.delete-cancel {background-color: #1f2a3d;border: solid 1px #1f2a3d;}
#delete-note-button,.delete-all-completed-button{background-color: #1f2a3d;border: solid 1px #3b64a9;}
#delete-note-button:hover,.delete-all-completed-button:hover,#cancelDelete:hover,.close_main_modal:hover,.delete-cancel:hover{background-color: #28364e;}
#add-category-button:hover,#add-task-button:hover{background-color:#645fe5}
input#note-search,input#note-content-search{background-color: #304262;font-size: 15px;}
input,textarea{width:100%;font-size: 16px;border: 1px solid #364b6d;box-sizing: border-box;background-color:#2d3e5b;color:#a2c1f4;padding:6px 8px;margin-bottom:15px;border-radius:5px}
textarea{border:1px solid #415c86;min-width:350px;min-height:130px;display:block;}
input::-webkit-input-placeholder{color:#87a0ca}
#save-status {margin: 0;padding-top: 4px;margin-bottom: 4px;}
div#note-created-date {float: right;color: #aacaea;margin: 8px 0 8px;font-size: 15px;}
.color-picker-container {display: inline-block;position: relative;}
#color-picker {position: absolute;top: 6px;left: 0;opacity: 0;pointer-events: none;transition: opacity 0.3s ease;}
#color-picker.visible {opacity: 1;pointer-events: auto;}
#color-button {background-color: #16699f;margin: 0 5px;border-radius: 2px;text-indent: -91px;overflow: hidden;border: solid 2px #a2c1f4;height: 17px;width: 18px;top: 1px;}
ul{padding-left:0;list-style:none}
div#note-editor>h1,div#note-editor>h2{margin-top:0px;}
h1,div#note-editor h1 {font-size: 21px;color: #a9c8f6;}
h2,div#note-editor h2 {font-size: 18px;color: #a9c8f6;}
.settool{display:block;padding:13px 13px 15px;box-sizing: border-box;position:absolute;bottom:0;left:0;z-index:99999;background:#26344c;width:100%;}
button#import{margin-right:11px;}
button{cursor: pointer;}
#save-note-button, #delete-note-button {display: inline-block;}
.toolbar button::before,#omod_toggle::before,.settool button::before{content: "";position:absolute;top:33px;left:50%;transform:translateX(-50%);background-color:#1f2a3d;color:#a2c1f4;border:solid 1px #366691;padding:7px 8px;border-radius:5px;white-space:nowrap;opacity:0;transition:opacity 0.3s ease;pointer-events:none;font-size: 13px;}
.toolbar button:hover::before,.toolbar #omod_toggle:hover::before,.settool button:hover::before {opacity: 1;}
#omod_toggle{background-image:url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="utf-8"?><svg width="171.34921mm" height="120.95208mm" viewBox="0 0 171.34921 120.95208" version="1.1" id="svg1" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg"><defs id="defs1" /><g fill="none" fill-rule="evenodd" stroke="%23a2c1f4" stroke-linecap="round" stroke-linejoin="round" transform="matrix(10.079365,0,0,10.079365,-8.1167208e-8,5.559072e-6)" id="g3"><path id="path3" d="M 8.5,1.5909091 C 7.1666667,0.86363636 5.8333333,0.5 4.5,0.5 3.1666667,0.5 1.8333333,0.86363636 0.5,1.5909091 V 11.5 c 1.3333333,-0.666667 2.6666667,-1 4,-1 1.3333333,0 2.6666667,0.333333 4,1 z m 6.055927,1.1972841 C 13.870618,2.5960644 13.185309,2.5 12.5,2.5 c -0.685309,0 -1.370618,0.096064 -2.055926,0.2881932 m 4.111853,2 C 13.870618,4.5960644 13.185309,4.5 12.5,4.5 c -0.685309,0 -1.370618,0.096064 -2.055926,0.2881932 m 4.111853,2 C 13.870618,6.5960644 13.185309,6.5 12.5,6.5 c -0.685309,0 -1.370618,0.096064 -2.055926,0.2881932 m 4.111853,2 C 13.870618,8.5960644 13.185309,8.5 12.5,8.5 11.814691,8.5 11.129382,8.596064 10.444074,8.7881932 M 16.5,1.5909091 C 15.166667,0.86363636 13.833333,0.5 12.5,0.5 11.166667,0.5 9.8333333,0.86363636 8.5,1.5909091 V 11.5 c 1.3333333,-0.666667 2.666667,-1 4,-1 1.333333,0 2.666667,0.333333 4,1 z" /></g></svg>');background-repeat: no-repeat;background-position: center;background-size: 25px;color: transparent;width: 25px;position: relative;height: 25px;top: 1px;right: 5px;z-index: 1;float: right;cursor: pointer;}
.kucult-button{background-image:url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="utf-8"?><svg width="24px" height="24px" viewBox="-3 -2 24 24" xmlns="http://www.w3.org/2000/svg" fill="none"><path fill="%23a2c1f4" fill-rule="evenodd" d="M9 4a5 5 0 100 10A5 5 0 009 4zM2 9a7 7 0 1112.6 4.2.999.999 0 01.107.093l3 3a1 1 0 01-1.414 1.414l-3-3a.999.999 0 01-.093-.107A7 7 0 012 9zm10.5 0a1 1 0 00-1-1h-5a1 1 0 100 2h5a1 1 0 001-1z"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 25px;color: transparent;width: 25px;}
.buyut-button{background-image:url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="utf-8"?><svg width="24px" height="24px" viewBox="-3 -2 24 24" xmlns="http://www.w3.org/2000/svg" fill="none"><path fill="%23a2c1f4" fill-rule="evenodd" d="M4 9a5 5 0 1110 0A5 5 0 014 9zm5-7a7 7 0 104.2 12.6.999.999 0 00.093.107l3 3a1 1 0 001.414-1.414l-3-3a.999.999 0 00-.107-.093A7 7 0 009 2zM8 6.5a1 1 0 112 0V8h1.5a1 1 0 110 2H10v1.5a1 1 0 11-2 0V10H6.5a1 1 0 010-2H8V6.5z"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 25px;color: transparent;width: 25px;}
.html-button{background-image:url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="utf-8"?><svg width="32px" height="32px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 8L3 11.6923L7 16M17 8L21 11.6923L17 16M14 4L10 20" stroke="%23a2c1f4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 25px;color: transparent;width: 25px;}
.horizontalrule-button{background-image:url('data:image/svg+xml;utf8,<svg width="32px" height="32px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7 12L18 12" stroke="%23a2c1f4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 25px;color: transparent;width: 25px;}
.resize-handle {background-image:url('data:image/svg+xml;utf8,<svg fill="%23a2c1f4" width="24px" height="24px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M25.99 6.042l-0.004 9.735-3.732-3.733-4.454 4.455-2.665-2.665 4.454-4.454-3.384-3.383 9.785 0.045zM11.494 22.805l3.238 3.182-9.722 0.017 0.004-9.68 3.815 3.815 4.925-4.924 2.665 2.665-4.925 4.925z"></path></svg>');background-repeat: no-repeat;background-position: center;background-size: 25px;color: transparent;position:absolute;right:-10px;bottom:-11px;width:25px;height:25px;text-align:center;line-height:25px;cursor:se-resize; z-index:1000;transform:rotate(90deg);}
.resize-handle:active{cursor:none;}
.table-button{background-image:url('data:image/svg+xml;utf8,<svg width="800px" height="800px" viewBox="-1 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g><path id="Vector" d="M4 15V16.8002C4 17.9203 4 18.4801 4.21799 18.9079C4.40973 19.2842 4.71547 19.5905 5.0918 19.7822C5.5192 20 6.07899 20 7.19691 20H12M4 15V9M4 15H12M4 9V7.2002C4 6.08009 4 5.51962 4.21799 5.0918C4.40973 4.71547 4.71547 4.40973 5.0918 4.21799C5.51962 4 6.08009 4 7.2002 4H12M4 9H12M12 4H16.8002C17.9203 4 18.4801 4 18.9079 4.21799C19.2842 4.40973 19.5905 4.71547 19.7822 5.0918C20 5.5192 20 6.07899 20 7.19691V9M12 4V9M12 9V15M12 9H20M12 15V20M12 15H20M12 20H16.8036C17.9215 20 18.4805 20 18.9079 19.7822C19.2842 19.5905 19.5905 19.2842 19.7822 18.9079C20 18.4805 20 17.9215 20 16.8036V15M20 15V9" stroke="%23a2c1f4" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></g></svg>');background-repeat: no-repeat;background-position: center;background-size: 25px;color: transparent;width: 25px;}
.center-button{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" width="24" height="24"><path fill="%23a2c1f4" d="M448 64c0-17.7-14.3-32-32-32L32 32C14.3 32 0 46.3 0 64S14.3 96 32 96l384 0c17.7 0 32-14.3 32-32zm0 256c0-17.7-14.3-32-32-32L32 288c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32zM0 192c0 17.7 14.3 32 32 32l384 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 160c-17.7 0-32 14.3-32 32zM448 448c0-17.7-14.3-32-32-32L32 416c-17.7 0-32 14.3-32 32s14.3 32 32 32l384 0c17.7 0 32-14.3 32-32z"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 16px;color: transparent;width: 28px;}
.right-button{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" width="24" height="24"><path fill="%23a2c1f4" d="M448 64c0 17.7-14.3 32-32 32L192 96c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32l-224 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 16px;color: transparent;width: 28px;}
.left-button{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" width="24" height="24"><path fill="%23a2c1f4" d="M288 64c0 17.7-14.3 32-32 32L32 96C14.3 96 0 81.7 0 64S14.3 32 32 32l224 0c17.7 0 32 14.3 32 32zm0 256c0 17.7-14.3 32-32 32L32 352c-17.7 0-32-14.3-32-32s14.3-32 32-32l224 0c17.7 0 32 14.3 32 32zM0 192c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 224c-17.7 0-32-14.3-32-32zM448 448c0 17.7-14.3 32-32 32L32 480c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 16px;color: transparent;width: 28px;}
.erase-button {background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill="%23a2c1f4" stroke="%23a2c1f4" stroke-width="1" d="M15.8698693,2.66881311 L20.838395,7.63733874 C21.7170746,8.5160184 21.7170746,9.9406396 20.838395,10.8193193 L12.1565953,19.4998034 L18.25448,19.5 C18.6341758,19.5 18.947971,19.7821539 18.9976334,20.1482294 L19.00448,20.25 C19.00448,20.6296958 18.7223262,20.943491 18.3562506,20.9931534 L18.25448,21 L9.84446231,21.0012505 C9.22825282,21.0348734 8.60085192,20.8163243 8.13013068,20.345603 L3.16160505,15.3770774 C2.28292539,14.4983977 2.28292539,13.0737765 3.16160505,12.1950969 L12.6878888,2.66881311 C13.5665685,1.79013346 14.9911897,1.79013346 15.8698693,2.66881311 Z M5.70859531,11.7678034 L4.22226522,13.255757 C3.929372,13.5486503 3.929372,14.023524 4.22226522,14.3164172 L9.19079085,19.2849428 C9.33723746,19.4313895 9.5291792,19.5046128 9.72112094,19.5046128 L9.75,19.5 L9.78849588,19.5015989 C9.95740385,19.4864544 10.1221581,19.4142357 10.251451,19.2849428 L11.7375953,17.7978034 L5.70859531,11.7678034 Z M13.748549,3.72947329 L6.76959531,10.7068034 L12.7985953,16.7368034 L19.7777348,9.75865909 C20.070628,9.46576587 20.070628,8.99089214 19.7777348,8.69799892 L14.8092091,3.72947329 C14.5163159,3.43658007 14.0414422,3.43658007 13.748549,3.72947329 Z"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 20px;color: transparent;width: 28px;}
.link-button{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512" width="24" height="24"><path fill="%23a2c1f4" d="M579.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L422.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C206.5 251.2 213 330 263 380c56.5 56.5 148 56.5 204.5 0L579.8 267.7zM60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5L217.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C433.5 260.8 427 182 377 132c-56.5-56.5-148-56.5-204.5 0L60.2 244.3z"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 18px;color: transparent;}
.unlink-button{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="%23a2c1f4" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L489.3 358.2l90.5-90.5c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114l-96 96-31.9-25C430.9 239.6 420.1 175.1 377 132c-52.2-52.3-134.5-56.2-191.3-11.7L38.8 5.1zM239 162c30.1-14.9 67.7-9.9 92.8 15.3c20 20 27.5 48.3 21.7 74.5L239 162zM406.6 416.4L220.9 270c-2.1 39.8 12.2 80.1 42.2 110c38.9 38.9 94.4 51 143.6 36.3zm-290-228.5L60.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C74 372 74 321 105.5 289.5l61.8-61.8-50.6-39.9z"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 18px;color: transparent;}
.select-button{background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="-1 0 24 24" fill="none"><path d="M8.976 21C4.05476 21 3 19.9452 3 15.024" stroke="%23a2c1f4" stroke-width="3" stroke-linecap="round"/><path d="M21 15.024C21 19.9452 19.9452 21 15.024 21" stroke="%23a2c1f4" stroke-width="3" stroke-linecap="round"/><path d="M15.024 3C19.9452 3 21 4.05476 21 8.976" stroke="%23a2c1f4" stroke-width="3" stroke-linecap="round"/><path d="M3 8.976C3 4.05476 4.05476 3 8.976 3" stroke="%23a2c1f4" stroke-width="3" stroke-linecap="round"/><path d="M12 9.5L12 14.5" stroke="%23a2c1f4" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/><path d="M14.5 12L9.5 12" stroke="%23a2c1f4" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 19px;color: transparent;width: 28px;}
.strike-button{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="24" height="24"><path fill="%23a2c1f4" d="M161.3 144c3.2-17.2 14-30.1 33.7-38.6c21.1-9 51.8-12.3 88.6-6.5c11.9 1.9 48.8 9.1 60.1 12c17.1 4.5 34.6-5.6 39.2-22.7s-5.6-34.6-22.7-39.2c-14.3-3.8-53.6-11.4-66.6-13.4c-44.7-7-88.3-4.2-123.7 10.9c-36.5 15.6-64.4 44.8-71.8 87.3c-.1 .6-.2 1.1-.2 1.7c-2.8 23.9 .5 45.6 10.1 64.6c4.5 9 10.2 16.9 16.7 23.9L32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l448 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-209.9 0-.4-.1-1.1-.3c-36-10.8-65.2-19.6-85.2-33.1c-9.3-6.3-15-12.6-18.2-19.1c-3.1-6.1-5.2-14.6-3.8-27.4zM348.9 337.2c2.7 6.5 4.4 15.8 1.9 30.1c-3 17.6-13.8 30.8-33.9 39.4c-21.1 9-51.7 12.3-88.5 6.5c-18-2.9-49.1-13.5-74.4-22.1c-5.6-1.9-11-3.7-15.9-5.4c-16.8-5.6-34.9 3.5-40.5 20.3s3.5 34.9 20.3 40.5c3.6 1.2 7.9 2.7 12.7 4.3c0 0 0 0 0 0s0 0 0 0c24.9 8.5 63.6 21.7 87.6 25.6c0 0 0 0 0 0l.2 0c44.7 7 88.3 4.2 123.7-10.9c36.5-15.6 64.4-44.8 71.8-87.3c3.6-21 2.7-40.4-3.1-58.1l-75.7 0c7 5.6 11.4 11.2 13.9 17.2z"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 16px;color: transparent;}
.italic-button{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="24" height="24"><path fill="%23a2c1f4" d="M14 1H5V4H7.75219L5.08553 12H2V15H11V12H8.24781L10.9145 4H14V1Z"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 14px;color: transparent;}
.bold-button{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 1 24 24" width="24" height="24"><path fill="%23a2c1f4" d="M7 5.01h4.547c2.126 0 3.67.302 4.632.906.96.605 1.44 1.567 1.44 2.887 0 .896-.21 1.63-.63 2.205-.42.574-.98.92-1.678 1.036v.103c.95.212 1.637.608 2.057 1.19.42.58.63 1.35.63 2.315 0 1.367-.494 2.434-1.482 3.2-.99.765-2.332 1.148-4.027 1.148H7V5.01zm3 5.936h2.027c.862 0 1.486-.133 1.872-.4.386-.267.578-.708.578-1.323 0-.574-.21-.986-.63-1.236-.42-.25-1.087-.374-1.996-.374H10v3.333zm0 2.523v3.905h2.253c.876 0 1.52-.167 1.94-.502.416-.335.625-.848.625-1.54 0-1.243-.89-1.864-2.668-1.864H10z"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 20px;color: transparent;}
.h1-button{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path fill="%23a2c1f4" d="M11 7h2v10h-2v-4H7v4H5V7h2v4h4V7zm6.57 0c-.594.95-1.504 1.658-2.57 2v1h2v7h2V7h-1.43z"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 26px;color: transparent;}
.h2-button{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-1 0 24 24" width="24" height="24"><path fill="%23a2c1f4" d="M9 7h2v10H9v-4H5v4H3V7h2v4h4V7zm8 8c.51-.41.6-.62 1.06-1.05.437-.4.848-.828 1.23-1.28.334-.39.62-.82.85-1.28.2-.39.305-.822.31-1.26.005-.44-.087-.878-.27-1.28-.177-.385-.437-.726-.76-1-.346-.283-.743-.497-1.17-.63-.485-.153-.99-.227-1.5-.22-.36 0-.717.033-1.07.1-.343.06-.678.158-1 .29-.304.13-.593.295-.86.49-.287.21-.56.437-.82.68l1.24 1.22c.308-.268.643-.502 1-.7.35-.2.747-.304 1.15-.3.455-.03.906.106 1.27.38.31.278.477.684.45 1.1-.014.396-.14.78-.36 1.11-.285.453-.62.872-1 1.25-.44.43-.98.92-1.59 1.43-.61.51-1.41 1.06-2.16 1.65V17h8v-2h-4z"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 26px;color: transparent;}
.list-ul-button{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="24" height="24"><path fill="%23a2c1f4" d="M64 144a48 48 0 1 0 0-96 48 48 0 1 0 0 96zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L192 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-288 0zM64 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm48-208a48 48 0 1 0 -96 0 48 48 0 1 0 96 0z"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 17px;color: transparent;}
.list-ol-button{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="24" height="24"><path fill="%23a2c1f4" d="M24 56c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24l0 120 16 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l16 0 0-96-8 0C34.7 80 24 69.3 24 56zM86.7 341.2c-6.5-7.4-18.3-6.9-24 1.2L51.5 357.9c-7.7 10.8-22.7 13.3-33.5 5.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2 72.3-35.6 99.2-4.9c21.3 24.4 20.8 60.9-1.1 84.7L86.8 432l33.2 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-88 0c-9.5 0-18.2-5.6-22-14.4s-2.1-18.9 4.3-25.9l72-78c5.3-5.8 5.4-14.6 .3-20.5zM224 64l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32zm0 160l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 17px;color: transparent;}
.undo-button{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="24" height="24"><path fill="%23a2c1f4" d="M48.5 224L40 224c-13.3 0-24-10.7-24-24L16 72c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2L98.6 96.6c87.6-86.5 228.7-86.2 315.8 1c87.5 87.5 87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3c-62.2-62.2-162.7-62.5-225.3-1L185 183c6.9 6.9 8.9 17.2 5.2 26.2s-12.5 14.8-22.2 14.8L48.5 224z"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 16px;color: transparent;}
button#languege{background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' fill='%239ab9e6' width='64px' height='64px' viewBox='0 0 24 24'><g stroke-width='0'></g><g stroke-linecap='round' stroke-linejoin='round'></g><g><path d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2 0 .68.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56zm2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.32-.16-2 0-.68.07-1.35.16-2h4.68c.09.65.16 1.32.16 2 0 .68-.07 1.34-.16 2zm.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56zM16.36 14c.08-.66.14-1.32.14-2 0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z'/></g></svg>");
background-size: 26px;position:relative;background-repeat: no-repeat;background-position: center;margin-right: 8px;color: transparent;background-color: transparent;width: 26px;height: 26px;float: right;}
button#tema{background-image: url("data:image/svg+xml;utf8,<svg fill='%239ab9e6' width='800px' height='800px' viewBox='-5.5 0 32 32' version='1.1' xmlns='http://www.w3.org/2000/svg'><path d='M11.875 6v2.469c0 0.844-0.375 1.25-1.156 1.25s-1.156-0.406-1.156-1.25v-2.469c0-0.813 0.375-1.219 1.156-1.219s1.156 0.406 1.156 1.219zM14.219 9.25l1.438-2.031c0.469-0.625 1.063-0.75 1.656-0.313s0.656 1 0.188 1.688l-1.438 2c-0.469 0.688-1.031 0.75-1.656 0.313-0.594-0.438-0.656-0.969-0.188-1.656zM5.781 7.25l1.469 2c0.469 0.688 0.406 1.219-0.219 1.656-0.594 0.469-1.156 0.375-1.625-0.313l-1.469-2c-0.469-0.688-0.406-1.219 0.219-1.656 0.594-0.469 1.156-0.375 1.625 0.313zM10.719 11.125c2.688 0 4.875 2.188 4.875 4.875 0 2.656-2.188 4.813-4.875 4.813s-4.875-2.156-4.875-4.813c0-2.688 2.188-4.875 4.875-4.875zM1.594 11.813l2.375 0.75c0.781 0.25 1.063 0.719 0.813 1.469-0.219 0.75-0.75 0.969-1.563 0.719l-2.313-0.75c-0.781-0.25-1.063-0.75-0.844-1.5 0.25-0.719 0.75-0.938 1.531-0.688zM17.5 12.563l2.344-0.75c0.813-0.25 1.313-0.031 1.531 0.688 0.25 0.75-0.031 1.25-0.844 1.469l-2.313 0.781c-0.781 0.25-1.281 0.031-1.531-0.719-0.219-0.75 0.031-1.219 0.813-1.469zM10.719 18.688c1.5 0 2.719-1.219 2.719-2.688 0-1.5-1.219-2.719-2.719-2.719s-2.688 1.219-2.688 2.719c0 1.469 1.188 2.688 2.688 2.688zM0.906 17.969l2.344-0.75c0.781-0.25 1.313-0.063 1.531 0.688 0.25 0.75-0.031 1.219-0.813 1.469l-2.375 0.781c-0.781 0.25-1.281 0.031-1.531-0.719-0.219-0.75 0.063-1.219 0.844-1.469zM18.219 17.219l2.344 0.75c0.781 0.25 1.063 0.719 0.813 1.469-0.219 0.75-0.719 0.969-1.531 0.719l-2.344-0.781c-0.813-0.25-1.031-0.719-0.813-1.469 0.25-0.75 0.75-0.938 1.531-0.688zM3.938 23.344l1.469-1.969c0.469-0.688 1.031-0.781 1.625-0.313 0.625 0.438 0.688 0.969 0.219 1.656l-1.469 1.969c-0.469 0.688-1.031 0.813-1.656 0.375-0.594-0.438-0.656-1.031-0.188-1.719zM16.063 21.375l1.438 1.969c0.469 0.688 0.406 1.281-0.188 1.719s-1.188 0.281-1.656-0.344l-1.438-2c-0.469-0.688-0.406-1.219 0.188-1.656 0.625-0.438 1.188-0.375 1.656 0.313zM11.875 23.469v2.469c0 0.844-0.375 1.25-1.156 1.25s-1.156-0.406-1.156-1.25v-2.469c0-0.844 0.375-1.25 1.156-1.25s1.156 0.406 1.156 1.25z'></path></svg>");
background-size: 31px;position:relative;background-repeat: no-repeat;background-position: center;color: transparent;
background-color: transparent;width: 26px;height: 26px;float: right;margin-right: 8px;}
button#sync{background-image: url('data:image/svg+xml;utf8,<svg fill="%239ab9e6" width="800px" height="800px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M17.594 16h2.031c0-1.813-0.688-3.531-1.75-4.844h-0.031c-0.781-0.938-1.719-1.656-2.844-2.125-0.031 0-0.063-0.031-0.063-0.031-0.188-0.063-0.375-0.188-0.563-0.25-0.063 0-0.094-0.031-0.156-0.031-0.156-0.063-0.375-0.094-0.531-0.125-0.063-0.031-0.156-0.063-0.219-0.063-0.188-0.031-0.344-0.063-0.531-0.094h-0.188c-0.219-0.031-0.469-0.031-0.688-0.031-1.563-0.031-3.094 0.438-4.406 1.344-0.531 0.375-1.344 0.25-1.688-0.281-0.375-0.531-0.219-1.281 0.313-1.656 1.688-1.188 3.656-1.813 5.688-1.813 0.031 0 0.031-0.031 0.031-0.031 0.063 0 0.094 0.031 0.125 0.031 0.281 0 0.563 0 0.813 0.031 0.125 0 0.219 0.031 0.344 0.031 0.125 0.031 0.281 0.031 0.438 0.063 0.063 0 0.125 0.031 0.188 0.031 0.094 0.031 0.25 0.094 0.375 0.125 0.188 0.031 0.406 0.094 0.594 0.156 0.094 0.031 0.188 0.063 0.25 0.094 0.25 0.063 0.5 0.156 0.719 0.25 0.063 0 0.094 0.031 0.125 0.031 1.438 0.625 2.719 1.563 3.75 2.813 0 0.031 0.031 0.031 0.031 0.063 0.156 0.188 0.313 0.406 0.438 0.594 0.031 0 0.031 0.031 0.031 0.063 1.125 1.625 1.813 3.531 1.813 5.656h1.969l-3.188 4.781zM0 16l3.188-4.813 3.219 4.813h-2.031c0 1.781 0.656 3.406 1.719 4.719 0.031 0.031 0.031 0.063 0.063 0.094 0.156 0.188 0.313 0.375 0.469 0.531v0.031c0.5 0.5 1.094 0.938 1.719 1.281 0.031 0 0.031 0.031 0.031 0.031 0.188 0.094 0.406 0.188 0.594 0.25 0.031 0.031 0.094 0.063 0.125 0.063 0.156 0.063 0.313 0.125 0.5 0.188 0.063 0.031 0.125 0.063 0.219 0.063 0.125 0.063 0.313 0.094 0.469 0.125 0.094 0.031 0.188 0.031 0.281 0.063 0.156 0.031 0.313 0.063 0.469 0.063 0.094 0.031 0.156 0.031 0.25 0.031 0.188 0.031 0.438 0.031 0.625 0.031 1.594 0.031 3.125-0.438 4.438-1.375 0.531-0.344 1.344-0.188 1.688 0.344 0.375 0.531 0.219 1.281-0.313 1.656-1.688 1.188-3.656 1.813-5.688 1.813-0.344 0-0.688-0.031-1.031-0.063-0.063 0-0.125-0.031-0.188-0.031-0.188-0.031-0.344-0.031-0.531-0.063-0.063-0.031-0.125-0.031-0.156-0.031-0.125-0.031-0.313-0.063-0.438-0.094-0.188-0.063-0.375-0.094-0.563-0.156-0.094-0.031-0.188-0.063-0.313-0.094-0.188-0.063-0.438-0.156-0.656-0.25-0.063 0-0.125-0.031-0.156-0.063-0.25-0.125-0.531-0.25-0.75-0.375-0.031 0-0.063-0.031-0.063-0.031-0.844-0.438-1.563-1-2.25-1.688 0-0.031-0.031-0.031-0.031-0.063-0.188-0.188-0.406-0.406-0.594-0.625-0.063-0.031-0.094-0.125-0.125-0.188l-0.375-0.469c0-0.031-0.031-0.031-0.031-0.063-1.125-1.594-1.813-3.531-1.813-5.656h-1.969z"></path></svg>');
background-size: 32px;position:relative;background-repeat: no-repeat;background-position: left;color: transparent;
background-color: transparent;width: 23px;height: 26px;float: right;}
button#sync.aktif{background-image: url('data:image/svg+xml;utf8,<svg fill="%23659400" width="800px" height="800px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M17.594 16h2.031c0-1.813-0.688-3.531-1.75-4.844h-0.031c-0.781-0.938-1.719-1.656-2.844-2.125-0.031 0-0.063-0.031-0.063-0.031-0.188-0.063-0.375-0.188-0.563-0.25-0.063 0-0.094-0.031-0.156-0.031-0.156-0.063-0.375-0.094-0.531-0.125-0.063-0.031-0.156-0.063-0.219-0.063-0.188-0.031-0.344-0.063-0.531-0.094h-0.188c-0.219-0.031-0.469-0.031-0.688-0.031-1.563-0.031-3.094 0.438-4.406 1.344-0.531 0.375-1.344 0.25-1.688-0.281-0.375-0.531-0.219-1.281 0.313-1.656 1.688-1.188 3.656-1.813 5.688-1.813 0.031 0 0.031-0.031 0.031-0.031 0.063 0 0.094 0.031 0.125 0.031 0.281 0 0.563 0 0.813 0.031 0.125 0 0.219 0.031 0.344 0.031 0.125 0.031 0.281 0.031 0.438 0.063 0.063 0 0.125 0.031 0.188 0.031 0.094 0.031 0.25 0.094 0.375 0.125 0.188 0.031 0.406 0.094 0.594 0.156 0.094 0.031 0.188 0.063 0.25 0.094 0.25 0.063 0.5 0.156 0.719 0.25 0.063 0 0.094 0.031 0.125 0.031 1.438 0.625 2.719 1.563 3.75 2.813 0 0.031 0.031 0.031 0.031 0.063 0.156 0.188 0.313 0.406 0.438 0.594 0.031 0 0.031 0.031 0.031 0.063 1.125 1.625 1.813 3.531 1.813 5.656h1.969l-3.188 4.781zM0 16l3.188-4.813 3.219 4.813h-2.031c0 1.781 0.656 3.406 1.719 4.719 0.031 0.031 0.031 0.063 0.063 0.094 0.156 0.188 0.313 0.375 0.469 0.531v0.031c0.5 0.5 1.094 0.938 1.719 1.281 0.031 0 0.031 0.031 0.031 0.031 0.188 0.094 0.406 0.188 0.594 0.25 0.031 0.031 0.094 0.063 0.125 0.063 0.156 0.063 0.313 0.125 0.5 0.188 0.063 0.031 0.125 0.063 0.219 0.063 0.125 0.063 0.313 0.094 0.469 0.125 0.094 0.031 0.188 0.031 0.281 0.063 0.156 0.031 0.313 0.063 0.469 0.063 0.094 0.031 0.156 0.031 0.25 0.031 0.188 0.031 0.438 0.031 0.625 0.031 1.594 0.031 3.125-0.438 4.438-1.375 0.531-0.344 1.344-0.188 1.688 0.344 0.375 0.531 0.219 1.281-0.313 1.656-1.688 1.188-3.656 1.813-5.688 1.813-0.344 0-0.688-0.031-1.031-0.063-0.063 0-0.125-0.031-0.188-0.031-0.188-0.031-0.344-0.031-0.531-0.063-0.063-0.031-0.125-0.031-0.156-0.031-0.125-0.031-0.313-0.063-0.438-0.094-0.188-0.063-0.375-0.094-0.563-0.156-0.094-0.031-0.188-0.063-0.313-0.094-0.188-0.063-0.438-0.156-0.656-0.25-0.063 0-0.125-0.031-0.156-0.063-0.25-0.125-0.531-0.25-0.75-0.375-0.031 0-0.063-0.031-0.063-0.031-0.844-0.438-1.563-1-2.25-1.688 0-0.031-0.031-0.031-0.031-0.063-0.188-0.188-0.406-0.406-0.594-0.625-0.063-0.031-0.094-0.125-0.125-0.188l-0.375-0.469c0-0.031-0.031-0.031-0.031-0.063-1.125-1.594-1.813-3.531-1.813-5.656h-1.969z"></path></svg>');}
button#export{background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='2.7516651mm' height='2.7516732mm' viewBox='0 0 2.7516651 2.7516732' version='1.1' id='svg1' xml:space='preserve' xmlns:svg='http://www.w3.org/2000/svg'><defs id='defs1' /><g id='layer1' transform='translate(-103.74214,-147.12416)'><g id='g1' transform='matrix(0.35277776,0,0,0.35277776,-54.499848,145.43083)'><path fill='%239ab9e6' fill-rule='evenodd' d='m 452.46,7.92 a 1.56,1.56 0 1 0 0,3.12 1.56,1.56 0 0 0 0,-3.12 z m -0.78,1.56 a 0.78,0.78 0 1 1 1.56,0 0.78,0.78 0 0 1 -1.56,0 z' id='path1' /><path fill='%239ab9e6' fill-rule='evenodd' d='m 448.56,6.75 a 1.95,1.95 0 0 1 1.95,-1.95 h 3.187 c 0.31,0 0.608,0.123 0.827,0.343 l 1.493,1.493 c 0.22,0.22 0.343,0.517 0.343,0.827 v 3.187 a 1.95,1.95 0 0 1 -1.95,1.95 h -3.9 a 1.95,1.95 0 0 1 -1.95,-1.95 z M 450.9,6.36 V 5.58 h 2.34 v 0.78 z m 3.12,0.39 V 5.742 l 1.446,1.445 a 0.39,0.39 0 0 1 0.114,0.276 v 3.187 a 1.17,1.17 0 0 1 -1.17,1.17 h -3.9 a 1.17,1.17 0 0 1 -1.17,-1.17 v -3.9 c 0,-0.51 0.326,-0.943 0.78,-1.103 V 6.75 c 0,0.215 0.175,0.39 0.39,0.39 h 3.12 a 0.39,0.39 0 0 0 0.39,-0.39 z' id='path2' /></g></g></svg>");
background-size: 21px;position:relative;background-repeat: no-repeat;background-position: center;color: transparent;background-color: transparent;width: 21px;height: 21px;}
button#import{background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='5.4008493mm' height='4.4893742mm' viewBox='0 0 5.4008493 4.4893742' version='1.1' id='svg1' xml:space='preserve' xmlns:svg='http://www.w3.org/2000/svg'><defs id='defs1' /><g id='layer1' transform='translate(-102.41755,-146.25532)'><g id='g1' transform='matrix(0.35277778,0,0,0.35277778,102.06997,145.74731)'><path id='shape0' transform='matrix(0.72,0,0,0.72,8.64,2.16)' fill='none' stroke='%239ab9e6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M 0,0 V 12' /><path id='shape1' transform='matrix(0.72,0,0,0.72,5.76,7.92)' fill='none' stroke='%239ab9e6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M 0,0 4,4 8,0' /><path id='shape2' transform='matrix(0.72,0,0,0.72,1.7052689,3.3658225)' fill='none' stroke='%239ab9e6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M 5.77895,0 H 1.92632 C 1.41562,0 0.925321,0.210858 0.564205,0.585786 0.203089,0.960715 0,1.46977 0,2 v 10 c 0,0.5302 0.203089,1.0393 0.564205,1.4142 C 0.925321,13.7891 1.41562,14 1.92632,14 H 17.3369 c 0.5107,0 1.001,-0.2109 1.3621,-0.5858 0.3611,-0.3749 0.5642,-0.884 0.5642,-1.4142 V 2 C 19.2632,1.46977 19.0601,0.960715 18.699,0.585786 18.3379,0.210858 17.8476,0 17.3369,0 h -3.8527' /></g></g></svg>");
background-size: 24px;position:relative;background-repeat: no-repeat;background-position: center;color: transparent;padding-bottom: 0px;background-color: transparent;width: 24px;height: 24px;}
.redo-button{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-10 0 512 512" width="24" height="24"><path fill="%23a2c1f4" d="M463.5 224l8.5 0c13.3 0 24-10.7 24-24l0-128c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2 5.2L413.4 96.6c-87.6-86.5-228.7-86.2-315.8 1c-87.5 87.5-87.5 229.3 0 316.8s229.3 87.5 316.8 0c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0c-62.5 62.5-163.8 62.5-226.3 0s-62.5-163.8 0-226.3c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2s12.5 14.8 22.2 14.8l119.5 0z"/></svg>');background-repeat: no-repeat;background-position: center;background-size: 16px;color: transparent;}
.logo{background-image:url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUzLjA4NyIgaGVpZ2h0PSI0NS44NDIiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJhIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjQ4MS42MTUiIHkxPSI0MjYuNTE2IiB4Mj0iNTI4LjI3MiIgeTI9IjE5NC4zNjMiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI0NGNUEyQSIgc3R5bGU9InN0b3AtY29sb3I6IzliMWZhYztzdG9wLW9wYWNpdHk6MSIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0VBOUMzMyIgc3R5bGU9InN0b3AtY29sb3I6I2ZmM2I3MjtzdG9wLW9wYWNpdHk6MSIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxwYXRoIHN0eWxlPSJmb250LXdlaWdodDo2MDA7Zm9udC1zaXplOjE3LjMzMzNweDtsaW5lLWhlaWdodDoxLjc5O2ZvbnQtZmFtaWx5OlJhbGV3YXk7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjonUmFsZXdheSBTZW1pLUJvbGQnO3RleHQtYWxpZ246ZW5kO2xldHRlci1zcGFjaW5nOjA7d29yZC1zcGFjaW5nOjA7dGV4dC1hbmNob3I6ZW5kO3doaXRlLXNwYWNlOnByZTtmaWxsOiNiMWNlZTc7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlLXdpZHRoOjE2LjEyNTUiIGQ9Ik04NzUuNzg4IDQ1My4zNXYxMzkuNzU0aC0zMS4zMDV2LTE5OC40NWgyNC41OTdsMTEzLjQ4IDE0My4xMDhWMzk0LjkzM2gzMS41ODV2MTk4LjE3MUg5ODguMTV6bTI2NS41MzMgMTQxLjE1MnEtMjEuMjQzIDAtMzguODUyLTguMzg1LTE3LjMzLTguNjY1LTI5LjkwNy0yMi42NC0xMi41NzgtMTQuMjU1LTE5LjU2Ni0zMi40MjMtNi43MDgtMTguMTY4LTYuNzA4LTM3LjE3NSAwLTE5Ljg0NSA3LjI2Ny0zOC4wMTN0MTkuODQ1LTMyLjE0M3ExMi44NTgtMTMuOTc2IDMwLjE4Ny0yMi4wODIgMTcuNjEtOC4zODUgMzguMjkzLTguMzg1IDIxLjI0MiAwIDM4LjU3MiA4Ljk0NCAxNy42MDkgOC42NjUgMjkuOTA3IDIyLjkyIDEyLjU3OCAxNC4yNTUgMTkuMjg2IDMyLjQyMyA2Ljk4OCAxNy44ODkgNi45ODggMzYuNjE2IDAgMTkuODQ1LTcuMjY3IDM4LjAxMy02Ljk4OCAxOC4xNjgtMTkuODQ1IDMyLjE0My0xMi44NTggMTMuNjk2LTMwLjQ2NyAyMi4wODEtMTcuMzMgOC4xMDYtMzcuNzMzIDguMTA2em0tNjMuMTY5LTEwMC42MjNxMCAxMy45NzUgNC40NzIgMjcuMTEyIDQuNDcyIDEzLjEzNyAxMi41NzggMjMuMiA4LjM4NSAxMC4wNjIgMjAuMTI1IDE2LjIxIDExLjczOSA1Ljg3IDI2LjI3MyA1Ljg3IDE1LjA5NCAwIDI2LjU1My02LjE0OSAxMS43NC02LjQyOCAxOS44NDYtMTYuNzcgOC4xMDUtMTAuMzQyIDEyLjI5OC0yMy4yIDQuMTkzLTEyLjg1NyA0LjE5My0yNi4yNzMgMC0xNC4yNTUtNC40NzMtMjcuMTEyLTQuNDcyLTEzLjEzNy0xMi44NTctMjIuOTItOC4xMDYtMTAuMDYyLTE5Ljg0NS0xNS45MzItMTEuNDYtNi4xNDktMjUuNzE1LTYuMTQ5LTE1LjA5MyAwLTI2LjgzMiA2LjQyOS0xMS43NCA2LjE0OS0xOS44NDYgMTYuMjExLTguMTA1IDEwLjA2Mi0xMi41NzcgMjMuMi00LjE5MyAxMi44NTctNC4xOTMgMjYuMjczem0zMjcuMzAzLTcxLjU1NGgtNjUuOTYzdjE3MC43OGgtMzEuNTg1di0xNzAuNzhoLTY2LjI0M3YtMjcuNjcxaDE2My43OTJ6bTE2Mi42NzQgMTQzLjEwOHYyNy42NzFoLTEzNi4xMnYtMTk4LjQ1aDEzMy42MDR2MjcuNjcxaC0xMDIuM3Y1Ni40Nmg4OC42MDR2MjUuOTk1aC04OC42MDR2NjAuNjUzem0xOTkuMjg5IDI3LjY3MVY0NTAuMjc2bC01OC45NzYgMTA4LjE3aC0xNy4zM2wtNTkuMjU1LTEwOC4xN3YxNDIuODI4aC0zMS4zMDV2LTE5OC40NWgzMy41NGw2NS42ODUgMTIxLjMwNiA2NS42ODQtMTIxLjMwNmgzMy41NDF2MTk4LjQ1em0xNTguNzYgMS4zOThxLTIxLjI0MiAwLTM4Ljg1MS04LjM4NS0xNy4zMy04LjY2NS0yOS45MDctMjIuNjQtMTIuNTc4LTE0LjI1NS0xOS41NjYtMzIuNDIzLTYuNzA4LTE4LjE2OC02LjcwOC0zNy4xNzUgMC0xOS44NDUgNy4yNjctMzguMDEzdDE5Ljg0NS0zMi4xNDNxMTIuODU3LTEzLjk3NiAzMC4xODctMjIuMDgyIDE3LjYwOS04LjM4NSAzOC4yOTMtOC4zODUgMjEuMjQyIDAgMzguNTcyIDguOTQ0IDE3LjYwOSA4LjY2NSAyOS45MDcgMjIuOTIgMTIuNTc4IDE0LjI1NSAxOS4yODYgMzIuNDIzIDYuOTg4IDE3Ljg4OSA2Ljk4OCAzNi42MTYgMCAxOS44NDUtNy4yNjcgMzguMDEzLTYuOTg4IDE4LjE2OC0xOS44NDYgMzIuMTQzLTEyLjg1NyAxMy42OTYtMzAuNDY2IDIyLjA4MS0xNy4zMyA4LjEwNi0zNy43MzMgOC4xMDZ6bS02My4xNjgtMTAwLjYyM3EwIDEzLjk3NSA0LjQ3MiAyNy4xMTIgNC40NzIgMTMuMTM3IDEyLjU3OCAyMy4yIDguMzg1IDEwLjA2MiAyMC4xMjQgMTYuMjEgMTEuNzQgNS44NyAyNi4yNzQgNS44NyAxNS4wOTMgMCAyNi41NTMtNi4xNDkgMTEuNzQtNi40MjggMTkuODQ1LTE2Ljc3IDguMTA2LTEwLjM0MiAxMi4yOTktMjMuMiA0LjE5Mi0xMi44NTcgNC4xOTItMjYuMjczIDAtMTQuMjU1LTQuNDcyLTI3LjExMi00LjQ3Mi0xMy4xMzctMTIuODU3LTIyLjkyLTguMTA2LTEwLjA2Mi0xOS44NDUtMTUuOTMyLTExLjQ2LTYuMTQ5LTI1LjcxNS02LjE0OS0xNS4wOTMgMC0yNi44MzMgNi40MjktMTEuNzM5IDYuMTQ5LTE5Ljg0NSAxNi4yMTEtOC4xMDUgMTAuMDYyLTEyLjU3OCAyMy4yLTQuMTkyIDEyLjg1Ny00LjE5MiAyNi4yNzN6bTE5MC45MDQgOTkuMjI1di0xOTguNDVoNzAuNDM2cTI0LjAzNyAwIDQxLjkyNiA3LjgyNiAxOC4xNjggNy44MjYgMzAuMTg3IDIxLjI0MyAxMi4yOTggMTMuNDE2IDE4LjQ0NyAzMS41ODQgNi4xNSAxNy44ODggNi4xNSAzOC4yOTMgMCAyMi42NC02Ljk4OCA0MS4wODctNi43MDkgMTguMTY4LTE5LjI4NiAzMS4zMDUtMTIuNTc4IDEyLjg1Ny0zMC40NjcgMjAuMTI1LTE3Ljg4OCA2Ljk4Ny0zOS45NyA2Ljk4N3ptMTM1LjI4Mi05OS41MDRxMC0xNS42NTMtNC40NzMtMjguNzktNC4xOTItMTMuMTM3LTEyLjU3Ny0yMi4zNi04LjM4Ni05LjUwNC0yMC40MDQtMTQuODE0LTEyLjAyLTUuMzExLTI3LjM5Mi01LjMxMWgtMzkuMTMxdjE0My4xMDhoMzkuMTNxMTUuNjUzIDAgMjcuNjcyLTUuMzEgMTIuMjk4LTUuNTkgMjAuNDA0LTE1LjA5NCA4LjM4NS05Ljc4MyAxMi41NzgtMjIuOTIgNC4xOTMtMTMuMTM3IDQuMTkzLTI4LjUxeiIgYXJpYS1sYWJlbD0iTk9URU1PRCIgdHJhbnNmb3JtPSJtYXRyaXgoLjA3NjcgMCAwIC4wNzY3IC0xNy4yODMgLTEzLjcyKSIvPjxwYXRoIGZpbGw9IiMxNzI3NDQiIGQ9Ik05LjUyIDMxLjYzNWMuMzQ2LS4wMDIuNjkzLjAwMSAxLjAzOC0uMDA3YS4zNjcuMzY3IDAgMCAxLS4yMDYuMTQ4Yy0uMjg3LjA4NS0uNTc4LjAwMS0uODMxLS4xNDF6Ii8+PHBhdGggZmlsbD0iI2Y4ZjZmOCIgdHJhbnNmb3JtPSJtYXRyaXgoLjA3MTc2IDAgMCAuMDcxNzYgLTE3LjI4MyAtMTMuNzIpIiBkPSJNMzczLjUgNjMyLjAwOGMtMS40MzMtLjk4OS0yLjYxMi0xLjgxNy0yLjk4OC0zLjY0Mi0uMjY2LTEuMjk3LS4wOTQtMS42OTguMzYzLTIuODg2IDQuNDE1LTMuOTExIDE2LjQ3Ni0yLjAyMiAyMi4xODctMS45NDYtMS4zMjIgMy4xMDctMi40OTUgNi4wOTYtNS4xMDYgOC4zNzMtNC44MTMuMTItOS42NDEuMDcyLTE0LjQ1Ni4xMDF6TTM3MS41MTQgNTc1LjAxM3ExMi4xMTItLjAzOSAyNC4yMjEuMTkyYy0uMzg2IDIuMzAxLS41NjcgNi4xMTgtMS44NiA4LjAzNi00LjgyNi4wNzMtMjAuMDA4IDEuNDI1LTIzLjM1NS0xLjI2NC0uNjI1LS41MDEtMS4wNzUtMS4xODYtMS4xNTUtMS45NzktLjIxLTIuMDg4Ljg2Ni0zLjQ3NSAyLjE0OS00Ljk4NXpNNDA3LjIyNiA1MjYuNzVxOC4wNDEtLjEwMSAxNi4wNzkuMTE3Yy0yLjg0OCAzLjIxOC01Ljg0MiA2LjIwOC04Ljk0NSA5LjE4bC0yOS42Ny4wNTZjLTIuOTY5LjA3OS0xMS44NjYgMS4xMjMtMTMuOTk0LS45MTktLjk5OS0uOTU4LTEuNjM3LTIuMjY2LTEuNjY0LTMuNjYyLS4wMjYtMS4yOTEuNjg0LTIuNTQxIDEuNTQzLTMuNDU5IDEuODk2LTIuMDI2IDMxLjkwMy0xLjI4NSAzNi42NTEtMS4zMTN6IiBzdHlsZT0iZmlsbDojYjFjZWU3O2ZpbGwtb3BhY2l0eToxIi8+PHBhdGggZmlsbD0iI2NkZDRkYSIgdHJhbnNmb3JtPSJtYXRyaXgoLjA3MTc2IDAgMCAuMDcxNzYgLTE3LjI4MyAtMTMuNzIpIiBkPSJNNTIzLjQ4NyA2MjAuNTk4YzguMjA0IDEuMTM2IDE3LjIxMi40MzcgMjUuNTA5LjQxNWw0OS4zNjUtLjEwN2MyLjEyMSAxLjk0MiA1LjkgNS4yODggNS45OTMgOC40MTEuMDA4LjI1LS4wMDMuNS0uMDA1Ljc1bC0uMDA5LjM2OHEtNDUuNzQ1LjQ5Ny05MS40OTIuMTMzYzMuMjIxLTMuNjE2IDYuOTktNi44IDEwLjYzOS05Ljk3eiIgc3R5bGU9ImZpbGw6IzhlYjdkYjtmaWxsLW9wYWNpdHk6MSIvPjxwYXRoIGZpbGw9IiNmOGY2ZjgiIHRyYW5zZm9ybT0ibWF0cml4KC4wNzE3NiAwIDAgLjA3MTc2IC0xNy4yODMgLTEzLjcyKSIgZD0iTTM5Mi4xOCA0NzQuNzUycTQwLjM1MS4xMzcgODAuNjk2LS41MDVsLTEwLjA3NSA5Ljc1Mi0xNS4wNTEuMDQ4LTUwLjk3NS0uMDFjLTcuMjQ3LjAwMS0xNS4wMDQuNjIxLTIyLjE5NC4xMS0xLjQ1NS0uMTAzLTIuOTE5LS42MDItNC4xMDktMS40NTQtMS4yNjYtLjkwNy0yLjM5NC0yLjQ5Mi0yLjQ1NC00LjEtLjA1NS0xLjQ2MS41MTItMS45MzQgMS40MTUtMi45MiA0LjIyNi0xLjgyIDE3LjQ0NS0uOTIxIDIyLjc0Ny0uOTIxek00OTguMDU4IDQzOC41MTNsLTgyLjMwMS0uMS0yOS42MzItLjExMWMtMy44NjktLjAwNy03Ljc5OS40MDItMTEuNjU4LjE5Ni0xLjYwNC0uMDg1LTMuNjgyLS4zMzItNS4wMDMtMS4zNTMtLjk5MS0uNzY2LTEuNTE5LTEuODIyLTEuNTU5LTMuMDc0LS4wMzktMS4yMi43MzctMi42NzEgMS42MDEtMy41MiAxLjAyNC0xLjAwNyAyLjMyOS0xLjAwMiAzLjY4NC0xLjA4OCAxMS45NzMtLjc2IDI0LjQ5OC0uMDI0IDM2LjUzMy0uMDU3bDc5LjMzNC4wNDRjMTAuMzI5LjExNSAyMC42Ny4xMjIgMzAuOTgyLjc1N2wtOC40MzIgOC4yODN6TTQ0Mi4wNDcgNTQ1LjE2N2wyNS45MTEgMjYuMDU3LTM4LjY5MyAzOS4zMDRjLTQuMTU3IDQuMjQtNy45MTcgOS41MjMtMTIuMzI2IDEzLjQwNy0uNzc1LjY4My0xLjIxMi45MDYtMi4xODggMS4xMjcgNC4wMDUtMTUuNzYxIDkuMTU1LTMxLjExOSAxMy41MzgtNDYuNzYgMS45NjctNy4wMTggNC42MzQtMjEuMDUgNy42NzctMjYuOTM4IDEuMTM4LTIuMjAyIDQuMjU3LTQuNDgxIDYuMDgxLTYuMTk3eiIgc3R5bGU9ImZpbGw6I2IxY2VlNztmaWxsLW9wYWNpdHk6MSIvPjxwYXRoIGZpbGw9IiNhOTRmMzYiIHRyYW5zZm9ybT0ibWF0cml4KC4wNzE3NiAwIDAgLjA3MTc2IC0xNy4yODMgLTEzLjcyKSIgZD0iTTczNy44NjMgMzA5LjA5N3ExMS45MzYgMTIuMjA5IDI0LjM3NCAyMy45MDdjLTEyLjc1NSAxMy43ODItMjYuODg3IDI2LjM2Ni0zOS44MjcgNDAuMDI5LTguMTM5LTguMjAzLTE2LjYzNy0xNi4zMDgtMjQuNTEzLTI0Ljc0OSAxMy44ODgtMTIuNDA1IDI2LjQ1Ni0yNi4zMzYgMzkuOTY2LTM5LjE4N3oiIHN0eWxlPSJmaWxsOiM5NTI2N2M7ZmlsbC1vcGFjaXR5OjEiLz48cGF0aCBmaWxsPSIjY2RkNGRhIiB0cmFuc2Zvcm09Im1hdHJpeCguMDcxNzYgMCAwIC4wNzE3NiAtMTcuMjgzIC0xMy43MikiIGQ9Ik02OTEuMDMxIDM1NS43MTVjNy45NCA3Ljk2MyAxNi43NjEgMTUuODExIDI0LjAyMiAyNC4zNTktNS4wNDcgNi4xMi0xMC44OTMgMTEuNjA3LTE2LjUwNiAxNy4yMDNsLTIzLjAzNSAyMy4wNzJjLTguNTQ4LTcuMzU2LTE3LjIwMy0xNS45MjUtMjQuNTQ0LTI0LjQ5NiAxMi44MTQtMTMuODQgMjcuMDA0LTI2LjQ4MSA0MC4wNjMtNDAuMTM4eiIgc3R5bGU9ImZpbGw6IzhlYjdkYjtmaWxsLW9wYWNpdHk6MSIvPjxwYXRoIGZpbGw9IiNmOGY2ZjgiIHRyYW5zZm9ybT0ibWF0cml4KC4wNzE3NiAwIDAgLjA3MTc2IC0xNy4yODMgLTEzLjcyKSIgZD0ibTY2NS4zODMgMzMwLjE2OCAyNS42NDggMjUuNTQ3Yy0xMy4wNTkgMTMuNjU3LTI3LjI0OSAyNi4yOTgtNDAuMDYzIDQwLjEzOGwtMjUuMTY0LTI1Ljc3M2M0LjY3LTUuNjEzIDEwLjMxLTEwLjY0OSAxNS40MjItMTUuODgyIDcuOTAxLTguMDg4IDE1LjYxLTE2LjYyNCAyNC4xNTctMjQuMDN6IiBzdHlsZT0iZmlsbDojYjFjZWU3O2ZpbGwtb3BhY2l0eToxIi8+PHBhdGggZmlsbD0iI2U5NSIgdHJhbnNmb3JtPSJtYXRyaXgoLjA3MTc2IDAgMCAuMDcxNzYgLTE3LjI4MyAtMTMuNzIpIiBkPSJNNzExLjU0IDI4Mi45NDNjOS4wMzUgOC40OTQgMTcuNjQ5IDE3LjI5NyAyNi4zMjMgMjYuMTU0LTEzLjUxIDEyLjg1MS0yNi4wNzggMjYuNzgyLTM5Ljk2NiAzOS4xODctOC42NjgtOC4yMDQtMTcuMTEtMTYuNTY4LTI2LjAxOS0yNC41MjMgMTIuODIxLTEzLjk1NiAyNi43NDMtMjYuOTI1IDM5LjY2Mi00MC44MTh6IiBzdHlsZT0iZmlsbDojZGQ0MGExO2ZpbGwtb3BhY2l0eToxIi8+PHBhdGggZmlsbD0iI2NkZDRkYSIgdHJhbnNmb3JtPSJtYXRyaXgoLjA3MTc2IDAgMCAuMDcxNzYgLTE3LjI4MyAtMTMuNzIpIiBkPSJNNDY3Ljk1OCA1NzEuMjI0YzQuMTUxIDQuMzEyIDI4Ljk2IDI4LjU5MyAyOS4xNTcgMzAuOTIxLTEuMDc1IDMuMDk2LTMuNjg5IDUuMjA5LTYuNTggNi42My04LjE0NiA0LjAwMi0yMC41MTMgNi42OTctMjkuMzY3IDkuNDA2LTE2LjQ2MyA1LjAzNy0zMi44MDUgMTAuNDQxLTQ5LjMwNiAxNS4zNjMuOTM3LTIuNzkxIDEuNzM0LTUuNzgzIDIuODg5LTguNDgyLjk3Ni0uMjIxIDEuNDEzLS40NDQgMi4xODgtMS4xMjcgNC40MDktMy44ODQgOC4xNjktOS4xNjcgMTIuMzI2LTEzLjQwN3oiIHN0eWxlPSJmaWxsOiM4ZWI3ZGI7ZmlsbC1vcGFjaXR5OjEiLz48cGF0aCBmaWxsPSIjY2U2NjM3IiB0cmFuc2Zvcm09Im1hdHJpeCguMDcxNzYgMCAwIC4wNzE3NiAtMTcuMjgzIC0xMy43MikiIGQ9Ik01MTEuNTg2IDU0MS4wMDRjMTcuNzY5LTE5LjMzNyAzNi40MTgtMzcuNzY2IDU1LjAxNi01Ni4yOTRsNDcuMjYxLTQ3LjExNWMxMC45MzYtMTAuNzM5IDIyLjE3Ni0yMS4xOTkgMzIuODk4LTMyLjE1IDIuMjkyIDIuMDQzIDQuNDQgNC4yOTMgNi42MjIgNi40NTYtMi42NDEgMy4yMy02LjEzMSA2LjA0OS05LjE4MSA4LjkyM3EtNy4yOTMgNi43ODEtMTQuMTUyIDE0LjAwMS0zOC42MSA0MC4yMzktNzguODQ5IDc4Ljg0OGMtMTIuNzIyIDEyLjQxOS0yNS42NjIgMjQuNC0zOC4wNTkgMzcuMTc1LTguNTA1IDguODQ2LTE2LjY3MSAxOC4wODQtMjUuNDE5IDI2LjY4OWwtNi4zNDMtNi40NjhxMTUuMjE5LTE0LjkxNiAzMC4yMDYtMzAuMDY1eiIgc3R5bGU9ImZpbGw6I2RkNDBhMTtmaWxsLW9wYWNpdHk6MSIvPjxwYXRoIGZpbGw9IiNhOTRmMzYiIHRyYW5zZm9ybT0ibWF0cml4KC4wNzE3NiAwIDAgLjA3MTc2IC0xNy4yODMgLTEzLjcyKSIgZD0iTTY1My4zODMgNDExLjkwMWM1LjM2OSA1LjAxOSAxMC44MjEgMTAuMDQxIDE1Ljg5MiAxNS4zNjVxLTIyLjk0MSAyMi40MDktNDUuNDMzIDQ1LjI2Ny0zMi42MjcgMzIuMTQ4LTY0Ljc3MyA2NC43NzhsLTMyLjQzNyAzMi4zOThjLTcuODgyIDcuOTA5LTE1Ljk0NyAxNS42NjgtMjIuODU0IDI0LjQ2NnEtNy45ODItOC4zNjMtMTYuMDU1LTE2LjYzOGM4Ljc0OC04LjYwNSAxNi45MTQtMTcuODQzIDI1LjQxOS0yNi42ODkgMTIuMzk3LTEyLjc3NSAyNS4zMzctMjQuNzU2IDM4LjA1OS0zNy4xNzVxNDAuMjM5LTM4LjYwOSA3OC44NDktNzguODQ4IDYuODU5LTcuMjIgMTQuMTUyLTE0LjAwMWMzLjA1LTIuODc0IDYuNTQtNS42OTMgOS4xODEtOC45MjN6IiBzdHlsZT0iZmlsbDojOTUyNjdjO2ZpbGwtb3BhY2l0eToxIi8+PHBhdGggZmlsbD0iI2U5NSIgdHJhbnNmb3JtPSJtYXRyaXgoLjA3MTc2IDAgMCAuMDcxNzYgLTE3LjI4MyAtMTMuNzIpIiBkPSJNNjE4LjI0OCAzNzcuMDI1YzcuMjYyIDcuMjYzIDE0LjYyOSAxNC40NDcgMjEuNzQ2IDIxLjg1MS0xMS40NTEgMTMuNTUxLTI2Ljg1MiAyNi42MTItMzkuNTAzIDM5LjQ0NXEtMjkuNjYgMzAuMzE0LTYwLjAzMyA1OS45MTVjLTkuMDkgOS4wMjItMTcuOTA1IDE4LjQ3My0yNy4yMzMgMjcuMjM3LTQuODI1IDUuODA0LTExLjIyMiAxMS4wMjQtMTYuNzA2IDE2LjIzMy03LjY1NSA3LjI3Mi0xNS4wNzEgMTQuNzkzLTIyLjc2MiAyMi4wMjQtNi44NjctNi45MjEtMTMuNTctMTQuMTA3LTIwLjkxLTIwLjUyOSA5LjEzMy05LjE3OCAxOC42OTEtMTcuOTI4IDI3Ljk5LTI2LjkzNiAxMC40NTUtMTAuMTI4IDIwLjY3Ni0yMC41MTIgMzEuMDE4LTMwLjc1NyAxMi44NzItMTMuODcxIDI2LjYzNy0yNi45ODQgMzkuOTM5LTQwLjQ0MnoiIHN0eWxlPSJmaWxsOiNkZDQwYTE7ZmlsbC1vcGFjaXR5OjEiLz48cGF0aCBmaWxsPSIjMjc2NDhhIiBkPSJNMjkuOTA4IDIxLjM2NGMxLjQwMiAxLjQzIDIuODQ3IDIuODE0IDQuMjczIDQuMjIuNzAyLjY5MyAxLjM4NyAxLjQwNCAyLjA4NCAyLjEwMi4wMDUuNzMxLS4wMzYgMS40NzItLjAwNyAyLjIwMWEyLjcxNCAyLjcxNCAwIDAgMS0uODk4IDEuOWMtLjg1OS43NjctMi4wODMgMS41NzMtMy4wMzMgMi4yNzMtLjUwNS4zNzMtMS40MTIgMS4xMi0xLjkyNyAxLjM5NmwtLjAyLS4wMnEtMS4zNy0xLjM4NS0yLjc5NS0yLjcxM2MtLjM1OS0uMzQtLjg2My0uOTE5LTEuMjg2LTEuMTZhLjQzMy40MzMgMCAwIDAtLjIxMy0uMDQxdi0uMDI2Yy4wMDEtLjAxOC4wMDItLjAzNi4wMDEtLjA1NC0uMDA2LS4yMjQtLjI3OC0uNDY0LS40My0uNjA0bC0zLjU0Mi4wMDhjLS41OTYuMDAxLTEuMjQyLjA1Mi0xLjgzMS0uMDMuMzM0LS4wOCAxLjEwNS0uMDIgMS40OC0uMDJsMy43ODMtLjAwM3EtMS4zNDctMS4yNTEtMi42My0yLjU3YTEuNjUgMS42NSAwIDAgMSAuMjI0LS4yMjVjLjIwNi0uMjEzLjQxLS40MjMuNjI5LS42MjEuMTM3LS4xNzcgMi41OTMtMi41ODggMi43MjYtMi42NjcuMjI3LS4xOTcuNDM0LS40MjIuNjQ2LS42MzVhNTEuODAxIDUxLjgwMSAwIDAgMSAyLjc2Ni0yLjcxMXoiLz48cGF0aCBmaWxsPSIjZjhmNmY4IiB0cmFuc2Zvcm09Im1hdHJpeCguMDcxNzYgMCAwIC4wNzE3NiAtMTcuMjgzIC0xMy43MikiIGQ9Im02MTkuMDQ3IDUyNi42NTcgMjEuODk3LjA0YzMuNDktLjAxNiA3LjIxLS41NDkgMTAuNjU3LjAxNyAxLjc4MS4yOTMgMy40MS44NTMgNC42NjcgMi4xOTUuODgyLjk0IDEuMTMyIDEuOTU1IDEuMDU0IDMuMjExLS45NTMgMS42OTItMi4yMyAyLjM5Ny00LjA2OSAyLjg5OS01LjUzOCAxLjUxMS0zNi4zMiAxLjA5MS00My4yMDYuNDg3IDMuMTcxLTIuNzM1IDYuMDU0LTUuODczIDktOC44NDl6TTU5OC4zNjEgNjIwLjkwNmwzNi4xMjQtLjA2MmM1LjgzNC0uMDE0IDEyLjUzMy0uNjU2IDE4LjI3OS4yMjEgMS4yMzEuMTg4IDIuMjU2LjU3NCAzLjEyNiAxLjUyMS44MDQuODc1IDEuMjgxIDIuMTA4IDEuMjE3IDMuMy0uMDY0IDEuMjAyLS42OCAyLjQxNC0xLjY2MSAzLjEyNy0uOTg2LjcxNy0yLjEyNC44ODctMy4zMDYuOTcyLTYuOTk4LjQ5Ny0xNC4yODMuMDc1LTIxLjMxLjA1Mi04LjgxNC0uMDMtMTcuNjc0LjIzNy0yNi40ODEuMDMuMDAyLS4yNS4wMTMtLjUuMDA1LS43NS0uMDkzLTMuMTIzLTMuODcyLTYuNDY5LTUuOTkzLTguNDExek01NzIuMDY0IDU3Mi42NjhsNTQuNDkxLjA2NGM3Ljg5Ny4wMjIgMTYuNDUzLS44MDggMjQuMjM5LjA1NCAxLjgxOS4yMDIgNC41ODMuNzE5IDUuODM1IDIuMjIxLjc3NS45MzIuODI0IDEuODY2LjU3IDMuMDA3LS4yNDkgMS4xMjMtMS4zNjYgMi43NjgtMi4zMzUgMy4zMzEtMS45NTUgMS4xMzctODEuOTY5IDEuMDEtOTEuNTYtLjAxOSAyLjg1OC0yLjk2MiA1LjcxMi01Ljg4OSA4Ljc2LTguNjU4eiIgc3R5bGU9ImZpbGw6I2IxY2VlNztmaWxsLW9wYWNpdHk6MSIvPjxwYXRoIGZpbGw9InVybCgjYSkiIHRyYW5zZm9ybT0ibWF0cml4KC4wNzE3NiAwIDAgLjA3MTc2IC0xNy4yODMgLTEzLjcyKSIgZD0iTTM1OC42NzMgMjk0LjM0NGMxMC41MjEtOS4xNjUgMjIuNjY3LTE3LjE1MSAzMy44NzUtMjUuNWw1Ny4xMzYtNDIuNjYzYzEyLjI5OS04Ljk5OSAyOC42MS0yMy4yODYgNDEuNDU5LTI5Ljg5NCA3LjEwOS0zLjY1NSAxNS4xNDgtNS41NzMgMjMuMTUtNS4wMDlxMi41MS4xNzEgNC45ODYuNjE2IDIuNDc2LjQ0NSA0Ljg4OCAxLjE2IDIuNDEyLjcxNSA0LjczMSAxLjY5IDIuMzE5Ljk3NiA0LjUxNyAyLjJjNi42MiAzLjY4MyAxMi42OTYgOC42MDggMTguNzg3IDEzLjEwNWwyNy41ODQgMjAuMzk1IDQ3LjA0NiAzNC44MjRjMTAuODc5IDcuOTYzIDIxLjg4OCAxNS43NCAzMi41MjYgMjQuMDNMNTU3LjAxMyAzOTIuNTAzbC0yNC43MzkgMjUuMzAzYy0zLjc5MSAzLjkzLTcuODQgOS4yMDctMTIuMjM1IDEyLjQwMS0xMC4zMTItLjYzNS0yMC42NTMtLjY0Mi0zMC45ODItLjc1N3EtNDQuNjExLTQ1LjAwNi04OC4wNy05MS4xMjRsLTI3LjYyMS0yOC45MzljLTQuODYyLTUuMDIyLTkuOTg3LTkuODgyLTE0LjY5My0xNS4wNDN6IiBzdHlsZT0iZGlzcGxheTppbmxpbmU7ZmlsbDp1cmwoI2EpIi8+PHBhdGggZmlsbD0iI2NkZDRkYSIgdHJhbnNmb3JtPSJtYXRyaXgoLjA3MTc2IDAgMCAuMDcxNzYgLTE3LjI4MyAtMTMuNzIpIiBkPSJNNzY5LjUyOSAzNzguMzA0YzguNjkgOC4xODkgMTIuMjI4IDE2LjQwNCAxMi42MyAyOC4zMzcuNTYgMTYuNjA5LjAyOCAzMy40MDMtLjAxOCA1MC4wMzNsLS4wNzIgODcuNTE0LS4wMTggNTAuODY2Yy0uMDExIDExLjUxOS44NSAyMy44MTctMS4zOTggMzUuMTMyLTIuMTA1IDEwLjYtNy41NzMgMTkuOTU4LTE0Ljk0OCAyNy43OTItNy43MjEgOC4yMDItMTguOTUyIDE0LjI1OC0yOC4wOTcgMjAuODk2bC03Ni45NCA1NS4zMDRjLTMwLjg1OSAyMi4yNzYtNjEuMjY5IDQ1LjE3OS05Mi4zMjMgNjcuMTg2cS05LjMyNCA2LjU4OS0xOC41MTEgMTMuMzY3Yy0zLjYyNSAyLjY2OS03LjE4NyA1LjYzNi0xMS4wNTQgNy45NDEtNy41NzMgNC41MTUtMTYuNjM4IDcuMDUzLTI1LjQzOCA3LjI4M3EtMS43NzIuMDU3LTMuNTQ1LS4wMDgtMS43NzItLjA2Ni0zLjUzNS0uMjU0LTEuNzYzLS4xODgtMy41MDktLjQ5OC0xLjc0Ny0uMzEtMy40NjctLjc0dC0zLjQwNy0uOTc5cS0xLjY4Ni0uNTQ4LTMuMzMxLTEuMjEyLTEuNjQ0LS42NjQtMy4yMzktMS40NC0xLjU5NC0uNzc2LTMuMTMxLTEuNjYxYy01Ljk5NC0zLjQxOS0xMS42NDYtOC4wMjktMTcuMjQzLTEyLjA2MnEtMTguODI1LTEzLjYxNy0zNy40NS0yNy41MDhMMzM0LjQ1IDcxMi42MWMtMTUuODU2LTExLjcxNS0zMS45NjEtMjMuMTI0LTQ3Ljk2Mi0zNC42NDMtOC42NS02LjIyNy0xOC4yMDMtMTIuMTM1LTI1LjkxNS0xOS40OTItMTIuNTY3LTExLjk5MS0xOS4wMDYtMjcuNDMyLTE5LjI3OS00NC42NzUtLjc4LTQ5LjA2OS0uMzQ4LTk4LjI4Mi0uMjkzLTE0Ny4zNjRsLjE1NS00My4xMmMuMDYyLTguMDI5LS40OTYtMTYuNjA5Ljk0Ny0yNC41MTggMS44MzQtMTAuMDU0IDcuMjE1LTIwLjQ4MyAxNC4zNzMtMjcuNzcgNi44MzMtNi45NTUgMTUuMDI4LTExLjExOSAyMi42MTQtMTYuOTQxbC0uMTE0IDE3NS43MDctLjE4NiA1Mi42NDRjLS4wNSA5LjY0NC0uOTQxIDE5Ljk4NS4zNzYgMjkuNTM2Ljk0NiA2Ljg1NSAzLjc2NCAxMy41OTMgOC43NzUgMTguNDk4IDYuNTggNi40NCAxNi43MzMgMTIuNTMyIDI0LjI1NyAxOC4xMDZsNjcuNDcxIDQ5LjMwNSA3OC44NzQgNTguNzQ3YzEwLjcyNiA3LjkxMSAyMi4wNjUgMTcuNTYgMzMuMzExIDI0LjQ3NyA1LjkyOSAzLjY0NyAxMS4zNzkgNS41NDggMTguMzEyIDYuMDkuNDIzLjA4Ny41OTIuMTM2IDEuMDcxLjE1NCA2LjAwNy4yMjggMTIuNjk4LTEuMjY1IDE4LjExMS0zLjg0NyA4LjQ0NS00LjAyOSAyNC4yOTEtMTcuMjMzIDMyLjU5LTIzLjI2NCA0LjkyNy0zLjU4MSAxMS4zNi03LjEzMiAxNS42MTUtMTEuMzgyIDkuNDE1LTUuMzMxIDE5LjgyNi0xNC4zOTkgMjguNzgyLTIwLjkyMiAxOS40My0xNC4xNDkgMzkuMDk0LTI3Ljk3OSA1OC4xMTEtNDIuNjg1IDcuMTc3LTMuODQzIDE5LjgxNy0xNC4yNTUgMjYuODYzLTE5LjQ0OCAxMy4yMzgtOS43NTYgMzAuMjk0LTIwLjk4NyA0Mi4yNjItMzEuNjg0IDcuNjU2LTYuODQyIDExLjk1OS0xNi4yNjggMTIuNTA4LTI2LjQ2MS0uNDAzLTEwLjE2OS4xNzEtMjAuNDkxLjEwNi0zMC42ODEtOS43MjQtOS43MTYtMTkuMjYzLTE5LjYzNS0yOS4wNDctMjkuMjg2LTE5Ljg2Ni0xOS41OTUtNDAuMDAzLTM4Ljg4LTU5LjU0NC01OC44MSA1LjcxOS01LjI3MSAxMC45OTEtMTEuMTM0IDE2LjYtMTYuNTQ1cTMzLjkyMi0zMi42MjQgNjYuOTA2LTY2LjE5NWM5LjI0Mi05LjUwNiAxOC45OTgtMTguNTE1IDI4LjQyOS0yNy44Mzd6IiBzdHlsZT0iZmlsbDojYjFjZWU3O2ZpbGwtb3BhY2l0eToxIi8+PHBhdGggZmlsbD0iIzM3OWRiZCIgZD0iTTM1LjkgMTUuNDI2Yy4xNDguNDEzLjMzNS44NS4zNyAxLjI5LjA3NS45NDkuMDIgMS45MzMuMDIgMi44ODZsLS4wMDUgNS41ODguMDA0IDMuMjFjMCAuNDY5LjA1NyAxLjAzMy0uMDMxIDEuNDg3LS4wMy0uNzMuMDEyLTEuNDcuMDA3LTIuMjAxLS42OTctLjY5OC0xLjM4Mi0xLjQxLTIuMDg0LTIuMTAyLTEuNDI2LTEuNDA2LTIuODctMi43OS00LjI3My00LjIyLjQxLS4zNzkuNzg5LS44IDEuMTkxLTEuMTg4cTIuNDM0LTIuMzQgNC44MDItNC43NXoiLz48L3N2Zz4=');background-repeat: no-repeat;background-position: center 0;background-size: 145px;width: 100%;height: 46px;margin: 8px 0 16px 0;}
.arkaplan {margin: 0;padding: 0;height: 100%;background-size: 50%;background-position: center;width: 100%;
opacity: .35;filter: sepia(1) hue-rotate(173deg) saturate(1.5);-webkit-filter: sepia(1) hue-rotate(173deg) saturate(1.5);position: absolute;top: 0;left: 0;}
.tooltip {position: absolute;top: -52px;opacity: 0;visibility: hidden;background-color: #1f2a3d;color: #ccdefa;padding: 10px 8px;border-radius: 4px;left: 0;font-size: 14px;border-radius: 4px;white-space: nowrap;pointer-events: none;z-index: 1000;}
.modal{position:fixed;top:0;left:0;width:100%;height:100%;user-select: none;background-color:rgba(0,0,0,0.5);display:flex;justify-content:center;align-items:baseline;z-index:99999;}
.modal-content,.modal_dil-content{background-color:#34496c;padding:20px;border-radius:5px;top:60px;position:relative;overflow-x:hidden;max-height:450px;}
.modal-content p,.modal_dil-content p{margin-top:0;}
.modal-content input {border: 1px solid #405982;width: 270px;display: block;}
.modal-content label {position: relative;bottom: 8px;}
.modal_dil-content2{background-color:#34496c;padding:15px;border-radius:5px;top:60px;position:relative;display:grid;grid-auto-flow: column;grid-template-rows: repeat(5, auto);}
.gecerli_dil{color: #6bb5ff;position: relative;padding-left: 23px;margin-bottom:7px;border-bottom:solid 2px #556d95;padding-bottom:7px;min-width:200px;}
.gecerli_dil:before{content: '';width:10px;height:4px;top:6px;left:0;border-left:2px solid #6bb5ff;border-bottom:2px solid #6bb5ff;position:absolute;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);}
.dili_degistir{margin-bottom:5px;position: relative;cursor: pointer;}
p#sync_kurulum {position: relative;cursor: pointer;}
#uyariMesaji,#gistHataMesaji{color:#6dbaff;display:none;margin-top:14px;}
p.baglanti {font-size: 14px;color: #69baff;max-width: 270px;}
#arrow:after,.togglediv:after,#sync_kurulum:after{content: '';background-image: url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18' xml:space='preserve' style='vertical-align: middle;' id='left_arrow'><g><line x1='5.8' y1='2.6' x2='12.2' y2='9' style='fill: none; stroke: %23a2c1f4; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 10;'/><line x1='5.8' y1='15.4' x2='12.2' y2='9' style='fill: none; stroke: %23a2c1f4; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 10;'/></g></svg>");
background-repeat: no-repeat;background-position: center;background-size: 20px;color: transparent;width: 20px;height:25px;position: absolute;right: 0;}
div#arrow.geriNotebar,div#arrow.geriTask,div#arrow.geriContent{padding-left: 23px;margin-bottom: 12px;position: relative;cursor: pointer;width: fit-content;font-size: 16px;}
div#arrow.geriNotebar:after,div#arrow.geriTask:after,div#arrow.geriContent:after {transform: rotate(180deg);left: 0;}
div#arrow.geriNotebar:lang(ar),div#arrow.geriTask:lang(ar), div#arrow.geriContent:lang(ar),div#arrow.geriNotebar:lang(fa),div#arrow.geriTask:lang(fa), div#arrow.geriContent:lang(fa),div#arrow.geriNotebar:lang(ur),div#arrow.geriTask:lang(ur), div#arrow.geriContent:lang(ur) {font-size: 20px;line-height: 18px;}
.omod div#arrow.geriContent{display:none}
code {word-wrap: break-word;}
.checkbox-design input:checked ~ .checkbox-square:before{content: '';width:10px;height:4px;top:0;left:0;border-left:2px solid #6bb5ff;border-bottom:2px solid #6bb5ff;position:absolute;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);}
.checkbox-design{cursor: pointer;font-weight:normal;position:relative;display:inline-block;padding-left:22px;padding-right:13px;margin-bottom:7px;}
.checkbox-design:hover{color: #6bb5ff;}
.checkbox-design input{position:absolute;opacity:0;}
.checkbox-square{position:absolute;width:16px;height:16px;top:6px;left:0px;}
.checkbox-design:first-child{color: #6bb5ff;}
table{border-collapse:collapse;width:40%}
th,td{border:1px solid #3d5b85;padding:8px;text-align:left;font-size: 16px;}
tr th{border-top:none;color: #9bbbf0;background-color:#1f2a3d;font-weight: 100;}
.grid{display:grid;grid-template-columns:repeat(10,20px);grid-template-rows:repeat(10,20px);gap:0px;margin:10px auto;justify-content: center;}
.cell{width:20px;height:20px;background:#253858;border:1px solid #6e92cd;cursor:pointer;}
.cell.selected{background:#007bff;}
#sag-tik{position:fixed;background:#1f2a3d;padding: 5px;border-radius:5px;display:none;z-index:1000;}
.sag-tik-buton{padding:6px 10px;cursor:pointer;}
.sag-tik-buton:hover{background-color:#2c3c57;}
.omod .note-content-ic {max-width: 1300px;margin: auto;}
.omod .rich-text-editor {caret-color: transparent;max-height: max-content;height: 100%;pointer-events: auto;}
.omod input#note-title{position:absolute;z-index: 9;top:4px;left:0;background-color:transparent;border:0;padding-left:16px;pointer-events:none;}
.omod .toolbar button,.omod .notebar,.omod .sidebar,.omod #toggle-sidebar-button,.omod #save-status,.omod #save-note-button,.omod #delete-note-button{display: none!important;}
body.light {filter: invert(1) hue-rotate(180deg) brightness(1.1) saturate(1.2);-webkit-filter: invert(1) hue-rotate(180deg) brightness(1.1) saturate(1.2);background-color:transparent;color:#9bbdf5}
.light .logo {filter: invert(0) hue-rotate(18deg) brightness(1.3) saturate(1);-webkit-filter: invert(0) hue-rotate(18deg) brightness(1.3) saturate(1);}
.light .sidebar.initialized,.light .notebar,.light button.tab.active-tab,.light .settool,.light #editor_div,.light .toolbar,.light .task_date_div,.light .subtask_list_wrapper{background-color: #182130;}
.light input#note-content-search,.light input#note-search,.light .date_span,.light input,.light textarea{background-color: #1c2638;}
.light .category-item.selected, .light .note-item.selected,.light .category-item:hover,.light .note-item:hover{background-color: #243148;}
.light .placeholder {background: #2c3b56;}
.light .dragging {background-color: #101620;}
.light button.tab,.light .delete-all-completed-button,.light input,.light textarea {color: currentColor;}
.light .modal-content,.light .modal_dil-content,.light .modal_dil-content2{background-color:#101721;border:solid 1px #3e567b;}
.light .modal{background-color:rgb(255 255 255 / 64%);}
.light #add-category-button,.light #save-note-button,.light #add-task-button, .light #add-note-button,.light .gorev_ekle .light #save-note-button, .light #delete-note-button, .light #confirmDelete, .light #cancelDelete, .light .close_main_modal, .light .delete-confirm, .light .delete-cancel {background-color: #7a75fe;color: #000000;}
.light #add-note-button::before,.light #add-task-button::before,.light .gorev_ekle::before, .light #add-category-button::before {content: "";filter: invert(1) hue-rotate(180deg) brightness(0.5) saturate(1.2);-webkit-filter: invert(1) hue-rotate(180deg) brightness(0.5) saturate(1.2);}
.light #add-note-button,.light #save-note-button,.light #confirmDelete,.light .delete-confirm,.light .gorev_ekle{background-color:#2f86d3;}
.light button.tab {background-color: #24334c;}
.light .note-content,.light .note-content-ic {background-color: #1d283b;}
.light .tooltip, .light .toolbar button::before, .light .toolbar #omod_toggle::before, .light .settool button::before {background-color: #6b91d1;color: #000000;}
.light table{border-top: 1px solid #3d5b85;}
.light img{filter: invert(1) hue-rotate(180deg) brightness(1.03) saturate(0.79);-webkit-filter: invert(1) hue-rotate(180deg) brightness(1.03) saturate(0.79);}
.light .color-option, .light .category-item span:before, .light .note-item span:before {filter: invert(1) hue-rotate(180deg) brightness(0.9) saturate(1);-webkit-filter: invert(1) hue-rotate(180deg) brightness(0.9) saturate(1);}
.light .arkaplan{filter: sepia(1) hue-rotate(173deg) saturate(1.5);-webkit-filter: sepia(1) hue-rotate(173deg) saturate(1.5);}
@media screen and (min-width:1000px){
div#arrow.geriNotebar,div#arrow.geriTask,div#arrow.geriContent{display: none;}
}
@media screen and (max-width:1410px){
#editor_div{max-height: calc(100% - 190px);min-height: calc(100% - 190px);}
}
@media screen and (max-width:1220px){
div#omod_toggle::before,div#omod_toggle:lang(ar)::before,div#omod_toggle:lang(ur)::before,div#omod_toggle:lang(fa)::before{left:50%;right:auto;transform:translateX(-50%);}
#omod_toggle:not(.omod #omod_toggle),div#omod_toggle:not(.omod #omod_toggle):lang(ar), div#omod_toggle:not(.omod #omod_toggle):lang(ur), div#omod_toggle:not(.omod #omod_toggle):lang(fa){float: unset;right: auto;display: inline-block;margin-left: 10px;}
}
@media screen and (max-width:1000px){
.toolbar button::before,#omod_toggle::before{height: 0;display: none;}
.modal-content input {width: 100%;}
button.thiza_button:lang(ar), button.thiza_button:lang(ur), button.thiza_button:lang(fa) {float: right;}
.sidebar.initialized.collapsed {left: 0;}
.sidebar.initialized.collapsed + .notebar {margin-left:0;}
.category-edit-buttons{visibility:visible;width:auto;margin-right:8px;margin-left: 8px;}
.ust_content {display: flex;align-items: baseline;}
div#arrow.geriContent {display: inline-flex;padding-right: 12px;}
input#note-title {display: inline-flex;}
#editor_div{max-height:calc(100% - 178px);min-height:calc(100% - 178px);}
input#note-content-search,input#note-search{display: none;}
.omod #omod_toggle {float: right; display: block;margin-left: 0;}
.toolbar button {margin:2px;}
}
@media screen and (max-width:700px){
.omod #editor_div {max-height: 90%;}
p#save-status:lang(ar), p#save-status:lang(fa), p#save-status:lang(ur) {text-align: center;}
#delete-note-button::before,.light #delete-note-button::before{content: "";position: relative;background-image: url('data:image/svg+xml;utf8,<svg fill="none" width="24" height="24" stroke="%239ab9e6" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18"></path><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"></path><line x1="10" x2="10" y1="11" y2="17"></line><line x1="14" x2="14" y1="11" y2="17"></line></svg>');background-repeat: no-repeat;background-position: center;
width: 19px;height: 19px;left: 0px;display: inline-block;background-size: 19px;}
#save-note-button::before{content: "";position: relative;background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='2.7516651mm' height='2.7516732mm' viewBox='0 0 2.7516651 2.7516732' version='1.1' id='svg1' xml:space='preserve' xmlns:svg='http://www.w3.org/2000/svg'><defs id='defs1' /><g id='layer1' transform='translate(-103.74214,-147.12416)'><g id='g1' transform='matrix(0.35277776,0,0,0.35277776,-54.499848,145.43083)'><path fill='%239ab9e6' fill-rule='evenodd' d='m 452.46,7.92 a 1.56,1.56 0 1 0 0,3.12 1.56,1.56 0 0 0 0,-3.12 z m -0.78,1.56 a 0.78,0.78 0 1 1 1.56,0 0.78,0.78 0 0 1 -1.56,0 z' id='path1' /><path fill='%239ab9e6' fill-rule='evenodd' d='m 448.56,6.75 a 1.95,1.95 0 0 1 1.95,-1.95 h 3.187 c 0.31,0 0.608,0.123 0.827,0.343 l 1.493,1.493 c 0.22,0.22 0.343,0.517 0.343,0.827 v 3.187 a 1.95,1.95 0 0 1 -1.95,1.95 h -3.9 a 1.95,1.95 0 0 1 -1.95,-1.95 z M 450.9,6.36 V 5.58 h 2.34 v 0.78 z m 3.12,0.39 V 5.742 l 1.446,1.445 a 0.39,0.39 0 0 1 0.114,0.276 v 3.187 a 1.17,1.17 0 0 1 -1.17,1.17 h -3.9 a 1.17,1.17 0 0 1 -1.17,-1.17 v -3.9 c 0,-0.51 0.326,-0.943 0.78,-1.103 V 6.75 c 0,0.215 0.175,0.39 0.39,0.39 h 3.12 a 0.39,0.39 0 0 0 0.39,-0.39 z' id='path2' /></g></g></svg>");
background-size: 19px;background-repeat: no-repeat;display: inline-block;background-position: center;color: transparent;background-color: transparent;width: 19px;height: 19px;}
#save-note-button,#delete-note-button,.light #save-note-button,.light #delete-note-button{display:inline-block;position:fixed;top:16px;right:6px;background:transparent;border:0;color:transparent;width:19px;height:19px;padding:0;}
div#save-note-button,.light #save-note-button{right:35px;}
#save-note-button:hover,.light #save-note-button:hover{background: transparent; }
input#note-title{width:calc(100% - 125px);display:inline-block;}
div#note-created-date{display:none;}
#editor_div{max-height:calc(100% - 87px);min-height:calc(100% - 87px);scrollbar-width:none;}
#save-status{margin:0;padding:8px 0 10px 0!important;margin-bottom:4px;position:fixed;top:64px;width:calc(100% - 24px);text-align:center;z-index:99999;background:#1b2535;display:none;}
.light #save-status {background: #598ddd;color: #000000;}
.logo {background-size: 137px;margin: 5px 0 5px 0;}
button.delete-all-completed-button {top: 5px;position: relative;width: 100%;}
.modal-content, .modal_dil-content {top: 10px;}
button.thiza_button{display: none;}
.task-list.thiza {grid-template-columns: 1fr;}
div#arrow.geriTask{width:48px;display:inline-block;vertical-align:bottom;margin-bottom:20px;}
div#arrow.geriTask + button.gorev_ekle{vertical-align:20px;margin-top:0;}
.modal-content,.modal_dil-content,#taskModalContent div.task_container input,#subTaskModalContent input,.task_container textarea,#subTaskModalContent textarea{width:99%;}
.subtask_wrapper textarea,.subtask_wrapper input{width:93%!important;}
.modal-content,.modal_dil-content{padding:12px 8px;margin: 0 10px;}
button.delete-subtask-button-modal{left:0px;}
.tabs-container {display: flex;margin: 0;clear: both;width: 100%;}
button.tab{padding: 6px 8px;width: 100%;}
.tooltip{opacity: 0!important;visibility: hidden!important;}
.category-item span,.note-item span{white-space:normal;line-height:25px;text-overflow:unset;}
.omod .toolbar{width:auto;}
#save_date_hiza,#editor_div{position:relative;}
.toolbar button{margin:4px;}
.note-content-ic {height: calc(100% - 36px);}
.toolbar_hiza{overflow-x:auto;width:calc(100% - 27px);z-index:99999999999999999;display:block;position:fixed;bottom:-5px;scrollbar-width:none;}
.omod .toolbar_hiza {position: relative;bottom: auto;z-index: 2;width: 100%;}
.toolbar{background:#1f2a3d;display:block;padding:6px 7px;margin-bottom:5px;border-radius:5px;position:relative;width:max-content;scrollbar-width:none;top:0;}
.modal_dil-content2{grid-template-rows:repeat(15,auto);overflow:auto;height:calc(100vh - 15px);top:5px;}
}
</style>
</head>
<body>
<script>let currentTheme = localStorage.getItem('tema');if (currentTheme){document.body.className = currentTheme;}</script>
<div class="container">
<div class="sidebar">
<div class="resizer"></div>
<button id="toggle-sidebar-button"><span class="panel"><svg fill="#b1cee7" viewBox="0 0 32 32" id="icon" xmlns="http://www.w3.org/2000/svg"><path d="M28,4H4A2,2,0,0,0,2,6V26a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V6A2,2,0,0,0,28,4ZM4,6H20V26H4ZM28,26H22V6h6Z"/><rect id="_Transparent_Rectangle_" data-name="&lt;Transparent Rectangle&gt;" fill="none"/></svg></span></button>
<div class="logo"></div>
<input type="text" id="note-search" style="margin-bottom: 10px;"/>
<button id="add-category-button"></button>
<div class="settool"><button id="import">Yükle</button><button id="export">Kaydet</button>
<button id="sync">Sync</button>
<button id="languege">Dil</button>
<button id="tema">Tema</button>
</div>
<ul id="category-list" class="sortable1"></ul>
</div>
<div class="notebar" style="visibility: hidden;display: none;">
<div class="resizer"></div>
<div id="arrow" class="geriNotebar">Geri</div>
<input type="text" id="note-content-search" style="margin-bottom: 10px;"/>
<div class="not_gorev">
<button id="add-note-button"></button>
<button id="add-task-button"></button>
</div>
<ul id="note-list" class="sortable2"></ul>
</div>
<div class="note-content">
<div class="note-content-ic" style="display: none;">
<div class="ust_content">
<div id="arrow" class="geriContent">Geri</div>
<input type="text" id="note-title">
</div>
<div class="toolbar_hiza">
<div class="toolbar">
<button class="h1-button" onclick="formatDoc('formatBlock', 'h1')">H1</button>
<button class="h2-button" onclick="formatDoc('formatBlock', 'h2')">H2</button>
<button class="bold-button" onclick="formatDoc('bold')">B</button>
<button class="italic-button" onclick="formatDoc('italic')">I</button>
<div class="color-picker-container">
<button id="color-button" onclick="openColorPicker()">Renk</button>
<input type="color" id="color-picker">
</div>
<button class="list-ul-button" onclick="formatDoc('insertUnorderedList')">UL</button>
<button class="list-ol-button" onclick="formatDoc('insertOrderedList')">OL</button>
<button class="strike-button" onclick="formatDoc('strikeThrough')">Çizili</button>
<button class="left-button" onclick="formatDoc('justifyLeft')">Sola</button>
<button class="center-button" onclick="formatDoc('justifyCenter')">Ortala</button>
<button class="right-button" onclick="formatDoc('justifyRight')">Sağa</button>
<button class="erase-button" onclick="formatDoc('removeFormat')">Biçim</button>
<button class="horizontalrule-button" onclick="formatDoc('insertHorizontalRule')">Çizgi</button>
<button class="link-button" onclick="createLink()">Link</button>
<button class="unlink-button" onclick="formatDoc('unlink')">unlink</button>
<button class="html-button" onclick="htmlEkle()">HTML</button>
<button class="table-button" onclick="tabloEkle()">Tablo</button>
<button class="select-button" onclick="selectAllText()">Seç</button>
<button class="kucult-button" id="kucult">Küçült</button>
<button class="buyut-button" id="buyut">Büyüt</button>
<button class="undo-button" onclick="formatDoc('undo')">Geri</button>
<button class="redo-button" onclick="formatDoc('redo')">İleri</button>
<div id="omod_toggle">Mod</div>
</div>
</div>
<div id="editor_div"><div id="note-editor" class="rich-text-editor" contenteditable="true"></div></div>
<div id="save_date_hiza">
<p id="save-status"></p>
<div id="note-created-date"></div>
<div id="save-note-button"></div>
<div id="delete-note-button"></div>
</div>
</div>
<div class="arkaplan logo" style="display: none;"></div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', () => {
window.onload = function() {
const hasRefreshed = sessionStorage.getItem('hasRefreshed');
if (!hasRefreshed) {
sessionStorage.setItem('hasRefreshed', 'true');
window.location.reload(true);
}
};
});
const translations = {
close_button:{AR:"إغلاق",DE:"Schließen",EN:"Close",ES:"Cerrar",FA:"بستن",FR:"Fermer",HI:"बंद करें",ID:"Tutup",IT:"Chiudi",JA:"閉じる",KO:"닫기",SW:"Funga",PL:"Zamknij",PT:"Fechar",RU:"Закрыть",VI:"Đóng",TR:"Kapat",UR:"بند کریں",UZ:"Yopish",ZH:"关闭",NL:"Sluiten",SV:"Stäng",EL:"Κλείσιμο",CS:"Zavřít",HU:"Bezárás",RO:"Închide",BG:"Затвори",DA:"Luk",FI:"Sulje",SL:"Zapri"},
change_language:{AR:"تغيير اللغة",DE:"Sprache ändern",EN:"Change Language",ES:"Cambiar idioma",FA:"تغییر زبان",FR:"Changer de langue",HI:"भाषा बदलें",ID:"Ganti Bahasa",IT:"Cambia lingua",JA:"言語を変更",KO:"언어 변경",SW:"Badilisha Lugha",PL:"Zmień język",PT:"Mudar idioma",RU:"Изменить язык",VI:"Đổi ngôn ngữ",TR:"Dili değiştir",UR:"زبان تبدیل کریں",UZ:"Tilni o'zgartirish",ZH:"更改语言",NL:"Taal wijzigen",SV:"Ändra språk",EL:"Αλλαγή γλώσσας",CS:"Změnit jazyk",HU:"Nyelv változtatása",RO:"Schimbă limba",BG:"Смяна на езика",DA:"Skift sprog",FI:"Vaihda kieltä",SL:"Spremeni jezik"},
saved:{AR:"تم الحفظ",DE:"Gespeichert",EN:"Saved",ES:"Guardado",FA:"ذخیره شد",FR:"Enregistré",HI:"सहेजा गया",ID:"Tersimpan",IT:"Salvato",JA:"保存されました",KO:"저장됨",SW:"Imehifadhiwa",PL:"Zapisano",PT:"Salvo",RU:"Сохранено",VI:"Đã lưu",TR:"Kaydedildi",UR:"محفوظ کرلیا گیا",UZ:"Saqlangan",ZH:"已保存",NL:"Opgeslagen",SV:"Sparad",EL:"Αποθηκεύτηκε",CS:"Uloženo",HU:"Mentve",RO:"Salvat",BG:"Запазено",DA:"Gemt",FI:"Tallennettu",SL:"Shranjeno"},
note:{AR:"ملاحظة",DE:"Notiz",EN:"Note",ES:"Nota",FA:"یادداشت",FR:"Note",HI:"नोट",ID:"Catatan",IT:"Nota",JA:"ノート",KO:"노트",SW:"Kumbuka",PL:"Notatka",PT:"Nota",RU:"Заметка",VI:"Ghi chú",TR:"Not",UR:"نوٹ",UZ:"Eslatma",ZH:"笔记",NL:"Notitie",SV:"Not",EL:"Σημείωση",CS:"Poznámka",HU:"Jegyzet",RO:"Notă",BG:"Бележка",DA:"Notat",FI:"Merkintä",SL:"Opomba"},
category_name:{AR:"اسم الفئة",DE:"Kategoriename",EN:"Category Name",ES:"Nombre de categoría",FA:"نام دسته‌بندی",FR:"Nom de la catégorie",HI:"श्रेणी का नाम",ID:"Nama Kategori",IT:"Nome della categoria",JA:"カテゴリ名",KO:"카테고리 이름",SW:"Jina la Kategoria",PL:"Nazwa kategorii",PT:"Nome da Categoria",RU:"Название категории",VI:"Tên danh mục",TR:"Kategori Adı",UR:"زمرہ کا نام",UZ:"Kategoriya nomi",ZH:"类别名称",NL:"Categorienaam",SV:"Kategorinamn",EL:"Όνομα κατηγορίας",CS:"Název kategorie",HU:"Kategória neve",RO:"Numele categoriei",BG:"Име на категорията",DA:"Kategorinavn",FI:"Kategorian nimi",SL:"Ime kategorije"},
add:{AR:"إضافة",DE:"Hinzufügen",EN:"Add",ES:"Agregar",FA:"اضافه کردن",FR:"Ajouter",HI:"जोड़ें",ID:"Tambahkan",IT:"Aggiungi",JA:"追加",KO:"추가",SW:"Ongeza",PL:"Dodaj",PT:"Adicionar",RU:"Добавить",VI:"Thêm",TR:"Ekle",UR:"شامل کریں",UZ:"Qo'shish",ZH:"添加",NL:"Toevoegen",SV:"Lägg till",EL:"Προσθήκη",CS:"Přidat",HU:"Hozzáadás",RO:"Adaugă",BG:"Добави",DA:"Tilføj",FI:"Lisää",SL:"Dodaj"},
cancel:{AR:"إلغاء",DE:"Abbrechen",EN:"Cancel",ES:"Cancelar",FA:"لغو",FR:"Annuler",HI:"रद्द करें",ID:"Batal",IT:"Annulla",JA:"キャンセル",KO:"취소",SW:"Ghairi",PL:"Anuluj",PT:"Cancelar",RU:"Отмена",VI:"Hủy",TR:"İptal",UR:"منسوخ کریں",UZ:"Bekor qilish",ZH:"取消",NL:"Annuleren",SV:"Avbryt",EL:"Ακύρωση",CS:"Zrušit",HU:"Mégsem",RO:"Anulează",BG:"Отказ",DA:"Annuller",FI:"Peruuta",SL:"Prekliči"},
cat_name_empty:{AR:"اسم الفئة لا يمكن أن يكون فارغًا!",DE:"Kategoriename darf nicht leer sein!",EN:"Category name cannot be empty!",ES:"¡El nombre de la categoría no puede estar vacío!",FA:"نام دسته بندی نمی تواند خالی باشد!",FR:"Le nom de la catégorie ne peut pas être vide!",HI:"श्रेणी का नाम खाली नहीं हो सकता!",ID:"Nama kategori tidak boleh kosong!",IT:"Il nome della categoria non può essere vuoto!",JA:"カテゴリ名は空にできません!",KO:"카테고리 이름은 비어 있을 수 없습니다!",SW:"Jina la jamii halitakiwi kuwa tupu!",PL:"Nazwa kategorii nie może być pusta!",PT:"O nome da categoria não pode estar vazio!",RU:"Название категории не может быть пустым!",VI:"Tên danh mục không thể để trống!",TR:"Kategori adı boş olamaz!",UR:"زمرے کا نام خالی نہیں ہو سکتا!",UZ:"Kategoriya nomi bo'sh bo'lishi mumkin emas!",ZH:"类别名称不能为空!",NL:"Categorienaam mag niet leeg zijn!",SV:"Kategorinamn får inte vara tomt!",EL:"Το όνομα της κατηγορίας δεν μπορεί να είναι κενό!",CS:"Název kategorie nesmí být prázdný!",HU:"A kategória neve nem lehet üres!",RO:"Numele categoriei nu poate fi gol!",BG:"Името на категорията не може да бъде празно!",DA:"Kategorinavn må ikke være tomt!",FI:"Kategorian nimi ei voi olla tyhjä!",SL:"Ime kategorije ne sme biti prazno!"},
note_title:{AR:"عنوان الملاحظة:",DE:"Notizentitel:",EN:"Note Title:",ES:"Título de la nota:",FA:"عنوان یادداشت:",FR:"Titre de la note:",HI:"नोट का शीर्षक:",ID:"Judul Catatan:",IT:"Titolo della nota:",JA:"ノートのタイトル:",KO:"노트 제목:",SW:"Kichwa cha Kumbukumbu:",PL:"Tytuł notatki:",PT:"Título da nota:",RU:"Заголовок заметки:",VI:"Tiêu đề ghi chú:",TR:"Not Başlığı:",UR:"نوٹ کا عنوان:",UZ:"Eslatma sarlavhasi:",ZH:"笔记标题:",NL:"Notitietitel:",SV:"Notistiteln:",EL:"Τίτλος σημείωσης:",CS:"Název poznámky:",HU:"Jegyzet címe:",RO:"Titlul notei:",BG:"Заглавие на бележката:",DA:"Notatitel:",FI:"Muistiinpanon otsikko:",SL:"Naslov opombe:"},
task_title:{AR:"عنوان المهمة:",DE:"Aufgabentitel:",EN:"Task Title:",ES:"Título de la tarea:",FA:"عنوان وظیفه:",FR:"Titre de la tâche:",HI:"कार्य का शीर्षक:",ID:"Judul Tugas:",IT:"Titolo del compito:",JA:"タスクタイトル:",KO:"작업 제목:",SW:"Kichwa cha Kazi:",PL:"Tytuł zadania:",PT:"Título da tarefa:",RU:"Название задачи:",VI:"Tiêu đề nhiệm vụ:",TR:"Görev Başlığı:",UR:"کام کا عنوان:",UZ:"Vazifa sarlavhasi:",ZH:"任务标题:",NL:"Taaktitel:",SV:"Uppgiftstiteln:",EL:"Τίτλος εργασίας:",CS:"Název úkolu:",HU:"Feladat címe:",RO:"Titlul sarcinii:",BG:"Заглавие на задачата:",DA:"Opgavetitel:",FI:"Tehtävän otsikko:",SL:"Naslov naloge:"},
note_title_empty:{AR:"عنوان الملاحظة لا يمكن أن يكون فارغًا!",DE:"Notizentitel darf nicht leer sein!",EN:"Note title cannot be empty!",ES:"¡El título de la nota no puede estar vacío!",FA:"عنوان یادداشت نمی تواند خالی باشد!",FR:"Le titre de la note ne peut pas être vide!",HI:"नोट का शीर्षक खाली नहीं हो सकता!",ID:"Judul catatan tidak boleh kosong!",IT:"Il titolo della nota non può essere vuoto!",JA:"ノートのタイトルは空にできません!",KO:"노트 제목은 비어 있을 수 없습니다!",SW:"Kichwa cha kumbukumbu halitakiwi kuwa tupu!",PL:"Tytuł notatki nie może być pusty!",PT:"O título da nota não pode estar vazio!",RU:"Заголовок заметки не может быть пустым!",VI:"Tiêu đề ghi chú không thể để trống!",TR:"Not başlığı boş olamaz!",UR:"نوٹ کا عنوان خالی نہیں ہو سکتا!",UZ:"Eslatma sarlavhasi bo'sh bo'lishi mumkin emas!",ZH:"笔记标题不能为空!",NL:"Notitietitel mag niet leeg zijn!",SV:"Notistiteln får inte vara tom!",EL:"Ο τίτλος της σημείωσης δεν μπορεί να είναι κενός!",CS:"Název poznámky nesmí být prázdný!",HU:"A jegyzet címe nem lehet üres!",RO:"Titlul notei nu poate fi gol!",BG:"Заглавието на бележката не може да бъде празно!",DA:"Notatitel må ikke være tom!",FI:"Muistiinpanon otsikko ei voi olla tyhjä!",SL:"Naslov opombe ne sme biti prazen!"},
task_title_cannot_be_empty:{AR:"عنوان المهمة لا يمكن أن يكون فارغًا!",DE:"Der Aufgabentitel darf nicht leer sein!",EN:"Task title cannot be empty!",ES:"¡El título de la tarea no puede estar vacío!",FA:"عنوان وظیفه نمی‌تواند خالی باشد!",FR:"Le titre de la tâche ne peut pas être vide!",HI:"कार्य का शीर्षक खाली नहीं हो सकता!",ID:"Judul tugas tidak boleh kosong!",IT:"Il titolo del compito non può essere vuoto!",JA:"タスクのタイトルは空にできません!",KO:"작업 제목은 비어 있을 수 없습니다!",SW:"Kichwa cha kazi halitakiwi kuwa tupu!",PL:"Tytuł zadania nie może być pusty!",PT:"O título da tarefa não pode estar vazio!",RU:"Название задачи не может быть пустым!",VI:"Tiêu đề nhiệm vụ không thể để trống!",TR:"Görev başlığı boş olamaz!",UR:"کام کا عنوان خالی نہیں ہو سکتا!",UZ:"Vazifa sarlavhasi bo'sh bo'lishi mumkin emas!",ZH:"任务标题不能为空!",NL:"Taaktitel mag niet leeg zijn!",SV:"Uppgiftstiteln får inte vara tom!",EL:"Ο τίτλος της εργασίας δεν μπορεί να είναι κενός!",CS:"Název úkolu nesmí být prázdný!",HU:"A feladat címe nem lehet üres!",RO:"Titlul sarcinii nu poate fi gol!",BG:"Заглавието на задачата не може да бъде празно!",DA:"Opgavetitel må ikke være tom!",FI:"Tehtävän otsikko ei voi olla tyhjä!",SL:"Naslov naloge ne sme biti prazen!"},
please_add_category_first:{AR:"يرجى إضافة فئة أولاً",DE:"Bitte fügen Sie zuerst eine Kategorie hinzu",EN:"Please add a category first",ES:"Por favor, añade una categoría primero",FA:"لطفاً ابتدا یک دسته بندی اضافه کنید",FR:"Veuillez d'abord ajouter une catégorie",HI:"कृपया पहले एक श्रेणी जोड़ें",ID:"Silakan tambahkan kategori terlebih dahulu",IT:"Si prega di aggiungere prima una categoria",JA:"まずカテゴリーを追加してください",KO:"먼저 카테고리를 추가해 주세요",SW:"Tafadhali ongeza jamii kwanza",PL:"Proszę najpierw dodać kategorię",PT:"Por favor, adicione uma categoria primeiro",RU:"Пожалуйста, сначала добавьте категорию",VI:"Vui lòng thêm danh mục trước",TR:"Lütfen önce bir Kategori Ekleyin",UR:"براہ کرم پہلے ایک زمرہ شامل کریں",UZ:"Iltimos, avval kategoriya qo'shing",ZH:"请先添加一个分类",NL:"Voeg eerst een categorie toe",SV:"Lägg till en kategori först",EL:"Παρακαλώ προσθέστε πρώτα μια κατηγορία",CS:"Nejprve přidejte kategorii",HU:"Kérjük, előbb adjon hozzá egy kategóriát",RO:"Vă rugăm să adăugați mai întâi o categorie",BG:"Моля, първо добавете категория",DA:"Tilføj venligst en kategori først",FI:"Lisää ensin kategoria",SL:"Najprej dodajte kategorijo"},
are_you_sure_delete_note:{AR:"هل أنت متأكد أنك تريد حذف هذه الملاحظة؟",DE:"Sind Sie sicher, dass Sie diese Notiz löschen möchten?",EN:"Are you sure you want to delete this note?",ES:"¿Estás seguro de que quieres eliminar esta nota?",FA:"آیا مطمئنید که می‌خواهید این یادداشت را حذف کنید؟",FR:"Êtes-vous sûr de vouloir supprimer cette note ?",HI:"क्या आप वाकई इस नोट को हटाना चाहते हैं?",ID:"Apakah Anda yakin ingin menghapus catatan ini?",IT:"Sei sicuro di voler eliminare questa nota?",JA:"このノートを削除してもよろしいですか?",KO:"이 노트를 삭제하시겠습니까?",SW:"Je, una uhakika unataka kufuta kumbukumbu hii?",PL:"Czy na pewno chcesz usunąć tę notatkę?",PT:"Tem certeza de que deseja excluir esta nota?",RU:"Вы уверены, что хотите удалить эту заметку?",VI:"Bạn có chắc chắn muốn xóa ghi chú này không?",TR:"Bu notu silmek istediğinizden emin misiniz?",UR:"کیا آپ واقعی طور پر اس نوٹ کو حذف کرنا چاہتے ہیں؟",UZ:"Bu eslatmani o'chirishni xohlaysizmi?",ZH:"你确定要删除这个笔记吗?",NL:"Weet je zeker dat je deze notitie wilt verwijderen?",SV:"Är du säker på att du vill ta bort denna anteckning?",EL:"Είστε σίγουροι ότι θέλετε να διαγράψετε αυτή τη σημείωση;",CS:"Jste si jisti, že chcete tuto poznámku smazat?",HU:"Biztosan törölni szeretné ezt a jegyzetet?",RO:"Ești sigur că vrei să ștergi această notă?",BG:"Сигурни ли сте, че искате да изтриете тази бележка?",DA:"Er du sikker på, at du vil slette denne note?",FI:"Haluatko varmasti poistaa tämän muistiinpanon?",SL:"Ali ste prepričani, da želite izbrisati to opombo?"},
delete:{AR:"حذف",DE:"Löschen",EN:"Delete",ES:"Eliminar",FA:"حذف",FR:"Supprimer",HI:"हटाएं",ID:"Hapus",IT:"Elimina",JA:"削除",KO:"삭제",SW:"Futa",PL:"Usuń",PT:"Excluir",RU:"Удалить",VI:"Xóa",TR:"Sil",UR:"حذف کریں",UZ:"O'chirish",ZH:"删除",NL:"Verwijderen",SV:"Radera",EL:"Διαγραφή",CS:"Smazat",HU:"Törlés",RO:"Șterge",BG:"Изтрий",DA:"Slet",FI:"Poista",SL:"Izbriši"},
warning_category_and_notes_will_be_deleted:{AR:"تحذير! سيتم حذف هذه الفئة وجميع الملاحظات المتعلقة بها.",DE:"Warnung! Diese Kategorie und alle dazugehörigen Notizen werden gelöscht.",EN:"Warning! This category and all notes belonging to it will be deleted.",ES:"¡Advertencia! Esta categoría y todas las notas que le pertenecen serán eliminadas.",FA:"هشدار! این دسته بندی و همه یادداشت‌های مربوط به آن حذف خواهند شد.",FR:"Attention ! Cette catégorie et toutes les notes qui lui appartiennent seront supprimées.",HI:"चेतावनी! यह श्रेणी और इसके सभी नोट्स हटा दिए जाएंगे।",ID:"Peringatan! Kategori ini dan semua catatan yang terkait dengannya akan dihapus.",IT:"Attenzione! Questa categoria e tutte le note ad essa associate verranno eliminate.",JA:"警告!このカテゴリとそれに属するすべてのノートが削除されます。",KO:"경고! 이 카테고리와 이 카테고리에 속한 모든 노트가 삭제됩니다.",SW:"Onyo! Jamii hii na kumbukumbu zote zinazokwenda nayo zitafutwa.",PL:"Ostrzeżenie! Ta kategoria i wszystkie należące do niej notatki zostaną usunięte.",PT:"Aviso! Esta categoria e todas as notas pertencentes a ela serão excluídas.",RU:"Внимание! Эта категория и все заметки, принадлежащие ей, будут удалены.",VI:"Cảnh báo! Danh mục này và tất cả ghi chú thuộc danh mục này sẽ bị xóa.",TR:"Uyarı! Bu kategori ve bu kategoriye ait tüm notlar silinecek.",UR:"انتباہ! یہ زمرہ اور اس زمرے کے تمام نوٹس حذف کر دیے جائیں گے۔",UZ:"Ogohlantirish! Ushbu kategoriya va unga tegishli barcha eslatmalar o'chiriladi.",ZH:"警告!此类别及其所有笔记将被删除。",NL:"Waarschuwing! Deze categorie en alle bijbehorende notities worden verwijderd.",SV:"Varning! Denna kategori och alla anteckningar som tillhör den kommer att raderas.",EL:"Προειδοποίηση! Αυτή η κατηγορία και όλες οι σημειώσεις που της ανήκουν θα διαγραφούν.",CS:"Varování! Tato kategorie a všechny poznámky, které k ní patří, budou smazány.",HU:"Figyelmeztetés! Ez a kategória és az összes hozzá tartozó jegyzet törlésre kerül.",RO:"Atenție! Această categorie și toate notele care îi aparțin vor fi șterse.",BG:"Внимание! Тази категория и всички бележки, които й принадлежат, ще бъдат изтрити.",DA:"Advarsel! Denne kategori og alle tilhørende noter vil blive slettet.",FI:"Varoitus! Tämä kategoria ja kaikki siihen liittyvät muistiinpanot poistetaan.",SL:"Opozorilo! Ta kategorija in vse opombe, ki pripadajo njej, bodo izbrisane."},
paste_as_text:{AR:"لصق كنص",DE:"Als Text einfügen",EN:"Paste as text",ES:"Pegar como texto",FA:"چسباندن به صورت متن",FR:"Coller en tant que texte",HI:"टेक्स्ट के रूप में चिपकाएं",ID:"Tempel sebagai teks",IT:"Incolla come testo",JA:"テキストとして貼り付け",KO:"텍스트로 붙여넣기",SW:"Bandika kama maandishi",PL:"Wklej jako tekst",PT:"Colar como texto",RU:"Вставить как текст",VI:"Dán dưới dạng văn bản",TR:"Metin olarak yapıştır",UR:"متن کے طور پر چسپاں کریں",UZ:"Matn sifatida joylashtiring",ZH:"粘贴为文本",NL:"Plakken als tekst",SV:"Klistra in som text",EL:"Επικόλληση ως κείμενο",CS:"Vložit jako text",HU:"Beillesztés szövegként",RO:"Lipește ca text",BG:"Постави като текст",DA:"Indsæt som tekst",FI:"Liitä tekstinä",SL:"Prilepi kot besedilo"},
paste:{AR:"لصق",DE:"Einfügen",EN:"Paste",ES:"Pegar",FA:"چسباندن",FR:"Coller",HI:"चिपकाएं",ID:"Tempel",IT:"Incolla",JA:"貼り付け",KO:"붙여넣기",SW:"Bandika",PL:"Wklej",PT:"Colar",RU:"Вставить",VI:"Dán",TR:"Yapıştır",UR:"چسپاں کریں",UZ:"Joylashtirish",ZH:"粘贴",NL:"Plakken",SV:"Klistra in",EL:"Επικόλληση",CS:"Vložit",HU:"Beillesztés",RO:"Lipește",BG:"Постави",DA:"Indsæt",FI:"Liitä",SL:"Prilepi"},
copy:{AR:"نسخ",DE:"Kopieren",EN:"Copy",ES:"Copiar",FA:"کپی",FR:"Copier",HI:"कॉपी करें",ID:"Salin",IT:"Copia",JA:"コピー",KO:"복사",SW:"Nakili",PL:"Kopiuj",PT:"Copiar",RU:"Копировать",VI:"Sao chép",TR:"Kopyala",UR:"کاپی کریں",UZ:"Nusxalash",ZH:"复制",NL:"Kopiëren",SV:"Kopiera",EL:"Αντιγραφή",CS:"Kopírovat",HU:"Másolás",RO:"Copiază",BG:"Копирай",DA:"Kopiér",FI:"Kopioi",SL:"Kopiraj"},
cut:{AR:"قص",DE:"Ausschneiden",EN:"Cut",ES:"Cortar",FA:"بریدن",FR:"Couper",HI:"काटें",ID:"Potong",IT:"Taglia",JA:"切り取り",KO:"잘라내기",SW:"Kata",PL:"Wytnij",PT:"Recortar",RU:"Вырезать",VI:"Cắt",TR:"Kes",UR:"کاٹیں",UZ:"Kesish",ZH:"剪切",NL:"Knippen",SV:"Klipp ut",EL:"Αποκοπή",CS:"Vyjmout",HU:"Kivágás",RO:"Taie",BG:"Изрежи",DA:"Klip",FI:"Leikkaa",SL:"Izreži"},
add_html_code:{AR:"إضافة كود HTML",DE:"HTML-Code hinzufügen",EN:"Add HTML Code",ES:"Agregar código HTML",FA:"افزودن کد HTML",FR:"Ajouter du code HTML",HI:"HTML कोड जोड़ें",ID:"Tambahkan Kode HTML",IT:"Aggiungi codice HTML",JA:"HTMLコードを追加",KO:"HTML 코드 추가",SW:"Ongeza msimbo wa HTML",PL:"Dodaj kod HTML",PT:"Adicionar código HTML",RU:"Добавить HTML-код",VI:"Thêm mã HTML",TR:"HTML Kodu Ekle",UR:"HTML کوڈ شامل کریں",UZ:"HTML kodi qo'shish",ZH:"添加HTML代码",NL:"HTML-code toevoegen",SV:"Lägg till HTML-kod",EL:"Προσθήκη κώδικα HTML",CS:"Přidat HTML kód",HU:"HTML kód hozzáadása",RO:"Adaugă cod HTML",BG:"Добави HTML код",DA:"Tilføj HTML-kode",FI:"Lisää HTML-koodi",SL:"Dodaj kodo HTML"},
select_table_size:{AR:"اختر حجم الجدول",DE:"Tabellengröße auswählen",EN:"Select Table Size",ES:"Seleccionar tamaño de la tabla",FA:"اندازه جدول را انتخاب کنید",FR:"Sélectionnez la taille du tableau",HI:"टेबल का आकार चुनें",ID:"Pilih ukuran tabel",IT:"Seleziona dimensione tabella",JA:"表のサイズを選択",KO:"표 크기 선택",SW:"Chagua ukubwa wa meza",PL:"Wybierz rozmiar tabeli",PT:"Selecionar tamanho da tabela",RU:"Выберите размер таблицы",VI:"Chọn kích thước bảng",TR:"Tablo Boyutunu Seç",UR:"ٹیبل کا سائز منتخب کریں",UZ:"Jadval o'lchamini tanlang",ZH:"选择表格大小",NL:"Selecteer tabelgrootte",SV:"Välj tabellstorlek",EL:"Επιλογή μεγέθους πίνακα",CS:"Vybrat velikost tabulky",HU:"Táblázat méretének kiválasztása",RO:"Selectează dimensiunea tabelului",BG:"Избери размер на таблицата",DA:"Vælg tabelstørrelse",FI:"Valitse taulukon koko",SL:"Izberi velikost tabele"},
please_select_text_first:{AR:"يرجى تحديد النص أولاً.",DE:"Bitte wählen Sie zuerst den Text aus.",EN:"Please select the text first.",ES:"Por favor, selecciona el texto primero.",FA:"لطفاً ابتدا متن را انتخاب کنید.",FR:"Veuillez d'abord sélectionner le texte.",HI:"कृपया पहले टेक्स्ट का चयन करें।",ID:"Silakan pilih teks terlebih dahulu.",IT:"Si prega di selezionare prima il testo.",JA:"まずテキストを選択してください。",KO:"먼저 텍스트를 선택해 주세요.",SW:"Tafadhali chagua maandishi kwanza.",PL:"Proszę najpierw zaznaczyć tekst.",PT:"Por favor, selecione o texto primeiro.",RU:"Пожалуйста, сначала выделите текст.",VI:"Vui lòng chọn văn bản trước.",TR:"Lütfen önce metni seçin.",UR:"براہ کرم پہلے متن کو منتخب کریں۔",UZ:"Iltimos, avval matnni tanlang.",ZH:"请先选择文本。",NL:"Selecteer eerst de tekst.",SV:"Välj texten först.",EL:"Παρακαλώ επιλέξτε το κείμενο πρώτα.",CS:"Nejprve prosím vyberte text.",HU:"Kérjük, először jelölje ki a szöveget.",RO:"Vă rugăm să selectați mai întâi textul.",BG:"Моля, първо изберете текста.",DA:"Vælg venligst teksten først.",FI:"Valitse teksti ensin.",SL:"Najprej izberite besedilo."},
add_link:{AR:"إضافة رابط:",DE:"Link hinzufügen:",EN:"Add Link:",ES:"Agregar enlace:",FA:"افزودن لینک:",FR:"Ajouter un lien:",HI:"लिंक जोड़ें:",ID:"Tambahkan tautan:",IT:"Aggiungi link:",JA:"リンクを追加:",KO:"링크 추가:",SW:"Ongeza kiungo:",PL:"Dodaj link:",PT:"Adicionar link:",RU:"Добавить ссылку:",VI:"Thêm liên kết:",TR:"Bağlantı Ekle:",UR:"لنک شامل کریں:",UZ:"Havola qo'shish:",ZH:"添加链接:",NL:"Link toevoegen:",SV:"Lägg till länk:",EL:"Προσθήκη συνδέσμου:",CS:"Přidat odkaz:",HU:"Link hozzáadása:",RO:"Adaugă link:",BG:"Добави връзка:",DA:"Tilføj link:",FI:"Lisää linkki:",SL:"Dodaj povezavo:"},
data_imported_successfully:{AR:"تم استيراد البيانات بنجاح.",DE:"Daten wurden erfolgreich importiert.",EN:"Data imported successfully.",ES:"Datos importados con éxito.",FA:"داده‌ها با موفقیت وارد شدند.",FR:"Données importées avec succès.",HI:"डेटा सफलतापूर्वक आयात किया गया।",ID:"Data berhasil diimpor.",IT:"Dati importati con successo.",JA:"データが正常にインポートされました。",KO:"데이터가 성공적으로 가져와졌습니다.",SW:"Data zilifanikiwa kuingizwa.",PL:"Dane zostały pomyślnie zaimportowane.",PT:"Dados importados com sucesso.",RU:"Данные успешно импортированы.",VI:"Dữ liệu đã được nhập thành công.",TR:"Veriler başarıyla içe aktarıldı.",UR:"ڈیٹا کامیابی سے درآمد کیا گیا۔",UZ:"Ma'lumotlar muvaffaqiyatli ravishda import qilindi.",ZH:"数据导入成功。",NL:"Gegevens succesvol geïmporteerd.",SV:"Data importerades framgångsrikt.",EL:"Τα δεδομένα εισήχθησαν επιτυχώς.",CS:"Data byla úspěšně importována.",HU:"Az adatok sikeresen importálva.",RO:"Datele au fost importate cu succes.",BG:"Данните бяха успешно импортирани.",DA:"Data importeret succesfuldt.",FI:"Tiedot tuotiin onnistuneesti.",SL:"Podatki so bili uspešno uvoženi."},
invalid_file_format:{AR:"تنسيق ملف غير صالح.",DE:"Ungültiges Dateiformat.",EN:"Invalid file format.",ES:"Formato de archivo no válido.",FA:"فرمت فایل نامعتبر است.",FR:"Format de fichier non valide.",HI:"अमान्य फ़ाइल प्रारूप.",ID:"Format file tidak valid.",IT:"Formato file non valido.",JA:"無効なファイル形式です。",KO:"잘못된 파일 형식입니다.",SW:"Muundo wa faili si sahihi.",PL:"Nieprawidłowy format pliku.",PT:"Formato de arquivo inválido.",RU:"Неверный формат файла.",VI:"Định dạng tệp không hợp lệ.",TR:"Geçersiz dosya formatı.",UR:"غلط فائل فارمیٹ۔",UZ:"Noto'g'ri fayl formati.",ZH:"无效的文件格式。",NL:"Ongeldig bestandsformaat.",SV:"Ogiltigt filformat.",EL:"Μη έγκυρη μορφή αρχείου.",CS:"Neplatný formát souboru.",HU:"Érvénytelen fájlformátum.",RO:"Format de fișier invalid.",BG:"Невалиден файлов формат.",DA:"Ugyldigt filformat.",FI:"Virheellinen tiedostomuoto.",SL:"Neveljaven format datoteke."},
category:{AR:"الفئة",DE:"Kategorie",EN:"Category",ES:"Categoría",FA:"دسته",FR:"Catégorie",HI:"श्रेणी",ID:"Kategori",IT:"Categoria",JA:"カテゴリ",KO:"카테고리",SW:"Jamii",PL:"Kategoria",PT:"Categoria",RU:"Категория",VI:"Danh mục",TR:"Kategori",UR:"زمرہ",UZ:"Kategoriya",ZH:"分类",NL:"Categorie",SV:"Kategori",EL:"Κατηγορία",CS:"Kategorie",HU:"Kategória",RO:"Categorie",BG:"Категория",DA:"Kategori",FI:"Kategoria",SL:"Kategorija"},
task:{AR:"مهمة",DE:"Aufgabe",EN:"Task",ES:"Tarea",FA:"وظیفه",FR:"Tâche",HI:"कार्य",ID:"Tugas",IT:"Compito",JA:"タスク",KO:"작업",SW:"Kazi",PL:"Zadanie",PT:"Tarefa",RU:"Задача",VI:"Nhiệm vụ",TR:"Görev",UR:"ٹاسک",UZ:"Vazifa",ZH:"任务",NL:"Taak",SV:"Uppgift",EL:"Εργασία",CS:"Úkol",HU:"Feladat",RO:"Sarcină",BG:"Задача",DA:"Opgave",FI:"Tehtävä",SL:"Naloga"},
save:{AR:"حفظ",DE:"Speichern",EN:"Save",ES:"Guardar",FA:"ذخیره",FR:"Enregistrer",HI:"सहेजें",ID:"Simpan",IT:"Salva",JA:"保存",KO:"저장",SW:"Hifadhi",PL:"Zapisz",PT:"Salvar",RU:"Сохранить",VI:"Lưu",TR:"Kaydet",UR:"محفوظ کریں",UZ:"Saqlash",ZH:"保存",NL:"Opslaan",SV:"Spara",EL:"Αποθήκευση",CS:"Uložit",HU:"Mentés",RO:"Salvează",BG:"Запази",DA:"Gem",FI:"Tallenna",SL:"Shrani"},
search_note:{AR:"ابحث عن ملاحظة",DE:"Notiz suchen",EN:"Search note",ES:"Buscar nota",FA:"یادداشت را جستجو کنید",FR:"Rechercher une note",HI:"नोट खोजें",ID:"Cari catatan",IT:"Cerca nota",JA:"ノートを検索",KO:"노트 검색",SW:"Tafuta kumbukumbu",PL:"Szukaj notatki",PT:"Pesquisar nota",RU:"Поиск заметки",VI:"Tìm kiếm ghi chú",TR:"Not ara",UR:"نوٹ تلاش کریں",UZ:"Eslatmani qidirish",ZH:"搜索笔记",NL:"Zoek notitie",SV:"Sök anteckning",EL:"Αναζήτηση σημείωσης",CS:"Hledat poznámku",HU:"Jegyzet keresése",RO:"Caută notă",BG:"Търси бележка",DA:"Søg note",FI:"Etsi muistiinpano",SL:"Išči opombo"},
search_in_note_content:{AR:"ابحث في محتوى الملاحظة",DE:"In Notizinhalt suchen",EN:"Search in note content",ES:"Buscar en el contenido de la nota",FA:"در محتوای یادداشت جستجو کنید",FR:"Rechercher dans le contenu de la note",HI:"नोट की सामग्री में खोजें",ID:"Cari di dalam konten catatan",IT:"Cerca nel contenuto della nota",JA:"ノートの内容で検索",KO:"노트 내용에서 검색",SW:"Tafuta ndani ya maudhui ya kumbukumbu",PL:"Szukaj w treści notatki",PT:"Pesquisar no conteúdo da nota",RU:"Поиск в содержании заметки",VI:"Tìm kiếm trong nội dung ghi chú",TR:"Not içeriğinde ara",UR:"نوٹ کے مواد میں تلاش کریں",UZ:"Eslatma matnida qidirish",ZH:"在笔记内容中搜索",NL:"Zoeken in notitie-inhoud",SV:"Sök i anteckningsinnehåll",EL:"Αναζήτηση στο περιεχόμενο της σημείωσης",CS:"Hledat v obsahu poznámky",HU:"Keresés a jegyzet tartalmában",RO:"Caută în conținutul notei",BG:"Търси в съдържанието на бележката",DA:"Søg i noteindhold",FI:"Etsi muistiinpanon sisällöstä",SL:"Išči v vsebini opombe"},
heading_1:{AR:"العنوان ١",DE:"Überschrift 1",EN:"Heading 1",ES:"Título 1",FA:"سرتیتر 1",FR:"Titre 1",HI:"शीर्षक 1",ID:"Judul 1",IT:"Intestazione 1",JA:"見出し1",KO:"제목 1",SW:"Kichwa 1",PL:"Nagłówek 1",PT:"Título 1",RU:"Заголовок 1",VI:"Tiêu đề 1",TR:"Başlık 1",UR:"عنوان 1",UZ:"Sarlavha 1",ZH:"标题 1",NL:"Kop 1",SV:"Rubrik 1",EL:"Επικεφαλίδα 1",CS:"Nadpis 1",HU:"Címsor 1",RO:"Titlu 1",BG:"Заглавие 1",DA:"Overskrift 1",FI:"Otsikko 1",SL:"Naslov 1"},
heading_2:{AR:"العنوان ٢",DE:"Überschrift 2",EN:"Heading 2",ES:"Título 2",FA:"سرتیتر 2",FR:"Titre 2",HI:"शीर्षक 2",ID:"Judul 2",IT:"Intestazione 2",JA:"見出し2",KO:"제목 2",SW:"Kichwa 2",PL:"Nagłówek 2",PT:"Título 2",RU:"Заголовок 2",VI:"Tiêu đề 2",TR:"Başlık 2",UR:"عنوان 2",UZ:"Sarlavha 2",ZH:"标题 2",NL:"Kop 2",SV:"Rubrik 2",EL:"Επικεφαλίδα 2",CS:"Nadpis 2",HU:"Címsor 2",RO:"Titlu 2",BG:"Заглавие 2",DA:"Overskrift 2",FI:"Otsikko 2",SL:"Naslov 2"},
bold:{AR:"غامق",DE:"Fett",EN:"Bold",ES:"Negrita",FA:"درشت",FR:"Gras",HI:"बोल्ड",ID:"Tebal",IT:"Grassetto",JA:"太字",KO:"굵게",SW:"Manane",PL:"Pogrubienie",PT:"Negrito",RU:"Жирный",VI:"Đậm",TR:"Kalın",UR:"کڑا",UZ:"Qalin",ZH:"粗体",NL:"Vet",SV:"Fet",EL:"Έντονα",CS:"Tučné",HU:"Félkövér",RO:"Îngroșat",BG:"Удебелен",DA:"Fed",FI:"Lihavoitu",SL:"Krepko"},
italic:{AR:"مائل",DE:"Kursiv",EN:"Italic",ES:"Cursiva",FA:"ایتالیک",FR:"Italique",HI:"तिरछा",ID:"Miring",IT:"Corsivo",JA:"斜体",KO:"기울임꼴",SW:"Italiki",PL:"Kursywa",PT:"Itálico",RU:"Курсив",VI:"Nghiêng",TR:"Eğik",UR:"ترچھا",UZ:"Yotiq",ZH:"斜体",NL:"Cursief",SV:"Kursiv",EL:"Πλάγια",CS:"Kurzíva",HU:"Dőlt",RO:"Italic",BG:"Курсив",DA:"Kursiv",FI:"Kursivoitu",SL:"Ležeče"},
bulleted_list:{AR:"قائمة نقطية",DE:"Aufzählungsliste",EN:"Bulleted list",ES:"Lista con viñetas",FA:"لیست گلوله‌ای",FR:"Liste à puces",HI:"बुलेटेड सूची",ID:"Daftar berpoin",IT:"Elenco puntato",JA:"箇条書きリスト",KO:"글머리 기호 목록",SW:"Orodha ya vitanda",PL:"Lista wypunktowana",PT:"Lista com marcadores",RU:"Маркированный список",VI:"Danh sách đánh dấu",TR:"Madde imli liste",UR:"بلیٹڈ فہرست",UZ:"Belgilangan ro'yxat",ZH:"项目符号列表",NL:"Lijst met opsommingstekens",SV:"Punktlista",EL:"Λίστα με κουκκίδες",CS:"Seznam s odrážkami",HU:"Felsorolás",RO:"Listă cu marcatori",BG:"Списък с точки",DA:"Punktliste",FI:"Luettelomerkitty luettelo",SL:"Seznam z oznakami"},
numbered_list:{AR:"قائمة مرقمة",DE:"Nummerierte Liste",EN:"Numbered list",ES:"Lista numerada",FA:"لیست شماره‌دار",FR:"Liste numérotée",HI:"संख्यांकित सूची",ID:"Daftar bernomor",IT:"Elenco numerato",JA:"番号付きリスト",KO:"번호 매기기 목록",SW:"Orodha ya namba",PL:"Lista numerowana",PT:"Lista numerada",RU:"Нумерованный список",VI:"Danh sách đánh số",TR:"Numaralı liste",UR:"نمبر دار فہرست",UZ:"Raqamlangan ro'yxat",ZH:"编号列表",NL:"Genummerde lijst",SV:"Nummerlista",EL:"Αριθμημένη λίστα",CS:"Číslovaný seznam",HU:"Számozott lista",RO:"Listă numerotată",BG:"Номериран списък",DA:"Nummereret liste",FI:"Numeroitu luettelo",SL:"Oštevilčen seznam"},
strikethrough:{AR:"يتوسطه خط",DE:"Durchgestrichen",EN:"Strikethrough",ES:"Tachado",FA:"خط خورده",FR:"Barré",HI:"कटआउट",ID:"Coret",IT:"Barrato",JA:"取り消し線",KO:"취소선",SW:"Mstari wa kuvunjika",PL:"Przekreślenie",PT:"Tachado",RU:"Зачеркнутый",VI:"Gạch ngang",TR:"Üstü çizili",UR:"منقطع لکیر",UZ:"Chizilgan",ZH:"删除线",NL:"Doorstrepen",SV:"Genomstruken",EL:"Διαγραφή",CS:"Přeškrtnuté",HU:"Áthúzott",RO:"Tăiat",BG:"Зачеркнат",DA:"Gennemstreget",FI:"Yliviivattu",SL:"Prečrtano"},
align_left:{AR:"محاذاة إلى اليسار",DE:"Linksbündig",EN:"Align left",ES:"Alinear a la izquierda",FA:"تراز چپ",FR:"Aligner à gauche",HI:"बाएं से पंक्तिबद्ध करें",ID:"Rata kiri",IT:"Allinea a sinistra",JA:"左揃え",KO:"왼쪽 정렬",SW:"Panga upande wa kushoto",PL:"Wyrównaj do lewej",PT:"Alinhar à esquerda",RU:"Выровнять по левому краю",VI:"Căn trái",TR:"Sola yasla",UR:"بائیں طرف سے پٹی بنانا",UZ:"Chapga tekislash",ZH:"左对齐",NL:"Links uitlijnen",SV:"Vänsterjustera",EL:"Στοίχιση αριστερά",CS:"Zarovnat vlevo",HU:"Balra igazítás",RO:"Aliniază la stânga",BG:"Подравняване вляво",DA:"Venstrejustér",FI:"Tasaa vasemmalle",SL:"Poravnava levo"},
align_center:{AR:"توسيط",DE:"Zentrieren",EN:"Align center",ES:"Centrar",FA:"تراز وسط",FR:"Centrer",HI:"केंद्र में संरेखित करें",ID:"Rata tengah",IT:"Allinea al centro",JA:"中央揃え",KO:"가운데 정렬",SW:"Panga katikati",PL:"Wyśrodkuj",PT:"Centralizar",RU:"По центру",VI:"Căn giữa",TR:"Ortaya yasla",UR:"مرکز کرنا",UZ:"Markazlash",ZH:"居中对齐",NL:"Centreren",SV:"Centrera",EL:"Στοίχιση στο κέντρο",CS:"Zarovnat na střed",HU:"Középre igazítás",RO:"Centrează",BG:"Центриране",DA:"Centrér",FI:"Keskitä",SL:"Poravnava na sredino"},
align_right:{AR:"محاذاة إلى اليمين",DE:"Rechtsbündig",EN:"Align right",ES:"Alinear a la derecha",FA:"تراز راست",FR:"Aligner à droite",HI:"दाईं ओर संरेखित करें",ID:"Rata kanan",IT:"Allinea a destra",JA:"右揃え",KO:"오른쪽 정렬",SW:"Panga upande wa kulia",PL:"Wyrównaj do prawej",PT:"Alinhar à direita",RU:"Выровнять по правому краю",VI:"Căn phải",TR:"Sağa yasla",UR:"دائیں طرف سے پٹی بنانا",UZ:"O'ngga tekislash",ZH:"右对齐",NL:"Rechts uitlijnen",SV:"Högerjustera",EL:"Στοίχιση δεξιά",CS:"Zarovnat vpravo",HU:"Jobbra igazítás",RO:"Aliniază la dreapta",BG:"Подравняване вдясно",DA:"Højrejustér",FI:"Tasaa oikealle",SL:"Poravnava desno"},
remove_formatting:{AR:"إزالة التنسيق",DE:"Formatierung entfernen",EN:"Remove formatting",ES:"Eliminar formato",FA:"حذف فرمت",FR:"Supprimer le formatage",HI:"फ़ॉर्मेटिंग हटाएं",ID:"Hapus pemformatan",IT:"Rimuovi formattazione",JA:"書式を削除",KO:"서식 제거",SW:"Ondoa usimbo",PL:"Usuń formatowanie",PT:"Remover formatação",RU:"Удалить форматирование",VI:"Xóa định dạng",TR:"Biçimlendirmeyi Kaldır",UR:"فارمیٹنگ کو ہٹا دیں",UZ:"Formatlashni olib tashlang",ZH:"清除格式",NL:"Opmaak verwijderen",SV:"Ta bort formatering",EL:"Αφαίρεση μορφοποίησης",CS:"Odstranit formátování",HU:"Formázás eltávolítása",RO:"Elimină formatarea",BG:"Премахни форматирането",DA:"Fjern formatering",FI:"Poista muotoilu",SL:"Odstrani oblikovanje"},
horizontal_line:{AR:"خط أفقي",DE:"Horizontale Linie",EN:"Horizontal line",ES:"Línea horizontal",FA:"خط افقی",FR:"Ligne horizontale",HI:"क्षैतिज रेखा",ID:"Garis horizontal",IT:"Linea orizzontale",JA:"水平線",KO:"수평선",SW:"Mstari wa usawa",PL:"Linia pozioma",PT:"Linha horizontal",RU:"Горизонтальная линия",VI:"Đường ngang",TR:"Yatay Çizgi",UR:"افقی لکیر",UZ:"Gorizontal chiziq",ZH:"水平线",NL:"Horizontale lijn",SV:"Horisontell linje",EL:"Οριζόντια γραμμή",CS:"Vodorovná čára",HU:"Vízszintes vonal",RO:"Linie orizontală",BG:"Хоризонтална линия",DA:"Vandret linje",FI:"Vaakaviiva",SL:"Vodoravna črta"},
add_link:{AR:"إضافة رابط",DE:"Link hinzufügen",EN:"Add link",ES:"Agregar enlace",FA:"افزودن لینک",FR:"Ajouter un lien",HI:"लिंक जोड़ें",ID:"Tambahkan tautan",IT:"Aggiungi link",JA:"リンクを追加",KO:"링크 추가",SW:"Ongeza kiungo",PL:"Dodaj link",PT:"Adicionar link",RU:"Добавить ссылку",VI:"Thêm liên kết",TR:"Bağlantı Ekle",UR:"لنک شامل کریں",UZ:"Havola qo'shish",ZH:"添加链接",NL:"Link toevoegen",SV:"Lägg till länk",EL:"Προσθήκη συνδέσμου",CS:"Přidat odkaz",HU:"Link hozzáadása",RO:"Adaugă link",BG:"Добави връзка",DA:"Tilføj link",FI:"Lisää linkki",SL:"Dodaj povezavo"},
remove_link:{AR:"إزالة الرابط",DE:"Link entfernen",EN:"Remove link",ES:"Eliminar enlace",FA:"حذف لینک",FR:"Supprimer le lien",HI:"लिंक हटाएं",ID:"Hapus tautan",IT:"Rimuovi link",JA:"リンクを削除",KO:"링크 제거",SW:"Ondoa kiungo",PL:"Usuń link",PT:"Remover link",RU:"Удалить ссылку",VI:"Xóa liên kết",TR:"Bağlantıyı Kaldır",UR:"لنک کو ہٹا دیں",UZ:"Havolani olib tashlang",ZH:"移除链接",NL:"Link verwijderen",SV:"Ta bort länk",EL:"Αφαίρεση συνδέσμου",CS:"Odstranit odkaz",HU:"Link eltávolítása",RO:"Elimină linkul",BG:"Премахни връзката",DA:"Fjern link",FI:"Poista linkki",SL:"Odstrani povezavo"},
add_html:{AR:"إضافة HTML",DE:"HTML hinzufügen",EN:"Add HTML",ES:"Agregar HTML",FA:"افزودن HTML",FR:"Ajouter du HTML",HI:"HTML जोड़ें",ID:"Tambahkan HTML",IT:"Aggiungi HTML",JA:"HTMLを追加",KO:"HTML 추가",SW:"Ongeza HTML",PL:"Dodaj HTML",PT:"Adicionar HTML",RU:"Добавить HTML",VI:"Thêm HTML",TR:"HTML Ekle",UR:"HTML شامل کریں",UZ:"HTML qo'shish",ZH:"添加HTML",NL:"HTML toevoegen",SV:"Lägg till HTML",EL:"Προσθήκη HTML",CS:"Přidat HTML",HU:"HTML hozzáadása",RO:"Adaugă HTML",BG:"Добави HTML",DA:"Tilføj HTML",FI:"Lisää HTML",SL:"Dodaj HTML"},
add_table:{AR:"إضافة جدول",DE:"Tabelle hinzufügen",EN:"Add table",ES:"Agregar tabla",FA:"افزودن جدول",FR:"Ajouter un tableau",HI:"टेबल जोड़ें",ID:"Tambahkan tabel",IT:"Aggiungi tabella",JA:"表を追加",KO:"표 추가",SW:"Ongeza meza",PL:"Dodaj tabelę",PT:"Adicionar tabela",RU:"Добавить таблицу",VI:"Thêm bảng",TR:"Tablo Ekle",UR:"ٹیبل شامل کریں",UZ:"Jadval qo'shish",ZH:"添加表格",NL:"Tabel toevoegen",SV:"Lägg till tabell",EL:"Προσθήκη πίνακα",CS:"Přidat tabulku",HU:"Táblázat hozzáadása",RO:"Adaugă tabel",BG:"Добави таблица",DA:"Tilføj tabel",FI:"Lisää taulukko",SL:"Dodaj tabelo"},
select_all:{AR:"تحديد الكل",DE:"Alles auswählen",EN:"Select all",ES:"Seleccionar todo",FA:"انتخاب همه",FR:"Tout sélectionner",HI:"सभी का चयन करें",ID:"Pilih semua",IT:"Seleziona tutto",JA:"すべて選択",KO:"모두 선택",SW:"Chagua zote",PL:"Zaznacz wszystko",PT:"Selecionar tudo",RU:"Выбрать все",VI:"Chọn tất cả",TR:"Tümünü Seç",UR:"سب کو منتخب کریں",UZ:"Hammasini tanlang",ZH:"全选",NL:"Alles selecteren",SV:"Markera alla",EL:"Επιλογή όλων",CS:"Vybrat vše",HU:"Összes kijelölése",RO:"Selectează tot",BG:"Избери всички",DA:"Vælg alle",FI:"Valitse kaikki",SL:"Izberi vse"},
decrease_font_size:{AR:"تصغير حجم الخط",DE:"Schriftgröße verkleinern",EN:"Decrease font size",ES:"Disminuir tamaño de fuente",FA:"کاهش اندازه فونت",FR:"Réduire la taille de la police",HI:"फ़ॉन्ट आकार घटाएं",ID:"Perkecil ukuran font",IT:"Diminuisci dimensione carattere",JA:"フォントサイズを縮小",KO:"글꼴 크기 줄이기",SW:"Punguza saizi ya fonti",PL:"Zmniejsz rozmiar czcionki",PT:"Diminuir tamanho da fonte",RU:"Уменьшить размер шрифта",VI:"Giảm cỡ chữ",TR:"Fontu Küçült",UR:"فونٹ کا سائز چھوٹا کریں",UZ:"Shrift o'lchamini kamaytirish",ZH:"减小字体大小",NL:"Lettergrootte verkleinen",SV:"Minska teckenstorlek",EL:"Μείωση μεγέθους γραμματοσειράς",CS:"Zmenšit velikost písma",HU:"Betűméret csökkentése",RO:"Micșorează dimensiunea fontului",BG:"Намали размера на шрифта",DA:"Formindsk skriftstørrelse",FI:"Pienennä fonttikokoa",SL:"Zmanjšaj velikost pisave"},
increase_font_size:{AR:"تكبير حجم الخط",DE:"Schriftgröße vergrößern",EN:"Increase font size",ES:"Aumentar tamaño de fuente",FA:"افزایش اندازه فونت",FR:"Augmenter la taille de la police",HI:"फ़ॉन्ट आकार बढ़ाएं",ID:"Perbesar ukuran font",IT:"Aumenta dimensione carattere",JA:"フォントサイズを拡大",KO:"글꼴 크기 늘리기",SW:"Ongeza saizi ya fonti",PL:"Zwiększ rozmiar czcionki",PT:"Aumentar tamanho da fonte",RU:"Увеличить размер шрифта",VI:"Tăng cỡ chữ",TR:"Fontu Büyüt",UR:"فونٹ کا سائز بڑھا دیں",UZ:"Shrift o'lchamini oshirish",ZH:"增大字体大小",NL:"Lettergrootte vergroten",SV:"Öka teckenstorlek",EL:"Αύξηση μεγέθους γραμματοσειράς",CS:"Zvětšit velikost písma",HU:"Betűméret növelése",RO:"Mărește dimensiunea fontului",BG:"Увеличи размера на шрифта",DA:"Forøg skriftstørrelse",FI:"Suurenna fonttikokoa",SL:"Povečaj velikost pisave"},
undo:{AR:"تراجع",DE:"Rückgängig",EN:"Undo",ES:"Deshacer",FA:"واگرد",FR:"Annuler",HI:"पूर्ववत करें",ID:"Urungkan",IT:"Annulla",JA:"元に戻す",KO:"되돌리기",SW:"Tengua",PL:"Cofnij",PT:"Desfazer",RU:"Отменить",VI:"Hoàn tác",TR:"Geri al",UR:"واپس کریں",UZ:"Bekor qilish",ZH:"撤销",NL:"Ongedaan maken",SV:"Ångra",EL:"Αναίρεση",CS:"Zpět",HU:"Visszavonás",RO:"Anulează",BG:"Отмени",DA:"Fortryd",FI:"Kumoa",SL:"Razveljavi"},
redo:{AR:"إعادة",DE:"Wiederholen",EN:"Redo",ES:"Rehacer",FA:"مجدد",FR:"Rétablir",HI:"फिर से करें",ID:"Ulangi",IT:"Ripeti",JA:"やり直す",KO:"다시 실행",SW:"Fanya tena",PL:"Ponów",PT:"Refazer",RU:"Повторить",VI:"Làm lại",TR:"İleri al",UR:"دوبارہ کریں",UZ:"Qayta bajaring",ZH:"重做",NL:"Opnieuw doen",SV:"Gör om",EL:"Επανάληψη",CS:"Znovu",HU:"Újra",RO:"Refă",BG:"Повтори",DA:"Gentag",FI:"Tee uudelleen",SL:"Ponovno izvedi"},
select_language:{AR:"اختر اللغة",DE:"Sprache auswählen",EN:"Select language",ES:"Seleccionar idioma",FA:"زبان را انتخاب کنید",FR:"Sélectionnez la langue",HI:"भाषा चुनें",ID:"Pilih bahasa",IT:"Seleziona lingua",JA:"言語を選択",KO:"언어 선택",SW:"Chagua lugha",PL:"Wybierz język",PT:"Selecionar idioma",RU:"Выбрать язык",VI:"Chọn ngôn ngữ",TR:"Dil seç",UR:"زبان منتخب کریں",UZ:"Tilni tanlang",ZH:"选择语言",NL:"Taal selecteren",SV:"Välj språk",EL:"Επιλογή γλώσσας",CS:"Vybrat jazyk",HU:"Nyelv kiválasztása",RO:"Selectează limba",BG:"Избери език",DA:"Vælg sprog",FI:"Valitse kieli",SL:"Izberi jezik"},
save_all_data:{AR:"احفظ جميع البيانات",DE:"Alle Daten speichern",EN:"Save all data",ES:"Guardar todos los datos",FA:"تمام داده‌ها را ذخیره کنید",FR:"Enregistrer toutes les données",HI:"सभी डेटा सहेजें",ID:"Simpan semua data",IT:"Salva tutti i dati",JA:"すべてのデータを保存",KO:"모든 데이터 저장",SW:"Hifadhi data zote",PL:"Zapisz wszystkie dane",PT:"Salvar todos os dados",RU:"Сохранить все данные",VI:"Lưu tất cả dữ liệu",TR:"Tüm verileri kaydet",UR:"تمام ڈیٹا محفوظ کریں",UZ:"Barcha ma'lumotlarni saqlang",ZH:"保存所有数据",NL:"Alle gegevens opslaan",SV:"Spara all data",EL:"Αποθήκευση όλων των δεδομένων",CS:"Uložit všechna data",HU:"Minden adat mentése",RO:"Salvează toate datele",BG:"Запази всички данни",DA:"Gem alle data",FI:"Tallenna kaikki tiedot",SL:"Shrani vse podatke"},
upload_data:{AR:"تحميل البيانات",DE:"Daten hochladen",EN:"Upload data",ES:"Subir datos",FA:"بارگذاری داده‌ها",FR:"Téléverser des données",HI:"डेटा अपलोड करें",ID:"Unggah data",IT:"Carica dati",JA:"データをアップロード",KO:"데이터 업로드",SW:"Pakia data",PL:"Prześlij dane",PT:"Carregar dados",RU:"Загрузить данные",VI:"Tải lên dữ liệu",TR:"Verileri yükle",UR:"ڈیٹا اپ لوڈ کریں",UZ:"Ma'lumotlarni yuklash",ZH:"上传数据",NL:"Gegevens uploaden",SV:"Ladda upp data",EL:"Ανέβασμα δεδομένων",CS:"Nahrát data",HU:"Adatok feltöltése",RO:"Încarcă date",BG:"Качи данни",DA:"Upload data",FI:"Lataa tiedot",SL:"Naloži podatke"},
reading_mode:{AR:"وضع القراءة",DE:"Lesemodus",EN:"Reading mode",ES:"Modo de lectura",FA:"حالت خواندن",FR:"Mode lecture",HI:"रीडिंग मोड",ID:"Mode membaca",IT:"Modalità lettura",JA:"リーディングモード",KO:"읽기 모드",SW:"Mpango wa kusoma",PL:"Tryb czytania",PT:"Modo de leitura",RU:"Режим чтения",VI:"Chế độ đọc",TR:"Okuma modu",UR:"پڑھنے کا طریقہ",UZ:"O'qish rejimi",ZH:"阅读模式",NL:"Leesmodus",SV:"Läsläge",EL:"Λειτουργία ανάγνωσης",CS:"Režim čtení",HU:"Olvasási mód",RO:"Mod de citire",BG:"Режим на четене",DA:"Læsetilstand",FI:"Lukutila",SL:"Način branja"},
today:{AR:"اليوم",DE:"Heute",EN:"Today",ES:"Hoy",FA:"امروز",FR:"Aujourd'hui",HI:"आज",ID:"Hari ini",IT:"Oggi",JA:"今日",KO:"오늘",SW:"Leo",PL:"Dzisiaj",PT:"Hoje",RU:"Сегодня",VI:"Hôm nay",TR:"Bugün",UR:"آج",UZ:"Bugun",ZH:"今天",NL:"Vandaag",SV:"Idag",EL:"Σήμερα",CS:"Dnes",HU:"Ma",RO:"Astăzi",BG:"Днес",DA:"I dag",FI:"Tänään",SL:"Danes"},
tomorrow:{AR:"غدًا",DE:"Morgen",EN:"Tomorrow",ES:"Mañana",FA:"فردا",FR:"Demain",HI:"कल",ID:"Besok",IT:"Domani",JA:"明日",KO:"내일",SW:"Kesho",PL:"Jutro",PT:"Amanhã",RU:"Завтра",VI:"Ngày mai",TR:"Yarın",UR:"کل",UZ:"Ertaga",ZH:"明天",NL:"Morgen",SV:"I morgon",EL:"Αύριο",CS:"Zítra",HU:"Holnap",RO:"Mâine",BG:"Утре",DA:"I morgen",FI:"Huomenna",SL:"Jutri"},
theme:{AR:"السمة",DE:"Thema",EN:"Theme",ES:"Tema",FA:"تم",FR:"Thème",HI:"थीम",ID:"Tema",IT:"Tema",JA:"テーマ",KO:"테마",SW:"Mada",PL:"Motyw",PT:"Tema",RU:"Тема",VI:"Chủ đề",TR:"Tema",UR:"تھیم",UZ:"Mavzu",ZH:"主题",NL:"Thema",SV:"Tema",EL:"Θέμα",CS:"Motiv",HU:"Téma",RO:"Temă",BG:"Тема",DA:"Tema",FI:"Teema",SL:"Tema"},
sync:{AR:"مزامنة",DE:"Synchronisieren",EN:"Sync",ES:"Sincronizar",FA:"همگام‌سازی",FR:"Synchroniser",HI:"सिंक",ID:"Sinkronisasi",IT:"Sincronizza",JA:"同期",KO:"동기화",SW:"Usawa",PL:"Synchronizuj",PT:"Sincronizar",RU:"Синхронизация",VI:"Đồng bộ",TR:"Senkronizasyon",UR:"مطابقت",UZ:"Sinxronizatsiya",ZH:"同步",NL:"Synchroniseren",SV:"Synkronisera",EL:"Συγχρονισμός",CS:"Synchronizovat",HU:"Szinkronizálás",RO:"Sincronizare",BG:"Синхронизация",DA:"Synkroniser",FI:"Synkronoi",SL:"Sinhronizacija"},
back:{AR:"رجوع",DE:"Zurück",EN:"Back",ES:"Atrás",FA:"بازگشت",FR:"Retour",HI:"वापस",ID:"Kembali",IT:"Indietro",JA:"戻る",KO:"뒤로",SW:"Nyuma",PL:"Wstecz",PT:"Voltar",RU:"Назад",VI:"Quay lại",TR:"Geri",UR:"پیچھے",UZ:"Orqaga",ZH:"返回",NL:"Terug",SV:"Tillbaka",EL:"Πίσω",CS:"Zpět",HU:"Vissza",RO:"Înapoi",BG:"Назад",DA:"Tilbage",FI:"Takaisin",SL:"Nazaj"},
are_you_sure_delete_task:{AR:"هل أنت متأكد أنك تريد حذف هذه المهمة؟",DE:"Sind Sie sicher, dass Sie diese Aufgabe löschen möchten?",EN:"Are you sure you want to delete this task?",ES:"¿Estás seguro de que quieres eliminar esta tarea?",FA:"آیا مطمئنید که می‌خواهید این وظیفه را حذف کنید؟",FR:"Êtes-vous sûr de vouloir supprimer cette tâche ?",HI:"क्या आप वाकई इस कार्य को हटाना चाहते हैं?",ID:"Apakah Anda yakin ingin menghapus tugas ini?",IT:"Sei sicuro di voler eliminare questo compito?",JA:"このタスクを削除してもよろしいですか?",KO:"이 작업을 삭제하시겠습니까?",SW:"Je, una uhakika unataka kufuta kazi hii?",PL:"Czy na pewno chcesz usunąć to zadanie?",PT:"Tem certeza de que deseja excluir esta tarefa?",RU:"Вы уверены, что хотите удалить эту задачу?",VI:"Bạn có chắc chắn muốn xóa nhiệm vụ này không?",TR:"Bu görevi silmek istediğinize emin misiniz?",UR:"کیا آپ واقعی طور پر یہ ٹاسک حذف کرنا چاہتے ہیں؟",UZ:"Ushbu vazifani o'chirishni xohlaysizmi?",ZH:"你确定要删除这个任务吗?",NL:"Weet je zeker dat je deze taak wilt verwijderen?",SV:"Är du säker på att du vill ta bort denna uppgift?",EL:"Είστε σίγουροι ότι θέλετε να διαγράψετε αυτήν την εργασία;",CS:"Jste si jisti, že chcete tento úkol smazat?",HU:"Biztosan törölni szeretné ezt a feladatot?",RO:"Ești sigur că vrei să ștergi această sarcină?",BG:"Сигурни ли сте, че искате да изтриете тази задача?",DA:"Er du sikker på, at du vil slette denne opgave?",FI:"Haluatko varmasti poistaa tämän tehtävän?",SL:"Ali ste prepričani, da želite izbrisati to nalogo?"},
active:{AR:"نشط",DE:"Aktiv",EN:"Active",ES:"Activo",FA:"فعال",FR:"Actif",HI:"सक्रिय",ID:"Aktif",IT:"Attivo",JA:"アクティブ",KO:"활성",SW:"Anwani",PL:"Aktywny",PT:"Ativo",RU:"Активный",VI:"Hoạt động",TR:"Aktif",UR:"فعال",UZ:"Faol",ZH:"活跃",NL:"Actief",SV:"Aktiv",EL:"Ενεργό",CS:"Aktivní",HU:"Aktív",RO:"Activ",BG:"Активен",DA:"Aktiv",FI:"Aktiivinen",SL:"Aktivno"},
overdue:{AR:"متأخر",DE:"Überfällig",EN:"Overdue",ES:"Atrasado",FA:"دیرکرد",FR:"En retard",HI:"विलंबित",ID:"Terlambat",IT:"Scaduto",JA:"期限切れ",KO:"지연된",SW:"Takwimu zilizopita",PL:"Przeterminowany",PT:"Atrasado",RU:"Просроченный",VI:"Quá hạn",TR:"Geciken",UR:"معطل",UZ:"Kechikkan",ZH:"过期",NL:"Te laat",SV:"Försenad",EL:"Εκπρόθεσμο",CS:"Zpožděný",HU:"Késedelmes",RO:"Întârziat",BG:"Просрочен",DA:"Forsinket",FI:"Myöhässä",SL:"Prepozno"},
completed:{AR:"مكتمل",DE:"Abgeschlossen",EN:"Completed",ES:"Completado",FA:"تکمیل شده",FR:"Terminé",HI:"पूर्ण",ID:"Selesai",IT:"Completato",JA:"完了",KO:"완료됨",SW:"Imekamilika",PL:"Ukończony",PT:"Concluído",RU:"Завершено",VI:"Đã hoàn thành",TR:"Tamamlanmış",UR:"مکمل",UZ:"Tugallangan",ZH:"已完成",NL:"Voltooid",SV:"Avslutad",EL:"Ολοκληρωμένο",CS:"Dokončeno",HU:"Befejezett",RO:"Finalizat",BG:"Завършен",DA:"Afsluttet",FI:"Valmis",SL:"Končano"},
delete_all:{AR:"حذف الكل",DE:"Alles löschen",EN:"Delete All",ES:"Eliminar todo",FA:"حذف همه",FR:"Tout supprimer",HI:"सभी हटाएं",ID:"Hapus semua",IT:"Elimina tutto",JA:"すべて削除",KO:"모두 삭제",SW:"Futa yote",PL:"Usuń wszystko",PT:"Excluir tudo",RU:"Удалить все",VI:"Xóa tất cả",TR:"Tümünü Sil",UR:"سب مٹا دیں",UZ:"Hammasini o'chirish",ZH:"删除全部",NL:"Alles verwijderen",SV:"Radera allt",EL:"Διαγραφή όλων",CS:"Smazat vše",HU:"Minden törlése",RO:"Șterge tot",BG:"Изтрий всичко",DA:"Slet alt",FI:"Poista kaikki",SL:"Izbriši vse"},
are_you_sure_delete_all_completed_tasks:{AR:"هل أنت متأكد أنك تريد حذف جميع المهام المكتملة؟",DE:"Sind Sie sicher, dass Sie alle abgeschlossenen Aufgaben löschen möchten?",EN:"Are you sure you want to delete all completed tasks?",ES:"¿Estás seguro de que quieres eliminar todas las tareas completadas?",FA:"آیا مطمئنید که می‌خواهید همه وظایف تکمیل شده را حذف کنید؟",FR:"Êtes-vous sûr de vouloir supprimer toutes les tâches terminées ?",HI:"क्या आप वाकई सभी पूर्ण कार्यों को हटाना चाहते हैं?",ID:"Apakah Anda yakin ingin menghapus semua tugas yang telah selesai?",IT:"Sei sicuro di voler eliminare tutte le attività completate?",JA:"すべての完了したタスクを削除してもよろしいですか?",KO:"모든 완료된 작업을 삭제하시겠습니까?",SW:"Je, una uhakika unataka kufuta kazi zote zilizokamilika?",PL:"Czy na pewno chcesz usunąć wszystkie ukończone zadania?",PT:"Tem certeza de que deseja excluir todas as tarefas concluídas?",RU:"Вы уверены, что хотите удалить все завершенные задачи?",VI:"Bạn có chắc chắn muốn xóa tất cả các nhiệm vụ đã hoàn thành không?",TR:"Tüm tamamlanmış görevleri silmek istediğinize emin misiniz?",UR:"کیا آپ واقعی طور پر تمام مکمل ہوئے کام حذف کرنا چاہتے ہیں؟",UZ:"Barcha tugallangan vazifalarni o'chirishni xohlaysizmi?",ZH:"你确定要删除所有已完成的任务吗?",NL:"Weet je zeker dat je alle voltooide taken wilt verwijderen?",SV:"Är du säker på att du vill radera alla slutförda uppgifter?",EL:"Είστε σίγουροι ότι θέλετε να διαγράψετε όλες τις ολοκληρωμένες εργασίες;",CS:"Jste si jisti, že chcete smazat všechny dokončené úkoly?",HU:"Biztosan törölni szeretné az összes befejezett feladatot?",RO:"Ești sigur că vrei să ștergi toate sarcinile finalizate?",BG:"Сигурни ли сте, че искате да изтриете всички завършени задачи?",DA:"Er du sikker på, at du vil slette alle fuldførte opgaver?",FI:"Haluatko varmasti poistaa kaikki valmiit tehtävät?",SL:"Ali ste prepričani, da želite izbrisati vse dokončane naloge?"},
add_subtask:{AR:"إضافة مهمة فرعية",DE:"Unteraufgabe hinzufügen",EN:"Add Subtask",ES:"Agregar subtarea",FA:"اضافه کردن زیروظیفه",FR:"Ajouter une sous-tâche",HI:"उपकार्य जोड़ें",ID:"Tambah sub-tugas",IT:"Aggiungi sottoattività",JA:"サブタスクを追加",KO:"하위 작업 추가",SW:"Ongeza kazi ndogo",PL:"Dodaj podzadanie",PT:"Adicionar subtarefa",RU:"Добавить подзадачу",VI:"Thêm nhiệm vụ phụ",TR:"Alt Görev Ekle",UR:"ذیلی کام شامل کریں",UZ:"Pastki vazifa qo'shish",ZH:"添加子任务",NL:"Subtaak toevoegen",SV:"Lägg till underuppgift",EL:"Προσθήκη υποεργασίας",CS:"Přidat podúkol",HU:"Alfeladat hozzáadása",RO:"Adaugă subsarcină",BG:"Добави подзадача",DA:"Tilføj underopgave",FI:"Lisää alitehtävä",SL:"Dodaj podnalogo"},
what_to_do:{AR:"ماذا ستفعل\u061f",DE:"Was ist zu tun?",EN:"What to do?",ES:"¿Qué hacer?",FA:"چه کاری انجام دهید\u061f",FR:"Qu'est-ce qu'il faut faire ?",HI:"क्या करना है?",ID:"Apa yang harus dilakukan?",IT:"Cosa fare?",JA:"何をしますか?",KO:"무엇을 할까요?",SW:"Je, kitu kifanyike vipi?",PL:"Co zrobić?",PT:"O que fazer?",RU:"Что нужно сделать?",VI:"Cần làm gì?",TR:"Ne yapılacak?",UR:"کیا کرنا ہے\u061f",UZ:"Nima qilish kerak?",ZH:"要做什么?",NL:"Wat te doen?",SV:"Vad ska jag göra?",EL:"Τι να κάνω;",CS:"Co udělat?",HU:"Mit kell tenni?",RO:"Ce să fac?",BG:"Какво да правя?",DA:"Hvad skal jeg gøre?",FI:"Mitä tehdä?",SL:"Kaj storiti?"},
task_name_cannot_be_empty:{AR:"اسم المهمة لا يمكن أن يكون فارغًا.",DE:"Der Aufgabenname darf nicht leer sein.",EN:"Task name cannot be empty.",ES:"El nombre de la tarea no puede estar vacío.",FA:"نام وظیفه نمی‌تواند خالی باشد.",FR:"Le nom de la tâche ne peut pas être vide.",HI:"कार्य का नाम खाली नहीं हो सकता।",ID:"Nama tugas tidak boleh kosong.",IT:"Il nome del compito non può essere vuoto.",JA:"タスク名を空にすることはできません。",KO:"작업 이름은 비워둘 수 없습니다.",SW:"Jina la kazi halitakiwi kuwa tupu.",PL:"Nazwa zadania nie może być pusta.",PT:"O nome da tarefa não pode estar vazio.",RU:"Название задачи не может быть пустым.",VI:"Tên nhiệm vụ không thể để trống.",TR:"Görev adı boş bırakılamaz.",UR:"کام کا نام خالی نہیں ہو سکتا۔",UZ:"Vazifa nomi bo'sh bo'lishi mumkin emas.",ZH:"任务名称不能为空。",NL:"Taaknaam mag niet leeg zijn.",SV:"Uppgiftsnamnet får inte vara tomt.",EL:"Το όνομα της εργασίας δεν μπορεί να είναι κενό.",CS:"Název úkolu nesmí být prázdný.",HU:"A feladat neve nem lehet üres.",RO:"Numele sarcinii nu poate fi gol.",BG:"Името на задачата не може да бъде празно.",DA:"Opgavenavnet må ikke være tomt.",FI:"Tehtävän nimi ei voi olla tyhjä.",SL:"Ime naloge ne sme biti prazno."},
installation_steps:{AR:"خطوات التثبيت",DE:"Installationsschritte",EN:"Installation Steps",ES:"Pasos de instalación",FA:"مراحل نصب",FR:"Étapes d'installation",HI:"स्थापना के चरण",ID:"Langkah-langkah instalasi",IT:"Passaggi di installazione",JA:"インストール手順",KO:"설치 단계",SW:"Hatua za usanidi",PL:"Kroki instalacji",PT:"Etapas de instalação",RU:"Шаги установки",VI:"Các bước cài đặt",TR:"Kurulum Adımları",UR:"نصب کے مراحل",UZ:"O'rnatish bosqichlari",ZH:"安装步骤",NL:"Installatiestappen",SV:"Installationssteg",EL:"Βήματα εγκατάστασης",CS:"Instalační kroky",HU:"Telepítési lépések",RO:"Pași de instalare",BG:"Стъпки за инсталация",DA:"Installations trin",FI:"Asennusvaiheet",SL:"Koraki namestitve"},
create_github_account:{AR:"أولاً، قم بإنشاء حساب على GitHub:",DE:"Erstellen Sie zunächst ein GitHub-Konto:",EN:"First, create a GitHub account:",ES:"Primero, crea una cuenta en GitHub:",FA:"اول، یک حساب گیت‌هاب ایجاد کنید:",FR:"Tout d'abord, créez un compte GitHub :",HI:"सबसे पहले, एक GitHub खाता बनाएं:",ID:"Pertama, buat akun GitHub:",IT:"Prima di tutto, crea un account GitHub:",JA:"まず、GitHubアカウントを作成してください:",KO:"먼저 GitHub 계정을 만드세요:",SW:"Kwanza, unda akaunti ya GitHub:",PL:"Najpierw utwórz konto na GitHub:",PT:"Primeiro, crie uma conta no GitHub:",RU:"Сначала создайте учетную запись на GitHub:",VI:"Đầu tiên, tạo một tài khoản GitHub:",TR:"Önce bir GitHub hesabı oluşturun:",UR:"سب سے پہلے، جیٹھب اکاؤنٹ بنائیں:",UZ:"Avval GitHub hisobini yarating:",ZH:"首先创建一个GitHub帐户:",NL:"Maak eerst een GitHub-account aan:",SV:"Skapa först ett GitHub-konto:",EL:"Πρώτα, δημιουργήστε έναν λογαριασμό στο GitHub:",CS:"Nejprve si vytvořte účet na GitHubu:",HU:"Először hozzon létre egy GitHub-fiókot:",RO:"Mai întâi, creează un cont GitHub:",BG:"Първо, създайте акаунт в GitHub:",DA:"Opret først en GitHub-konto:",FI:"Luo ensin GitHub-tili:",SL:"Najprej ustvarite račun na GitHubu:"},
open_app_creation_page:{AR:"ثم افتح صفحة إنشاء التطبيق:",DE:"Öffnen Sie dann die App-Erstellungsseite:",EN:"Then open the app creation page:",ES:"Luego abre la página de creación de la aplicación:",FA:"سپس صفحه ایجاد برنامه را باز کنید:",FR:"Ensuite, ouvrez la page de création de l'application :",HI:"फिर ऐप निर्माण पृष्ठ खोलें:",ID:"Kemudian buka halaman pembuatan aplikasi:",IT:"Quindi apri la pagina di creazione dell'applicazione:",JA:"次に、アプリ作成ページを開きます:",KO:"그런 다음 앱 생성 페이지를 엽니다:",SW:"Kisha fungua ukurasa wa kuunda programu:",PL:"Następnie otwórz stronę tworzenia aplikacji:",PT:"Em seguida, abra a página de criação do aplicativo:",RU:"Затем откройте страницу создания приложения:",VI:"Sau đó mở trang tạo ứng dụng:",TR:"Sonra uygulama oluşturma sayfasınıın:",UR:"پھر ایپ تخلیق صفحہ کھولیں:",UZ:"Keyin ilova yaratish sahifasini oching:",ZH:"然后打开应用程序创建页面:",NL:"Open dan de app-aanmaakpagina:",SV:"Öppna sedan sidan för att skapa appen:",EL:"Στη συνέχεια, ανοίξτε τη σελίδα δημιουργίας εφαρμογής:",CS:"Poté otevřete stránku pro vytvoření aplikace:",HU:"Ezután nyissa meg az alkalmazás létrehozási oldalt:",RO:"Apoi deschide pagina de creare a aplicației:",BG:"След това отворете страницата за създаване на приложение:",DA:"Åbn derefter siden til oprettelse af appen:",FI:"Avaa sitten sovelluksen luontisivu:",SL:"Nato odprite stran za ustvarjanje aplikacije:"},
select_personal_access_tokens:{AR:"في الجانب الأيسر، حدد خيار 'Personal access tokens' داخل قسم 'Tokens (classic)'.",DE:"Wählen Sie auf der linken Seite die Option 'Personal access tokens' im Abschnitt 'Tokens (classic)' aus.",EN:"On the left side, select the 'Personal access tokens' option inside the 'Tokens (classic)' section.",ES:"En el lado izquierdo, seleccione la opción 'Personal access tokens' dentro de la sección 'Tokens (classic)'.",FA:"در سمت چپ، گزینه 'Personal access tokens' را در بخش 'Tokens (classic)' انتخاب کنید.",FR:"Sur le côté gauche, sélectionnez l'option 'Personal access tokens' dans la section 'Tokens (classic)'.",HI:"बाईं ओर, 'Tokens (classic)' खंड के अंदर 'Personal access tokens' विकल्प चुनें।",ID:"Di sisi kiri, pilih opsi 'Personal access tokens' di dalam bagian 'Tokens (classic)'.",IT:"Sul lato sinistro, seleziona l'opzione 'Personal access tokens' all'interno della sezione 'Tokens (classic)'.",JA:"左側で、'Tokens (classic)' セクション内の 'Personal access tokens' オプションを選択します。",KO:"왼쪽에서 'Tokens (classic)' 섹션 내의 'Personal access tokens' 옵션을 선택합니다.",SW:"Upande wa kushoto, chagua chaguo la 'Personal access tokens' ndani ya sehemu ya 'Tokens (classic)'.",PL:"Po lewej stronie wybierz opcję 'Personal access tokens' w sekcji 'Tokens (classic)'.",PT:"No lado esquerdo, selecione a opção 'Personal access tokens' dentro da seção 'Tokens (classic)'.",RU:"Слева выберите опцию 'Personal access tokens' в разделе 'Tokens (classic)'.",VI:"Ở bên trái, chọn tùy chọn 'Personal access tokens' bên trong phần 'Tokens (classic)'.",TR:"Sol tarafta, 'Personal access tokens' seçeneğinin içindeki 'Tokens (classic)' kısmını seçin.",UR:"بائیں جانب، 'Tokens (classic)' حصے کے اندر 'Personal access tokens' آپشن منتخب کریں۔",UZ:"Chap tomonda, 'Tokens (classic)' bo'limidagi 'Personal access tokens' ni tanlang.",ZH:"在左侧,选择'Tokens (classic)'部分中的'Personal access tokens'选项。",NL:"Selecteer aan de linkerkant de optie 'Personal access tokens' in de sectie 'Tokens (classic)'.",SV:"Välj alternativet 'Personal access tokens' på vänster sida i sektionen 'Tokens (classic)'.",EL:"Στην αριστερή πλευρά, επιλέξτε την επιλογή 'Personal access tokens' μέσα στην ενότητα 'Tokens (classic)'.",CS:"Na levé straně vyberte možnost 'Personal access tokens' v sekci 'Tokens (classic)'.",HU:"A bal oldalon válassza a 'Personal access tokens' opciót a 'Tokens (classic)' részen belül.",RO:"Pe partea stângă, selectează opțiunea 'Personal access tokens' din secțiunea 'Tokens (classic)'.",BG:"От лявата страна изберете опцията 'Personal access tokens' в раздела 'Tokens (classic)'.",DA:"På venstre side vælg muligheden 'Personal access tokens' inde i afsnittet 'Tokens (classic)'.",FI:"Valitse vasemmalta puolelta 'Personal access tokens' -vaihtoehto 'Tokens (classic)' -osiossa.",SL:"Na levi strani izberite možnost 'Personal access tokens' znotraj razdelka 'Tokens (classic)'."},
click_generate_new_token:{AR:"انقر فوق زر 'Generate new token (classic)'.",DE:"Klicken Sie auf die Schaltfläche 'Generate new token (classic)'.",EN:"Click the 'Generate new token (classic)' button.",ES:"Haz clic en el botón 'Generate new token (classic)'.",FA:"روی دکمه 'Generate new token (classic)' کلیک کنید.",FR:"Cliquez sur le bouton 'Generate new token (classic)'.",HI:"'Generate new token (classic)' बटन पर क्लिक करें।",ID:"Klik tombol 'Generate new token (classic)'.",IT:"Fai clic sul pulsante 'Generate new token (classic)'.",JA:"「Generate new token (classic)」ボタンをクリックします。",KO:"'Generate new token (classic)' 버튼을 클릭합니다.",SW:"Bofya kifungo cha 'Generate new token (classic)'.",PL:"Kliknij przycisk 'Generate new token (classic)'.",PT:"Clique no botão 'Generate new token (classic)'.",RU:"Нажмите кнопку 'Generate new token (classic)'.",VI:"Nhấn vào nút 'Generate new token (classic)'.",TR:"'Generate new token (classic)' butonuna tıklayın.",UR:"'Generate new token (classic)' بٹن پر کلک کریں۔",UZ:"'Generate new token (classic)' tugmasini bosing.",ZH:"点击“Generate new token (classic)”按钮。",NL:"Klik op de knop 'Generate new token (classic)'.",SV:"Klicka på knappen 'Generate new token (classic)'.",EL:"Κάντε κλικ στο κουμπί 'Generate new token (classic)'.",CS:"Klikněte na tlačítko 'Generate new token (classic)'.",HU:"Kattintson a 'Generate new token (classic)' gombra.",RO:"Apasă pe butonul 'Generate new token (classic)'.",BG:"Кликнете върху бутона 'Generate new token (classic)'.",DA:"Klik på knappen 'Generate new token (classic)'.",FI:"Napsauta 'Generate new token (classic)' -painiketta.",SL:"Kliknite na gumb 'Generate new token (classic)'."},
name_your_token:{AR:"أعطِ الاسم لرمزك (على سبيل المثال، 'عمليات Gist').",DE:"Geben Sie Ihrem Token einen Namen (z. B. 'Gist-Operationen').",EN:"Name your token (e.g., 'Gist operations').",ES:"Asigne un nombre a su token (por ejemplo, 'Operaciones de Gist').",FA:"برای توکن خود یک نام انتخاب کنید (به عنوان مثال، 'عملیات Gist').",FR:"Nommez votre jeton (par exemple, 'Opérations Gist').",HI:"अपने टोकन का नाम दें (उदाहरण के लिए, 'Gist ऑपरेशन').",ID:"Berikan nama untuk token Anda (misalnya, 'Operasi Gist').",IT:"Dai un nome al tuo token (ad esempio, 'Operazioni Gist').",JA:"トークンに名前を付けます(例: 'Gist 操作')。",KO:"토큰에 이름을 지정하세요 (예: 'Gist 작업').",SW:"Jina la funguo lako (kwa mfano, 'Shughuli za Gist').",PL:"Nazwij swój token (np. 'Operacje Gist').",PT:"Dê um nome ao seu token (por exemplo, 'Operações Gist').",RU:"Назовите ваш токен (например, 'Операции Gist').",VI:"Đặt tên cho token của bạn (ví dụ: 'Hoạt động Gist').",TR:"Token'ınıza bir ad verin (örneğin, 'Gist işlemleri').",UR:"اپنے ٹوکن کو نام دیں (مثال کے طور پر، 'Gist عملیات').",UZ:"Tokeningizga nom bering (masalan, 'Gist operatsiyalari').",ZH:"为您的令牌命名例如“Gist操作”。",NL:"Geef je token een naam (bijv. 'Gist-operaties').",SV:"Namnge din token (t.ex. 'Gist-operationer').",EL:"Ονομάστε το token σας (π.χ. 'Λειτουργίες Gist').",CS:"Pojmenujte svůj token (např. 'Operace Gist').",HU:"Nevezze el a tokenjét (pl. 'Gist műveletek').",RO:"Denumiți-vă token-ul (de ex. 'Operațiuni Gist').",BG:"Дайте име на вашия токен (напр. 'Операции с Gist').",DA:"Navngiv din token (f.eks. 'Gist-operationer').",FI:"Nimeä tokenisi (esim. 'Gist-toiminnot').",SL:"Poimenujte svoj žeton (npr. 'Operacije Gist')."},
set_expiration_no_expiration:{AR:"حدد 'Expiration' كـ 'No expiration'.",DE:"Legen Sie 'Expiration' auf 'No expiration' fest.",EN:"Set 'Expiration' to 'No expiration'.",ES:"Establezca 'Expiration' en 'No expiration'.",FA:"'Expiration' را روی 'No expiration' تنظیم کنید.",FR:"Réglez 'Expiration' sur 'No expiration'.",HI:"'Expiration' को 'No expiration' पर सेट करें।",ID:"Atur 'Expiration' ke 'No expiration'.",IT:"Imposta 'Expiration' su 'No expiration'.",JA:"'Expiration' を 'No expiration' に設定します。",KO:"'Expiration'을 'No expiration'으로 설정합니다.",SW:"Weka 'Expiration' kuwa 'Hakuna mwisho'.",PL:"Ustaw 'Expiration' na 'No expiration'.",PT:"Defina 'Expiration' como 'No expiration'.",RU:"Установите 'Expiration' на 'No expiration'.",VI:"Đặt 'Expiration' thành 'No expiration'.",TR:"'Expiration' kısmını 'No expiration' olarak seçin.",UR:"'Expiration' کو 'No expiration' پر سیٹ کریں۔",UZ:"'Expiration' ni 'No expiration' ga sozlang.",ZH:"将'Expiration'设置为'No expiration'。",NL:"Stel 'Expiration' in op 'No expiration'.",SV:"Sätt 'Expiration' till 'No expiration'.",EL:"Ορίστε το 'Expiration' σε 'No expiration'.",CS:"Nastavte 'Expiration' na 'No expiration'.",HU:"Állítsa be az 'Expiration'-t 'No expiration'-ra.",RO:"Setează 'Expiration' la 'No expiration'.",BG:"Задайте 'Expiration' на 'No expiration'.",DA:"Indstil 'Expiration' til 'No expiration'.",FI:"Aseta 'Expiration' arvoon 'No expiration'.",SL:"Nastavite 'Expiration' na 'No expiration'."},
repository_access_public_repos:{AR:"يمكن أن تبقى خانة 'Repository access' كما هي 'Public Repositories'.",DE:"Die Option 'Repository access' kann als 'Public Repositories' belassen werden.",EN:"The 'Repository access' part can remain as 'Public Repositories'.",ES:"La parte de 'Repository access' puede permanecer como 'Public Repositories'.",FA:"بخش 'Repository access' می‌تواند به صورت 'Public Repositories' باقی بماند.",FR:"La partie 'Repository access' peut rester définie sur 'Public Repositories'.",HI:"'Repository access' भाग 'Public Repositories' के रूप में रह सकता है।",ID:"Bagian 'Repository access' dapat tetap sebagai 'Public Repositories'.",IT:"La parte 'Repository access' può rimanere come 'Public Repositories'.",JA:"'Repository access' の部分は 'Public Repositories' のままにしておけます。",KO:"'Repository access' 부분은 'Public Repositories'로 유지할 수 있습니다.",SW:"Sehemu ya 'Repository access' inaweza kuendelea kuwa 'Public Repositories'.",PL:"Część 'Repository access' może pozostać jako 'Public Repositories'.",PT:"A parte 'Repository access' pode permanecer como 'Public Repositories'.",RU:"Часть 'Repository access' может оставаться как 'Public Repositories'.",VI:"Phần 'Repository access' có thể giữ nguyên là 'Public Repositories'.",TR:"'Repository access' kısmı 'Public Repositories' şeklinde kalabilir.",UR:"'Repository access' حصہ 'Public Repositories' کی شکل میں رہ سکتا ہے۔",UZ:"'Repository access' qismi 'Public Repositories' shaklida qolishi mumkin.",ZH:"'Repository access'部分可以保留为'Public Repositories'。",NL:"Het deel 'Repository access' kan als 'Public Repositories' blijven.",SV:"Del 'Repository access' kan förbli som 'Public Repositories'.",EL:"Το μέρος 'Repository access' μπορεί να παραμείνει ως 'Public Repositories'.",CS:"Část 'Repository access' může zůstat jako 'Public Repositories'.",HU:"A 'Repository access' rész 'Public Repositories' maradhat.",RO:"Partea 'Repository access' poate rămâne ca 'Public Repositories'.",BG:"Частта 'Repository access' може да остане като 'Public Repositories'.",DA:"'Repository access'-delen kan forblive som 'Public Repositories'.",FI:"'Repository access' -osa voi pysyä 'Public Repositories' -muodossa.",SL:"Del 'Repository access' lahko ostane kot 'Public Repositories'."},
set_permissions_for_gist:{AR:"بعد ذلك، في قسم 'Permissions'، ابحث عن قسم 'Gist' وقم بتعيين الأذونات إلى 'Read and write'.",DE:"Suchen Sie anschließend im Abschnitt 'Permissions' nach dem Abschnitt 'Gist' und setzen Sie die Berechtigungen auf 'Read and write'.",EN:"Then, in the 'Permissions' section, find the 'Gist' section and set the permissions to 'Read and write'.",ES:"Luego, en la sección 'Permissions', encuentre la sección 'Gist' y establezca los permisos en 'Read and write'.",FA:"سپس، در بخش 'Permissions'، بخش 'Gist' را پیدا کرده و مجوزها را روی 'Read and write' تنظیم کنید.",FR:"Ensuite, dans la section 'Permissions', trouvez la section 'Gist' et réglez les autorisations sur 'Read and write'.",HI:"फिर, 'Permissions' खंड में, 'Gist' खंड ढूँढें और अनुमतियों को 'Read and write' पर सेट करें।",ID:"Kemudian, di bagian 'Permissions', temukan bagian 'Gist' dan atur izin menjadi 'Read and write'.",IT:"Quindi, nella sezione 'Permissions', trova la sezione 'Gist' e imposta i permessi su 'Read and write'.",JA:"次に、'Permissions' セクションで 'Gist' セクションを見つけ、権限を 'Read and write' に設定します。",KO:"그런 다음 'Permissions' 섹션에서 'Gist' 섹션을 찾아 권한을 'Read and write'로 설정합니다.",SW:"Kisha, katika sehemu ya 'Permissions', tafuta sehemu ya 'Gist' na weka ruhusa kuwa 'Read and write'.",PL:"Następnie w sekcji 'Permissions' znajdź sekcję 'Gist' i ustaw uprawnienia na 'Read and write'.",PT:"Depois, na seção 'Permissions', encontre a seção 'Gist' e defina as permissões para 'Read and write'.",RU:"Затем в разделе 'Permissions' найдите раздел 'Gist' и установите разрешения на 'Read and write'.",VI:"Sau đó, trong phần 'Permissions', tìm phần 'Gist' và đặt quyền thành 'Read and write'.",TR:"Ardından 'Permissions' kısmında 'Gist' kısmını bulup izinleri 'Read and write' olarak ayarlayın.",UR:"پھر، 'Permissions' حصے میں، 'Gist' حصہ تلاش کریں اور اجازتیں 'Read and write' پر سیٹ کریں۔",UZ:"Keyin 'Permissions' bo'limida 'Gist' bo'limini topib, ruxsatlarni 'Read and write' ga sozlang.",ZH:"然后,在'Permissions'部分中,找到'Gist'部分并将权限设置为'Read and write'。",NL:"Zoek vervolgens in de 'Permissions'-sectie naar de 'Gist'-sectie en stel de rechten in op 'Read and write'.",SV:"Sök sedan i 'Permissions'-sektionen efter 'Gist'-sektionen och ställ in behörigheterna till 'Read and write'.",EL:"Στη συνέχεια, στην ενότητα 'Permissions', βρείτε την ενότητα 'Gist' και ορίστε τα δικαιώματα σε 'Read and write'.",CS:"Poté v sekci 'Permissions' najděte sekci 'Gist' a nastavte oprávnění na 'Read and write'.",HU:"Ezután a 'Permissions' részen belül keresse meg a 'Gist' részt, és állítsa a jogosultságokat 'Read and write'-ra.",RO:"Apoi, în secțiunea 'Permissions', găsește secțiunea 'Gist' și setează permisiunile la 'Read and write'.",BG:"След това в раздела 'Permissions' намерете раздела 'Gist' и задайте разрешенията на 'Read and write'.",DA:"Find derefter 'Gist'-sektionen i 'Permissions'-afsnittet og indstil tilladelserne til 'Read and write'.",FI:"Etsi sitten 'Permissions'-osiosta 'Gist'-osio ja aseta oikeudet arvoon 'Read and write'.",SL:"Nato v razdelku 'Permissions' poiščite razdelek 'Gist' in nastavite dovoljenja na 'Read and write'."},
click_generate_token:{AR:"انقر فوق الزر 'Generate token'.",DE:"Klicken Sie auf die Schaltfläche 'Generate token'.",EN:"Click the 'Generate token' button.",ES:"Haz clic en el botón 'Generate token'.",FA:"روی دکمه 'Generate token' کلیک کنید.",FR:"Cliquez sur le bouton 'Generate token'.",HI:"'Generate token' बटन पर क्लिक करें।",ID:"Klik tombol 'Generate token'.",IT:"Fai clic sul pulsante 'Generate token'.",JA:"「Generate token」ボタンをクリックします。",KO:"'Generate token' 버튼을 클릭합니다.",SW:"Bofya kifungo cha 'Generate token'.",PL:"Kliknij przycisk 'Generate token'.",PT:"Clique no botão 'Generate token'.",RU:"Нажмите кнопку 'Generate token'.",VI:"Nhấn vào nút 'Generate token'.",TR:"'Generate token' butonuna tıklayın.",UR:"'Generate token' بٹن پر کلک کریں۔",UZ:"'Generate token' tugmasini bosing.",ZH:"点击“Generate token”按钮。",NL:"Klik op de 'Generate token'-knop.",SV:"Klicka på 'Generate token'-knappen.",EL:"Κάντε κλικ στο κουμπί 'Generate token'.",CS:"Klikněte na tlačítko 'Generate token'.",HU:"Kattintson a 'Generate token' gombra.",RO:"Apasă pe butonul 'Generate token'.",BG:"Кликнете върху бутона 'Generate token'.",DA:"Klik på 'Generate token'-knappen.",FI:"Napsauta 'Generate token' -painiketta.",SL:"Kliknite na gumb 'Generate token'."},
enter_token_in_setup:{AR:"ستقوم بإدخال هذا في جزء 'Gist Token' أثناء التثبيت.",DE:"Dies geben Sie im Abschnitt 'Gist Token' während der Installation ein.",EN:"You will enter this in the 'Gist Token' part during setup.",ES:"Lo ingresará en la parte 'Gist Token' durante la configuración.",FA:"این را در بخش 'Gist Token' هنگام نصب وارد خواهید کرد.",FR:"Vous entrerez cela dans la partie 'Gist Token' lors de l'installation.",HI:"आप इसे सेटअप के दौरान 'Gist Token' भाग में दर्ज करेंगे।",ID:"Anda akan memasukkan ini di bagian 'Gist Token' selama pengaturan.",IT:"Lo inserirai nella parte 'Gist Token' durante la configurazione.",JA:"これをセットアップ中に 'Gist Token' の部分に入力します。",KO:"이 토큰은 설치 중 'Gist Token' 부분에 입력합니다.",SW:"Utaweka hii katika sehemu ya 'Gist Token' wakati wa usanidi.",PL:"To wprowadzisz w części 'Gist Token' podczas konfiguracji.",PT:"Você irá inserir isso na parte 'Gist Token' durante a configuração.",RU:"Вы введете это в разделе 'Gist Token' во время установки.",VI:"Bạn sẽ nhập cái này vào phần 'Gist Token' trong quá trình thiết lập.",TR:"Bunu kurulumdaki Gist Token kısmına gireceksiniz.",UR:"اسے نصب کے دوران 'Gist Token' حصہ میں داخل کریں گے۔",UZ:"Buni o'rnatish jarayonida 'Gist Token' qismiga kiritasiz.",ZH:"您将在设置过程中输入此内容到'Gist Token'部分。",NL:"Dit voer je in bij het 'Gist Token'-gedeelte tijdens de installatie.",SV:"Du anger detta i 'Gist Token'-delen under installationen.",EL:"Θα το εισαγάγετε στο μέρος 'Gist Token' κατά την εγκατάσταση.",CS:"Toto zadáte v části 'Gist Token' během instalace.",HU:"Ezt a 'Gist Token' résznél adja meg a telepítés során.",RO:"Vei introduce asta în secțiunea 'Gist Token' în timpul configurării.",BG:"Ще въведете това в частта 'Gist Token' по време на инсталацията.",DA:"Du indtaster dette i 'Gist Token'-delen under opsætningen.",FI:"Syötät tämän 'Gist Token' -osaan asennuksen aikana.",SL:"To boste vnesli v del 'Gist Token' med nastavitvijo."},
create_file_for_sync:{AR:"إنشاء ملف للتزامن:",DE:"Datei für die Synchronisierung erstellen:",EN:"Create file for sync:",ES:"Crear archivo para sincronización:",FA:"ایجاد فایل برای همگام‌سازی:",FR:"Créer un fichier pour la synchronisation :",HI:"सिंक के लिए फ़ाइल बनाएँ:",ID:"Buat berkas untuk sinkronisasi:",IT:"Crea file per la sincronizzazione:",JA:"同期用のファイルを作成:",KO:"동기화를 위한 파일 생성:",SW:"Unda faili kwa ajili ya usawa:",PL:"Utwórz plik do synchronizacji:",PT:"Criar arquivo para sincronização:",RU:"Создать файл для синхронизации:",VI:"Tạo tệp để đồng bộ:",TR:"Senkronizasyon için dosya oluşturma:",UR:"مزامنت کے لیے فائل تخلیق کریں:",UZ:"Sinхronizatsiya uchun fayl yarating:",ZH:"创建同步文件:",NL:"Bestand aanmaken voor synchronisatie:",SV:"Skapa fil för synkronisering:",EL:"Δημιουργία αρχείου για συγχρονισμό:",CS:"Vytvořit soubor pro synchronizaci:",HU:"Fájl létrehozása szinkronizáláshoz:",RO:"Creează fișier pentru sincronizare:",BG:"Създаване на файл за синхронизация:",DA:"Opret fil til synkronisering:",FI:"Luo tiedosto synkronointia varten:",SL:"Ustvari datoteko za sinhronizacijo:"},
go_to_gist_page:{AR:"انتقل إلى صفحة Gist على GitHub:",DE:"Gehen Sie zur Gist-Seite auf GitHub:",EN:"Go to the Gist page on GitHub:",ES:"Ve a la página de Gist en GitHub:",FA:"به صفحه Gist در GitHub بروید:",FR:"Allez sur la page Gist sur GitHub :",HI:"GitHub पर Gist पृष्ठ पर जाएँ:",ID:"Pergi ke halaman Gist di GitHub:",IT:"Vai alla pagina Gist su GitHub:",JA:"GitHubのGistページに移動します:",KO:"GitHub의 Gist 페이지로 이동합니다:",SW:"Nenda ukurasa wa Gist kwenye GitHub:",PL:"Przejdź do strony Gist na GitHub:",PT:"Vá para a página Gist no GitHub:",RU:"Перейдите на страницу Gist на GitHub:",VI:"Đi tới trang Gist trên GitHub:",TR:"GitHub'da Gist sayfasına gidin:",UR:"GitHub پر Gist صفحہ پر جائیں:",UZ:"GitHub'dagi Gist sahifasiga o'ting:",ZH:"前往GitHub上的Gist页面:",NL:"Ga naar de Gist-pagina op GitHub:",SV:"Gå till Gist-sidan på GitHub:",EL:"Μεταβείτε στη σελίδα Gist στο GitHub:",CS:"Přejděte na stránku Gist na GitHubu:",HU:"Látogasson el a GitHub Gist oldalára:",RO:"Mergi la pagina Gist de pe GitHub:",BG:"Отидете на страницата Gist в GitHub:",DA:"Gå til Gist-siden på GitHub:",FI:"Siirry GitHubin Gist-sivulle:",SL:"Pojdite na stran Gist na GitHubu:"},
specify_filename:{AR:"في المربع الذي يبدأ بـ 'Filename'، حدد اسم ملف (مثل: note1).",DE:"Geben Sie im Feld, das mit 'Filename' beginnt, einen Dateinamen an (z. B.: note1).",EN:"In the box starting with 'Filename', specify a file name (e.g., note1).",ES:"En el cuadro que comienza con 'Filename', especifique un nombre de archivo (por ejemplo, note1).",FA:"در کادری که با 'Filename' شروع می‌شود، یک نام فایل مشخص کنید (به عنوان مثال، note1).",FR:"Dans la zone commençant par 'Filename', spécifiez un nom de fichier (par exemple, note1).",HI:"'Filename' से शुरू होने वाले बॉक्स में, एक फ़ाइल नाम निर्दिष्ट करें (उदाहरण के लिए, note1).",ID:"Di kotak yang dimulai dengan 'Filename', tentukan nama file (misalnya, note1).",IT:"Nella casella che inizia con 'Filename', specifica un nome file (ad esempio, note1).",JA:"'Filename'で始まるボックスに、ファイル名を指定します(例: note1。",KO:"'Filename'으로 시작하는 상자에 파일 이름을 지정합니다 (예: note1).",SW:"Katika sanduku ambalo linapoanza na 'Filename', taja jina la faili (mfano, note1).",PL:"W polu zaczynającym się od 'Filename' określ nazwę pliku (np. note1).",PT:"Na caixa que começa com 'Filename', especifique um nome de arquivo (por exemplo, note1).",RU:"В поле, начинающемся с 'Filename', укажите имя файла (например, note1).",VI:"Trong hộp bắt đầu bằng 'Filename', hãy chỉ định tên tệp (ví dụ: note1).",TR:"'Filename' ile başlayan kutucuğa bir dosya adı belirtin örneğin: (note1).",UR:"'Filename' سے شروع ہونے والے باکس میں، فائل کا نام مقرر کریں (مثال کے طور پر، note1)۔",UZ:"'Filename' bilan boshlanadigan katakka fayl nomini kiriting (masalan, note1).",ZH:"在以'Filename'开头的框中指定一个文件名例如note1。",NL:"Geef in het vak dat begint met 'Filename' een bestandsnaam op (bijv. note1).",SV:"Ange ett filnamn i rutan som börjar med 'Filename' (t.ex. note1).",EL:"Στο κουτί που ξεκινά με 'Filename', καθορίστε ένα όνομα αρχείου (π.χ. note1).",CS:"V poli začínajícím 'Filename' zadejte název souboru (např. note1).",HU:"A 'Filename'-nel kezdődő mezőben adjon meg egy fájlnevet (pl. note1).",RO:"În caseta care începe cu 'Filename', specifică un nume de fișier (de ex. note1).",BG:"В полето, започващо с 'Filename', укажете име на файл (напр. note1).",DA:"Angiv et filnavn i feltet, der starter med 'Filename' (f.eks. note1).",FI:"Määritä tiedostonimi 'Filename'-alkavaan ruutuun (esim. note1).",SL:"V polje, ki se začne z 'Filename', vnesite ime datoteke (npr. note1)."},
enter_gist_name_in_setup:{AR:"ستقوم بإدخال هذا في جزء 'Gist Name' أثناء التثبيت.",DE:"Dies geben Sie im Abschnitt 'Gist Name' während der Installation ein.",EN:"You will enter this in the 'Gist Name' part during setup.",ES:"Lo ingresará en la parte 'Gist Name' durante la configuración.",FA:"این را در بخش 'Gist Name' هنگام نصب وارد خواهید کرد.",FR:"Vous entrerez cela dans la partie 'Gist Name' lors de l'installation.",HI:"आप इसे सेटअप के दौरान 'Gist Name' भाग में दर्ज करेंगे।",ID:"Anda akan memasukkan ini di bagian 'Gist Name' selama pengaturan.",IT:"Lo inserirai nella parte 'Gist Name' durante la configurazione.",JA:"これをセットアップ中に 'Gist Name' の部分に入力します。",KO:"이것은 설치 중 'Gist Name' 부분에 입력합니다.",SW:"Utaweka hii katika sehemu ya 'Gist Name' wakati wa usanidi.",PL:"To wprowadzisz w części 'Gist Name' podczas konfiguracji.",PT:"Você irá inserir isso na parte 'Gist Name' durante a configuração.",RU:"Вы введете это в разделе 'Gist Name' во время установки.",VI:"Bạn sẽ nhập cái này vào phần 'Gist Name' trong quá trình thiết lập.",TR:"Bunu kurulumdaki Gist Name kısmına gireceksiniz.",UR:"اسے نصب کے دوران 'Gist Name' حصہ میں داخل کریں گے۔",UZ:"Buni o'rnatish jarayonida 'Gist Name' qismiga kiritasiz.",ZH:"您将在设置过程中输入此内容到'Gist Name'部分。",NL:"Dit voer je in bij het 'Gist Name'-gedeelte tijdens de installatie.",SV:"Du anger detta i 'Gist Name'-delen under installationen.",EL:"Θα το εισαγάγετε στο μέρος 'Gist Name' κατά την εγκατάσταση.",CS:"Toto zadáte v části 'Gist Name' během instalace.",HU:"Ezt a 'Gist Name' résznél adja meg a telepítés során.",RO:"Vei introduce asta în secțiunea 'Gist Name' în timpul configurării.",BG:"Ще въведете това в частта 'Gist Name' по време на инсталацията.",DA:"Du indtaster dette i 'Gist Name'-delen under opsætningen.",FI:"Syötät tämän 'Gist Name' -osaan asennuksen aikana.",SL:"To boste vnesli v del 'Gist Name' med nastavitvijo."},
write_something_below_filename:{AR:"اكتب شيئًا ما في المربع أسفل اسم الملف. (مطلوب للحفظ)",DE:"Schreiben Sie etwas in das Feld unter dem Dateinamen. (Erforderlich zum Speichern)",EN:"Write something in the box below the filename. (Required for saving)",ES:"Escribe algo en el cuadro debajo del nombre del archivo. (Requerido para guardar)",FA:"چیزی در کادر زیر نام فایل بنویسید. (برای ذخیره کردن ضروری است)",FR:"Écrivez quelque chose dans la zone sous le nom du fichier. (Requis pour l'enregistrement)",HI:"फ़ाइल नाम के नीचे के बॉक्स में कुछ लिखें। (सहेजने के लिए आवश्यक)",ID:"Tulis sesuatu di kotak di bawah nama file. (Diperlukan untuk penyimpanan)",IT:"Scrivi qualcosa nella casella sotto il nome del file. (Richiesto per il salvataggio)",JA:"ファイル名の下のボックスに何かを入力してください。(保存に必要です)",KO:"파일 이름 아래의 상자에 무언가를 작성하십시오. (저장에 필요함)",SW:"Andika kitu katika sanduku chini ya jina la faili. (Inahitajika kwa ajili ya kuhifadhi)",PL:"Napisz coś w polu poniżej nazwy pliku. (Wymagane do zapisania)",PT:"Escreva algo na caixa abaixo do nome do arquivo. (Necessário para salvar)",RU:"Напишите что-нибудь в поле под именем файла. (Требуется для сохранения)",VI:"Viết gì đó vào ô bên dưới tên tệp. (Cần thiết để lưu)",TR:"Kutucuğun hemen altındaki kutucuğa birşeyler yazın. (Kaydetmek için gerekli)",UR:"فائل نام کے نیچے والے باکس میں کچھ لکھیں۔ (محفوظ کرنے کے لیے ضروری)",UZ:"Fayl nomining ostidagi katakka nimadir yozing. (Saqlash uchun talab qilinadi)",ZH:"在文件名下方的框中写点东西。(保存所需)",NL:"Schrijf iets in het vak onder de bestandsnaam. (Vereist om op te slaan)",SV:"Skriv något i rutan under filnamnet. (Krävs för att spara)",EL:"Γράψτε κάτι στο κουτί κάτω από το όνομα αρχείου. (Απαιτείται για αποθήκευση)",CS:"Napište něco do pole pod názvem souboru. (Vyžadováno pro uložení)",HU:"Írjon valamit a fájlnév alatti mezőbe. (Szükséges a mentéshez)",RO:"Scrie ceva în caseta de sub numele fișierului. (Necesar pentru salvare)",BG:"Напишете нещо в полето под името на файла. (Необходимо за запазване)",DA:"Skriv noget i feltet under filnavnet. (Påkrævet for at gemme)",FI:"Kirjoita jotain tiedostonimen alapuolella olevaan ruutuun. (Vaaditaan tallentamiseen)",SL:"Zapišite nekaj v polje pod imenom datoteke. (Potrebno za shranjevanje)"},
select_create_secret_gist:{AR:"ثم حدد خيار 'Create secret gist' وأنشئ الملف.",DE:"Wählen Sie dann die Option 'Create secret gist' aus und erstellen Sie die Datei.",EN:"Then select the 'Create secret gist' option and create the file.",ES:"Luego selecciona la opción 'Create secret gist' y crea el archivo.",FA:"سپس گزینه 'Create secret gist' را انتخاب کرده و فایل را ایجاد کنید.",FR:"Ensuite, sélectionnez l'option 'Create secret gist' et créez le fichier.",HI:"फिर 'Create secret gist' विकल्प चुनें और फ़ाइल बनाएँ।",ID:"Kemudian pilih opsi 'Create secret gist' dan buat berkas.",IT:"Quindi seleziona l'opzione 'Create secret gist' e crea il file.",JA:"次に「Create secret gist」オプションを選択し、ファイルを作成します。",KO:"그런 다음 'Create secret gist' 옵션을 선택하고 파일을 생성합니다.",SW:"Kisha chagua chaguo la 'Create secret gist' na uunda faili.",PL:"Następnie wybierz opcję 'Create secret gist' i utwórz plik.",PT:"Em seguida, selecione a opção 'Create secret gist' e crie o arquivo.",RU:"Затем выберите опцию 'Create secret gist' и создайте файл.",VI:"Sau đó chọn tùy chọn 'Create secret gist' và tạo tệp.",TR:"Ardından 'Create secret gist' seçeneğini seçin ve dosyayı oluşturun.",UR:"پھر 'Create secret gist' آپشن منتخب کریں اور فائل بنائیں۔",UZ:"Keyin 'Create secret gist' ni tanlang va faylni yarating.",ZH:"然后选择“Create secret gist”选项并创建文件。",NL:"Selecteer dan de optie 'Create secret gist' en maak het bestand aan.",SV:"Välj sedan alternativet 'Create secret gist' och skapa filen.",EL:"Στη συνέχεια επιλέξτε την επιλογή 'Create secret gist' και δημιουργήστε το αρχείο.",CS:"Poté vyberte možnost 'Create secret gist' a vytvořte soubor.",HU:"Ezután válassza a 'Create secret gist' opciót, és hozza létre a fájlt.",RO:"Apoi selectează opțiunea 'Create secret gist' și creează fișierul.",BG:"След това изберете опцията 'Create secret gist' и създайте файла.",DA:"Vælg derefter muligheden 'Create secret gist' og opret filen.",FI:"Valitse sitten 'Create secret gist' -vaihtoehto ja luo tiedosto.",SL:"Nato izberite možnost 'Create secret gist' in ustvarite datoteko."},
copy_embed_content:{AR:"بعد ذلك، انسخ محتوى 'Embed'. يبدو المحتوى كما يلي:",DE:"Kopieren Sie als Nächstes den Inhalt von 'Embed'. Der Inhalt sieht wie folgt aus:",EN:"Next, copy the 'Embed' content. The content looks like this:",ES:"A continuación, copia el contenido de 'Embed'. El contenido se ve así:",FA:"بعد، محتوای 'Embed' را کپی کنید. محتوا به این شکل است:",FR:"Ensuite, copiez le contenu de 'Embed'. Le contenu ressemble à ceci :",HI:"अगला, 'Embed' सामग्री की प्रतिलिपि बनाएँ। सामग्री इस प्रकार दिखती है:",ID:"Selanjutnya, salin konten 'Embed'. Kontennya terlihat seperti ini:",IT:"Successivamente, copia il contenuto di 'Embed'. Il contenuto appare così:",JA:"次に、'Embed' のコンテンツをコピーします。コンテンツは次のようになります:",KO:"다음으로 'Embed' 내용을 복사합니다. 콘텐츠는 다음과 같습니다:",SW:"Ifuatayo, nakili maudhui ya 'Embed'. Yanaonekana kama hivi:",PL:"Następnie skopiuj zawartość 'Embed'. Zawartość wygląda następująco:",PT:"Em seguida, copie o conteúdo de 'Embed'. O conteúdo parece com isto:",RU:"Далее скопируйте содержимое 'Embed'. Содержимое выглядит так:",VI:"Tiếp theo, sao chép nội dung 'Embed'. Nội dung trông như thế này:",TR:"Ardından 'Embed' içeriğini kopyalayın. İçerik buna benzer:",UR:"اگلے، 'Embed' مواد کاپی کریں۔ مواد اس طرح دکھائی دیتا ہے:",UZ:"Keyin 'Embed' kontentini nusxa oling. Kontent quyidagicha ko'rinadi:",ZH:"接下来,复制'Embed'内容。内容如下所示:",NL:"Kopieer vervolgens de inhoud van 'Embed'. De inhoud ziet er zo uit:",SV:"Kopiera sedan innehållet i 'Embed'. Innehållet ser ut så här:",EL:"Στη συνέχεια, αντιγράψτε το περιεχόμενο του 'Embed'. Το περιεχόμενο μοιάζει έτσι:",CS:"Dále zkopírujte obsah 'Embed'. Obsah vypadá takto:",HU:"Ezután másolja ki az 'Embed' tartalmát. A tartalom így néz ki:",RO:"Apoi copiază conținutul 'Embed'. Conținutul arată astfel:",BG:"След това копирайте съдържанието на 'Embed'. Съдържанието изглежда така:",DA:"Kopier derefter indholdet af 'Embed'. Indholdet ser sådan ud:",FI:"Kopioi seuraavaksi 'Embed'-sisältö. Sisältö näyttää tältä:",SL:"Nato kopirajte vsebino 'Embed'. Vsebina izgleda takole:"},
copy_id_after_username:{AR:"انسخ الجزء بعد اسم المستخدم حتى '.js'.",DE:"Kopieren Sie den Teil nach dem Benutzernamen bis zu '.js'.",EN:"Copy the part after the username up to '.js'.",ES:"Copia la parte después del nombre de usuario hasta '.js'.",FA:"بخشی را که بعد از نام کاربری و تا '.js' است کپی کنید.",FR:"Copiez la partie après le nom d'utilisateur jusqu'à '.js'.",HI:"उपयोगकर्ता नाम के बाद के भाग को '.js' तक कॉपी करें।",ID:"Salin bagian setelah nama pengguna hingga '.js'.",IT:"Copia la parte dopo il nome utente fino a '.js'.",JA:"ユーザー名の後の部分を '.js' までコピーします。",KO:"사용자 이름 뒤의 부분을 '.js'까지 복사합니다.",SW:"Nakili sehemu baada ya jina la mtumiaji hadi '.js'.",PL:"Skopiuj część po nazwie użytkownika aż do '.js'.",PT:"Copie a parte após o nome de usuário até '.js'.",RU:"Скопируйте часть после имени пользователя до '.js'.",VI:"Sao chép phần sau tên người dùng cho đến '.js'.",TR:"Kullanıcı adından sonraki kısmını .js kısmına kadar kopyalayın ve not edin.",UR:"صارف نام کے بعد کا حصہ '.js' تک کاپی کریں۔",UZ:"Foydalanuvchi nomidan keyingi qismni '.js' gacha nusxa oling.",ZH:"复制用户名后面直到'.js'的部分。",NL:"Kopieer het deel na de gebruikersnaam tot aan '.js'.",SV:"Kopiera delen efter användarnamnet fram till '.js'.",EL:"Αντιγράψτε το μέρος μετά το όνομα χρήστη μέχρι το '.js'.",CS:"Zkopírujte část za uživatelským jménem až do '.js'.",HU:"Másolja ki a felhasználónév utáni részt a '.js'-ig.",RO:"Copiază partea de după numele de utilizator până la '.js'.",BG:"Копирайте частта след потребителското име до '.js'.",DA:"Kopiér delen efter brugernavnet op til '.js'.",FI:"Kopioi käyttäjänimen jälkeinen osa '.js'-kohtaan asti.",SL:"Kopirajte del za uporabniškim imenom do '.js'."},
example_id:{AR:"على سبيل المثال، هذا: 1bae985fef7d26eca0a0a8128fbb97e8",DE:"Beispiel: Dies: 1bae985fef7d26eca0a0a8128fbb97e8",EN:"For example, this: 1bae985fef7d26eca0a0a8128fbb97e8",ES:"Por ejemplo, esto: 1bae985fef7d26eca0a0a8128fbb97e8",FA:"به عنوان مثال، این: 1bae985fef7d26eca0a0a8128fbb97e8",FR:"Par exemple, ceci : 1bae985fef7d26eca0a0a8128fbb97e8",HI:"उदाहरण के लिए, यह: 1bae985fef7d26eca0a0a8128fbb97e8",ID:"Contohnya, ini: 1bae985fef7d26eca0a0a8128fbb97e8",IT:"Ad esempio, questo: 1bae985fef7d26eca0a0a8128fbb97e8",JA:"例えば、これ: 1bae985fef7d26eca0a0a8128fbb97e8",KO:"예를 들어, 이것: 1bae985fef7d26eca0a0a8128fbb97e8",SW:"Kwa mfano, hii: 1bae985fef7d26eca0a0a8128fbb97e8",PL:"Na przykład, to: 1bae985fef7d26eca0a0a8128fbb97e8",PT:"Por exemplo, isto: 1bae985fef7d26eca0a0a8128fbb97e8",RU:"Например, это: 1bae985fef7d26eca0a0a8128fbb97e8",VI:"Ví dụ, cái này: 1bae985fef7d26eca0a0a8128fbb97e8",TR:"Üstteki örnek için bu: 1bae985fef7d26eca0a0a8128fbb97e8",UR:"مثال کے طور پر، یہ: 1bae985fef7d26eca0a0a8128fbb97e8",UZ:"Masalan, bu: 1bae985fef7d26eca0a0a8128fbb97e8",ZH:"例如这个1bae985fef7d26eca0a0a8128fbb97e8",NL:"Bijvoorbeeld dit: 1bae985fef7d26eca0a0a8128fbb97e8",SV:"Till exempel detta: 1bae985fef7d26eca0a0a8128fbb97e8",EL:"Για παράδειγμα, αυτό: 1bae985fef7d26eca0a0a8128fbb97e8",CS:"Například toto: 1bae985fef7d26eca0a0a8128fbb97e8",HU:"Például ez: 1bae985fef7d26eca0a0a8128fbb97e8",RO:"De exemplu, acesta: 1bae985fef7d26eca0a0a8128fbb97e8",BG:"Например това: 1bae985fef7d26eca0a0a8128fbb97e8",DA:"For eksempel dette: 1bae985fef7d26eca0a0a8128fbb97e8",FI:"Esimerkiksi tämä: 1bae985fef7d26eca0a0a8128fbb97e8",SL:"Na primer tole: 1bae985fef7d26eca0a0a8128fbb97e8"},
enter_gist_id_in_setup:{AR:"(ستقوم بإدخال هذا في جزء 'Gist ID' أثناء التثبيت.)",DE:"(Dies geben Sie im Abschnitt 'Gist ID' während der Installation ein.)",EN:"(You will enter this in the 'Gist ID' part during setup.)",ES:"(Lo ingresará en la parte 'Gist ID' durante la configuración.)",FA:"(این را در بخش 'Gist ID' هنگام نصب وارد خواهید کرد.)",FR:"(Vous entrerez cela dans la partie 'Gist ID' lors de l'installation.)",HI:"(आप इसे सेटअप के दौरान 'Gist ID' भाग में दर्ज करेंगे।)",ID:"(Anda akan memasukkan ini di bagian 'Gist ID' selama pengaturan.)",IT:"(Lo inserirai nella parte 'Gist ID' durante la configurazione.)",JA:"(セットアップ中に 'Gist ID' の部分に入力します。)",KO:"(설치 중 'Gist ID' 부분에 입력합니다.)",SW:"(Utaweka hii katika sehemu ya 'Gist ID' wakati wa usanidi.)",PL:"(To wprowadzisz w części 'Gist ID' podczas konfiguracji.)",PT:"(Você irá inserir isso na parte 'Gist ID' durante a configuração.)",RU:"(Вы введете это в разделе 'Gist ID' во время установки.)",VI:"(Bạn sẽ nhập cái này vào phần 'Gist ID' trong quá trình thiết lập.)",TR:"(Bunu kurulumdaki Gist ID kısmına gireceksiniz.)",UR:"(اسے نصب کے دوران 'Gist ID' حصہ میں داخل کریں گے۔)",UZ:"(Buni o'rnatish jarayonida 'Gist ID' qismiga kiritasiz.)",ZH:"(您将在设置过程中输入此内容到'Gist ID'部分。)",NL:"(Dit voer je in bij het 'Gist ID'-gedeelte tijdens de installatie.)",SV:"(Du anger detta i 'Gist ID'-delen under installationen.)",EL:"(Θα το εισαγάγετε στο μέρος 'Gist ID' κατά την εγκατάσταση.)",CS:"(Toto zadáte v části 'Gist ID' během instalace.)",HU:"(Ezt a 'Gist ID' résznél adja meg a telepítés során.)",RO:"(Vei introduce asta în secțiunea 'Gist ID' în timpul configurării.)",BG:"(Ще въведете това в частта 'Gist ID' по време на инсталацията.)",DA:"(Du indtaster dette i 'Gist ID'-delen under opsætningen.)",FI:"(Syötät tämän 'Gist ID' -osaan asennuksen aikana.)",SL:"(To boste vnesli v del 'Gist ID' med nastavitvijo.)"},
setup_details:{AR:"تفاصيل التثبيت",DE:"Setup-Details",EN:"Setup details",ES:"Detalles de la configuración",FA:"جزئیات نصب",FR:"Détails de l'installation",HI:"सेटअप विवरण",ID:"Detail pengaturan",IT:"Dettagli di configurazione",JA:"セットアップの詳細",KO:"설치 세부 정보",SW:"Maelezo ya usanidi",PL:"Szczegóły konfiguracji",PT:"Detalhes da configuração",RU:"Детали установки",VI:"Chi tiết cài đặt",TR:"Kurulum detayları",UR:"ترتیب کے تفصیلات",UZ:"O'rnatish tafsilotlari",ZH:"安装详情",NL:"Installatiedetails",SV:"Inställningsdetaljer",EL:"Λεπτομέρειες εγκατάστασης",CS:"Detaily nastavení",HU:"Telepítési részletek",RO:"Detalii de configurare",BG:"Детайли за настройка",DA:"Opsætningsdetaljer",FI:"Asennuksen tiedot",SL:"Podrobnosti nastavitve"},
backup_data_before_connection:{AR:"يرجى عمل نسخة احتياطية من بياناتك قبل الاتصال.",DE:"Bitte sichern Sie Ihre Daten vor der Verbindung.",EN:"Back up your data before connecting.",ES:"Realice una copia de seguridad de sus datos antes de conectar.",FA:"قبل از اتصال، اطلاعات خود را پشتیبان بگیرید.",FR:"Sauvegardez vos données avant la connexion.",HI:"कनेक्ट करने से पहले अपना डेटा बैकअप लें।",ID:"Cadangkan data Anda sebelum terhubung.",IT:"Esegui il backup dei tuoi dati prima di connetterti.",JA:"接続前にデータをバックアップしてください。",KO:"연결 전에 데이터를 백업하십시오.",SW:"Hifadhi nakala ya data yako kabla ya kuunganisha.",PL:"Wykonaj kopię zapasową danych przed połączeniem.",PT:"Faça backup dos seus dados antes de conectar.",RU:"Сделайте резервную копию данных перед подключением.",VI:"Sao lưu dữ liệu của bạn trước khi kết nối.",TR:"Bağlantı öncesinde cihazınızdaki verilerinizi yedekleyin.",UR:"کنکشن سے پہلے اپنے ڈیٹا کا بیک اپ لیں۔",UZ:"Ulanishdan oldin ma'lumotlaringizni zaxiralang.",ZH:"连接前请备份您的数据。",NL:"Maak een back-up van je gegevens voordat je verbinding maakt.",SV:"Säkerhetskopiera dina data innan du ansluter.",EL:"Δημιουργήστε αντίγραφο ασφαλείας των δεδομένων σας πριν συνδεθείτε.",CS:"Zálohujte si data před připojením.",HU:"Készítsen biztonsági másolatot adatairól az összekapcsolás előtt.",RO:"Fă o copie de rezervă a datelor tale înainte de conectare.",BG:"Направете резервно копие на данните си преди свързване.",DA:"Lav en sikkerhedskopi af dine data, før du opretter forbindelse.",FI:"Varmuuskopioi tietosi ennen yhteyden muodostamista.",SL:"Pred povezavo naredite varnostno kopijo podatkov."},
please_fill_all_fields:{AR:"يرجى ملء جميع الحقول!",DE:"Bitte füllen Sie alle Felder aus!",EN:"Please fill in all fields!",ES:"¡Por favor, complete todos los campos!",FA:"لطفاً همه فیلدها را پر کنید!",FR:"Veuillez remplir tous les champs!",HI:"कृपया सभी फ़ील्ड भरें!",ID:"Silakan isi semua bidang!",IT:"Si prega di compilare tutti i campi!",JA:"すべてのフィールドに入力してください!",KO:"모든 필드를 채워주세요!",SW:"Tafadhali jaza visanduku vyote!",PL:"Proszę wypełnić wszystkie pola!",PT:"Por favor, preencha todos os campos!",RU:"Пожалуйста, заполните все поля!",VI:"Vui lòng điền vào tất cả các trường!",TR:"Lütfen tüm alanları doldurun!",UR:"براہ کرم تمام خانوں کو بھریں!",UZ:"Iltimos, barcha maydonlarni to'ldiring!",ZH:"请填写所有字段!",NL:"Vul alle velden in!",SV:"Fyll i alla fält!",EL:"Παρακαλώ συμπληρώστε όλα τα πεδία!",CS:"Vyplňte prosím všechna pole!",HU:"Kérjük, töltse ki az összes mezőt!",RO:"Vă rugăm să completați toate câmpurile!",BG:"Моля, попълнете всички полета!",DA:"Udfyld venligst alle felter!",FI:"Täytä kaikki kentät!",SL:"Prosimo, izpolnite vsa polja!"},
gist_info_error_or_server_unreachable:{AR:"معلومات Gist خاطئة أو لا يمكن الوصول إلى الخادم.",DE:"Gist-Informationen fehlerhaft oder Server nicht erreichbar.",EN:"Gist info is incorrect or the server is unreachable.",ES:"La información de Gist es incorrecta o el servidor no está disponible.",FA:"اطلاعات Gist اشتباه است یا به سرور دسترسی ندارید.",FR:"Les informations de Gist sont incorrectes ou le serveur est inaccessible.",HI:"Gist जानकारी गलत है या सर्वर तक पहुँचा नहीं जा सकता।",ID:"Informasi Gist salah atau server tidak dapat dijangkau.",IT:"Le informazioni di Gist sono errate o il server non è raggiungibile.",JA:"Gist情報が間違っているか、サーバーに接続できません。",KO:"Gist 정보가 잘못되었거나 서버에 연결할 수 없습니다.",SW:"Taarifa za Gist zinakosa au haifiki kwa seva.",PL:"Informacje o Gist są nieprawidłowe lub serwer jest niedostępny.",PT:"As informações do Gist estão incorretas ou o servidor está inacessível.",RU:"Информация о Gist неверна или сервер недоступен.",VI:"Thông tin Gist không chính xác hoặc không thể kết nối đến máy chủ.",TR:"Gist bilgileri hatalı ya da sunucuya ulaşılmıyor.",UR:"Gist کی معلومات غلط ہیں یا سرور تک پہنچ نہیں ہو رہا ہے۔",UZ:"Gist ma'lumotlari noto'g'ri yoki serverga ulanish mumkin emas.",ZH:"Gist信息有误或无法连接到服务器。",NL:"Gist-info is onjuist of de server is onbereikbaar.",SV:"Gist-informationen är felaktig eller servern är onåbar.",EL:"Οι πληροφορίες Gist είναι λανθασμένες ή ο διακομιστής δεν είναι προσβάσιμος.",CS:"Informace o Gist jsou nesprávné nebo server není dostupný.",HU:"A Gist információk hibásak, vagy a szerver nem érhető el.",RO:"Informațiile Gist sunt incorecte sau serverul nu este accesibil.",BG:"Информацията за Gist е неправилна или сървърът е недостъпен.",DA:"Gist-oplysningerne er forkerte, eller serveren kan ikke nås.",FI:"Gist-tiedot ovat virheelliset tai palvelimeen ei saada yhteyttä.",SL:"Informacije o Gist so napačne ali strežnik ni dosegljiv."},
sync_error_message: {AR:"تعذر بدء المزامنة بسبب عدم تطابق معرف Gist-كلمة المرور، أو ازدحام الخادم، أو خطأ في اتصال الإنترنت.\nلا تقم بإجراء تعديلات على أجهزة أخرى حتى يتم حل المشكلة.\nسيتم إعلامك عند استعادة الاتصال.",DE:"Die Synchronisierung konnte aufgrund von Gist-ID-Passwort-Unstimmigkeiten, Serverüberlastung oder Internetverbindungsfehlern nicht gestartet werden.\nFühren Sie keine Bearbeitungen auf anderen Geräten durch, bis das Problem behoben ist.\nSie werden benachrichtigt, sobald die Verbindung wiederhergestellt ist.",EN:"Synchronization could not be initiated due to Gist ID-password mismatch, server congestion, or internet connection error.\nDo not make edits on another device until the issue is resolved.\nYou will be notified when the connection is restored.",ES:"No se pudo iniciar la sincronización debido a una discrepancia en el ID/contraseña de Gist, congestión del servidor o error de conexión a internet.\nNo realice ediciones en otro dispositivo hasta que se resuelva el problema.\nSe le notificará cuando se restablezca la conexión.",FA:"به دلیل عدم تطابق شناسه یا رمز عبور Gist، ازدحام سرور یا خطای اتصال اینترنت، همگام‌سازی آغاز نشد.\nتا زمانی که مشکل برطرف شود، ویرایش در دستگاه دیگری انجام ندهید.\nهنگام بازگرداندن اتصال، به شما اطلاع داده خواهد شد.",FR:"La synchronisation n'a pas pu être initiée en raison d'une incohérence entre l'ID et le mot de passe Gist, de la congestion du serveur ou d'une erreur de connexion Internet.\nNe faites pas de modifications sur un autre appareil tant que le problème n'est pas résolu.\nVous serez informé lorsque la connexion sera rétablie.",HI:"Gist ID-पासवर्ड मिसमैच, सर्वर भीड़ या इंटरनेट कनेक्शन त्रुटि के कारण सिंक्रनाइज़ेशन शुरू नहीं किया जा सका।\nसमस्या का समाधान होने तक किसी अन्य उपकरण पर संपादन न करें।\nजब कनेक्शन पुनः स्थापित हो जाएगा तब आपको सूचित किया जाएगा।",ID:"Sinkronisasi tidak dapat dimulai karena ketidakcocokan ID-Password Gist, kepadatan server, atau kesalahan koneksi internet.\nJangan melakukan pengeditan di perangkat lain sampai masalah teratasi.\nAnda akan diberitahu saat koneksi dipulihkan.",IT:"La sincronizzazione non è stata avviata a causa di una mancata corrispondenza tra ID e password di Gist, congestione del server o errore di connessione a Internet.\nNon apportare modifiche su un altro dispositivo fino a quando il problema non sarà risolto.\nVerrai avvisato quando la connessione verrà ripristinata.",JA:"Gist IDとパスワードの不一致、サーバーの混雑、またはインターネット接続エラーにより、同期を開始できませんでした。\n問題が解決するまで他のデバイスで編集を行わないでください。\n接続が復元されると通知されます。",KO:"Gist ID-비밀번호 불일치, 서버 혼잡 또는 인터넷 연결 오류로 인해 동기화를 시작할 수 없습니다.\n문제가 해결될 때까지 다른 장치에서 편집하지 마십시오.\n연결이 복구되면 알림을 받게 됩니다.",SW:"Usawa haukuweza kuanzishwa kwa sababu ya usambazaji wa nambari ya Gist-na nywila, mwingi wa mitandao au hitilafu ya muunganisho wa intaneti.\nUsihariri kwenye kifaa kingine mpaka tatizo litatatuliwa.\nUtataarifiwa wakati muunganisho utaponyolewa.",PL:"Nie udało się rozpocząć synchronizacji z powodu niezgodności identyfikatora Gist-hasła, przeciążenia serwera lub błędu połączenia internetowego.\nNie dokonuj edycji na innym urządzeniu, dopóki problem nie zostanie rozwiązany.\nZostaniesz powiadomiony, gdy połączenie zostanie przywrócone.",PT:"A sincronização não pôde ser iniciada devido à incompatibilidade de ID-senha do Gist, congestionamento do servidor ou erro de conexão com a internet.\nNão faça edições em outro dispositivo até que o problema seja resolvido.\nVocê será notificado quando a conexão for restaurada.",RU:"Синхронизация не была запущена из-за несоответствия идентификатора Gist-пароля, перегрузки сервера или ошибки подключения к Интернету.\nНе вносите правки на другом устройстве, пока проблема не будет решена.\nВы получите уведомление, когда соединение будет восстановлено.",VI:"Không thể khởi động đồng bộ hóa do không khớp ID-Mật khẩu Gist, tắc nghẽn máy chủ hoặc lỗi kết nối internet.\nĐừng chỉnh sửa trên thiết bị khác cho đến khi vấn đề được giải quyết.\nBạn sẽ được thông báo khi kết nối được khôi phục.",TR:"Gist ID-Şifre uyuşmazlığı, sunucu yoğunluğu ya da internet bağlantısı hatası sebebiyle senkronizasyon başlatılamadı.\nSorun çözülene kadar başka bir cihazda düzenleme yapmayın.\nBağlantı sağlandığında bilgi verilecek.",UR:"Gist ID-پاس ورڈ عدم مطابقت، سرور کی بھیڑ یا انٹرنیٹ کنکشن کی خرابی کی وجہ سے مطابقت شروع نہیں ہو سکی۔\nمسائل دور ہونے تک کسی اور آلے پر ترمیم نہ کریں۔\nجب کنکشن قائم ہو جائے گا تو آپ کو مطلع کیا جائے گا۔",UZ:"Gist ID-parol mos kelmasligi, server zo'rlik yoki internet ulanish xatosi tufayli sinxronizatsiya boshlanmadi.\nMuammo hal bo'lguncha boshqa qurilmada tahrirlashni boshlamang.\nUlanish tiklanganda sizga xabar beriladi.",ZH:"由于Gist ID-密码不匹配、服务器拥堵或互联网连接错误,同步无法启动。\n在问题解决之前请勿在其他设备上进行编辑。\n连接恢复时会通知您。",NL:"Synchronisatie kon niet worden gestart vanwege een mismatch tussen Gist-ID en wachtwoord, serverdrukte of een internetverbindingsfout.\nBreng geen wijzigingen aan op andere apparaten totdat het probleem is opgelost.\nU wordt geïnformeerd wanneer de verbinding is hersteld.",SV:"Synkronisering kunde inte påbörjas på grund av mismatch mellan Gist-ID och lösenord, serveröverbelastning eller internetanslutningsfel.\nGör inga ändringar på andra enheter tills problemet är löst.\nDu meddelas när anslutningen är återställd.",EL:"Η συγχρονισμός δεν μπόρεσε να ξεκινήσει λόγω ασυμφωνίας ID-Κωδικού Gist, υπερφόρτωσης του διακομιστή ή σφάλματος σύνδεσης στο διαδίκτυο.\nΜην κάνετε επεξεργασίες σε άλλες συσκευές μέχρι να επιλυθεί το πρόβλημα.\nΘα ειδοποιηθείτε όταν αποκατασταθεί η σύνδεση.",CS:"Synchronizace nemohla být zahájena kvůli nesouladu ID a hesla Gist, přetížení serveru nebo chybě internetového připojení.\nNeprovádějte úpravy na jiných zařízeních, dokud nebude problém vyřešen.\nBudete upozorněni, jakmile bude spojení obnoveno.",HU:"A szinkronizálás nem indulhatott el a Gist ID-jelszó eltérése, a szerver túlterheltsége vagy internetkapcsolati hiba miatt.\nNe végezzen módosításokat más eszközökön, amíg a probléma meg nem oldódik.\nÉrtesítést kap, amikor a kapcsolat helyreáll.",RO:"Sincronizarea nu a putut fi inițiată din cauza nepotrivirii ID-ului și parolei Gist, a congestiei serverului sau a unei erori de conexiune la internet.\nNu efectuați modificări pe alte dispozitive până când problema nu este rezolvată.\nVeți fi notificat când conexiunea va fi restabilită.",BG:"Синхронизацията не можа да започне поради несъответствие между ID и парола на Gist, претоварване на сървъра или грешка в интернет връзката.\nНе правете промени на други устройства, докато проблемът не бъде разрешен.\nЩе бъдете уведомени, когато връзката бъде възстановена.",DA:"Synkronisering kunne ikke startes på grund af uoverensstemmelse mellem Gist-ID og adgangskode, serveroverbelastning eller internetforbindelsesfejl.\nForetag ingen redigeringer på andre enheder, før problemet er løst.\nDu vil blive underrettet, når forbindelsen er genoprettet.",FI:"Synkronointia ei voitu aloittaa Gist-ID-salasanan ristiriidan, palvelimen ruuhkautumisen tai internet-yhteyden virheen vuoksi.\nÄlä tee muokkauksia muilla laitteilla, ennen kuin ongelma on ratkaistu.\nSinulle ilmoitetaan, kun yhteys on palautettu.",SL:"Sinhronizacija se ni mogla začeti zaradi neskladja ID-ja in gesla Gist, preobremenjenosti strežnika ali napake v internetni povezavi.\nNe urejajte na drugih napravah, dokler težava ni odpravljena.\nObveščeni boste, ko bo povezava obnovljena."},
sync_successful: {AR:"المزامنة ناجحة.",DE:"Synchronisierung erfolgreich.",EN:"Sync successful.",ES:"Sincronización exitosa.",FA:"همگام‌سازی موفق بود.",FR:"Synchronisation réussie.",HI:"सिंक सफल।",ID:"Sinkronisasi berhasil.",IT:"Sincronizzazione completata.",JA:"同期が成功しました。",KO:"동기화 성공.",SW:"Usawa mafanikiwa.",PL:"Synchronizacja zakończona pomyślnie.",PT:"Sincronização bem-sucedida.",RU:"Синхронизация прошла успешно.",VI:"Đồng bộ hóa thành công.",TR:"Senkronizasyon başarılı.",UR:"مطابقت کامیاب ہوئی۔",UZ:"Sinxronizatsiya muvaffaqiyatli amalga oshirildi.",ZH:"同步成功。",NL:"Synchronisatie geslaagd.",SV:"Synkronisering lyckad.",EL:"Ο συγχρονισμός ολοκληρώθηκε επιτυχώς.",CS:"Synchronizace úspěšná.",HU:"Szinkronizálás sikeres.",RO:"Sincronizare reușită.",BG:"Синхронизацията е успешна.",DA:"Synkronisering vellykket.",FI:"Synkronointi onnistui.",SL:"Sinhronizacija uspešna."},
sync_active: {AR:"المزامنة نشطة",DE:"Synchronisierung aktiv",EN:"Sync active",ES:"Sincronización activa",FA:"همگام‌سازی فعال است",FR:"Synchronisation active",HI:"सिंक सक्रिय है",ID:"Sinkronisasi aktif",IT:"Sincronizzazione attiva",JA:"同期が有効です",KO:"동기화 활성화됨",SW:"Usawa unashughulikia",PL:"Synchronizacja aktywna",PT:"Sincronização ativa",RU:"Синхронизация активна",VI:"Đồng bộ hóa đang hoạt động",TR:"Senkronizasyon etkin",UR:"مطابقت فعال ہے",UZ:"Sinxronizatsiya faol",ZH:"同步已激活",NL:"Synchronisatie actief",SV:"Synkronisering aktiv",EL:"Ο συγχρονισμός είναι ενεργός",CS:"Synchronizace aktivní",HU:"Szinkronizálás aktív",RO:"Sincronizare activă",BG:"Синхронизацията е активна",DA:"Synkronisering aktiv",FI:"Synkronointi aktiivinen",SL:"Sinhronizacija aktivna"},
fetch_data: {AR:"جلب البيانات",DE:"Daten abrufen",EN:"Fetch Data",ES:"Obtener datos",FA:"دریافت داده‌ها",FR:"Récupérer les données",HI:"डेटा प्राप्त करें",ID:"Ambil Data",IT:"Recupera dati",JA:"データを取得",KO:"데이터 가져오기",SW:"Pata Data",PL:"Pobierz dane",PT:"Buscar dados",RU:"Получить данные",VI:"Lấy dữ liệu",TR:"Verileri Getir",UR:"ڈیٹا لے آؤ",UZ:"Ma'lumotlarni olish",ZH:"获取数据",NL:"Gegevens ophalen",SV:"Hämta data",EL:"Ανάκτηση δεδομένων",CS:"Načíst data",HU:"Adatok lekérése",RO:"Obține date",BG:"Извличане на данни",DA:"Hent data",FI:"Hae tiedot",SL:"Pridobi podatke"},
sync_failed_or_no_data_on_server_check_setup_info: {AR:"فشل المزامنة أو لا توجد بيانات على الخادم. تحقق من المعلومات اللازمة للإعداد.",DE:"Synchronisierung fehlgeschlagen oder keine Daten auf dem Server. Überprüfen Sie die für die Installation benötigten Informationen.",EN:"Sync failed or no data on the server. Check the required information for setup.",ES:"La sincronización falló o no hay datos en el servidor. Verifique la información necesaria para la configuración.",FA:"همگام‌سازی ناموفق بود یا داده‌ای روی سرور وجود ندارد. اطلاعات مورد نیاز برای راه‌اندازی را بررسی کنید.",FR:"Échec de la synchronisation ou aucune donnée sur le serveur. Vérifiez les informations requises pour l'installation.",HI:"सिंक विफल या सर्वर पर कोई डेटा नहीं है। सेटअप के लिए आवश्यक जानकारी की जाँच करें।",ID:"Sinkronisasi gagal atau tidak ada data di server. Periksa informasi yang diperlukan untuk penyiapan.",IT:"Sincronizzazione fallita o nessun dato sul server. Controlla le informazioni necessarie per la configurazione.",JA:"同期に失敗したか、サーバーにデータがありません。セットアップに必要な情報を確認してください。",KO:"동기화 실패 또는 서버에 데이터가 없습니다. 설정에 필요한 정보를 확인하십시오.",SW:"Usawa ulifeli au hakuna data kwenye seva. Angalia habari zinazohitajika kwa ajili ya usanidi.",PL:"Synchronizacja nie powiodła się lub brak danych na serwerze. Sprawdź wymagane informacje do konfiguracji.",PT:"A sincronização falhou ou não há dados no servidor. Verifique as informações necessárias para a configuração.",RU:"Синхронизация не удалась или данных на сервере нет. Проверьте необходимую информацию для настройки.",VI:"Đồng bộ hóa thất bại hoặc không có dữ liệu trên máy chủ. Kiểm tra thông tin cần thiết cho cài đặt.",TR:"Senkronizasyon başarısız ya da sunucuda veri yok. Kurulum için gerekli bilgileri kontrol edin.",UR:"مطابقت ناکام ہوئی یا سرور پر کوئی ڈیٹا نہیں۔ ترتیب کے لیے درکار معلومات کی جانچ کریں۔",UZ:"Sinxronizatsiya muvaffaqiyatsiz bo'ldi yoki serverda ma'lumot yo'q. Sozlash uchun zarur bo'lgan ma'lumotlarni tekshiring.",ZH:"同步失败或服务器上没有数据。检查设置所需的信息。",NL:"Synchronisatie mislukt of geen gegevens op de server. Controleer de benodigde informatie voor de installatie.",SV:"Synkronisering misslyckades eller ingen data på servern. Kontrollera den information som krävs för installationen.",EL:"Ο συγχρονισμός απέτυχε ή δεν υπάρχουν δεδομένα στον διακομιστή. Ελέγξτε τις απαραίτητες πληροφορίες για τη ρύθμιση.",CS:"Synchronizace selhala nebo na serveru nejsou žádná data. Zkontrolujte požadované informace pro nastavení.",HU:"A szinkronizálás sikertelen vagy nincs adat a szerveren. Ellenőrizze a telepítéshez szükséges információkat.",RO:"Sincronizarea a eșuat sau nu există date pe server. Verificați informațiile necesare pentru configurare.",BG:"Синхронизацията се провали или няма данни на сървъра. Проверете необходимата информация за настройка.",DA:"Synkronisering mislykkedes eller ingen data på serveren. Tjek de nødvendige oplysninger til opsætning.",FI:"Synkronointi epäonnistui tai palvelimella ei ole tietoja. Tarkista asennukseen tarvittavat tiedot.",SL:"Sinhronizacija ni uspela ali na strežniku ni podatkov. Preverite potrebne informacije za nastavitev."},
initial_setup: {AR:"الإعداد الأولي",DE:"Erstinstallation",EN:"Initial Setup",ES:"Configuración inicial",FA:"راه‌اندازی اولیه",FR:"Installation initiale",HI:"प्रारंभिक सेटअप",ID:"Penyiapan Awal",IT:"Configurazione iniziale",JA:"初期設定",KO:"초기 설정",SW:"Usanidi wa Awali",PL:"Konfiguracja początkowa",PT:"Configuração inicial",RU:"Первоначальная настройка",VI:"Cài đặt ban đầu",TR:"İlk Kurulum",UR:"پہلی ترتیب",UZ:"Dastlabki sozlash",ZH:"初始设置",NL:"Initiële installatie",SV:"Initial installation",EL:"Αρχική ρύθμιση",CS:"Počáteční nastavení",HU:"Kezdeti beállítás",RO:"Configurare inițială",BG:"Първоначална настройка",DA:"Første opsætning",FI:"Alkuasetukset",SL:"Začetna nastavitev"},
understood: {AR:"فهمت",DE:"Verstanden",EN:"Understood",ES:"Entendido",FA:"فهمیدم",FR:"Compris",HI:"समझ गया",ID:"Mengerti",IT:"Capito",JA:"了解しました",KO:"이해했습니다",SW:"Nimeelewa",PL:"Zrozumiano",PT:"Entendido",RU:"Понятно",VI:"Đã hiểu",TR:"Anladım",UR:"سمجھ گیا",UZ:"Tushundim",ZH:"明白了",NL:"Begrepen",SV:"Förstått",EL:"Κατάλαβα",CS:"Rozumím",HU:"Megértettem",RO:"Înteleg",BG:"Разбрано",DA:"Forstået",FI:"Ymmärretty",SL:"Razumem"}
};
function translate(key, langCode = localStorage.getItem("selectedLanguage") || "EN") {return translations[key]?.[langCode] || translations[key]["EN"];}
//setupResizer
function setupResizer(resizerSelector, minWidth = 220, maxWidth = 700) {
const resizers = document.querySelectorAll(resizerSelector);
resizers.forEach(resizer => {
let isResizing = false;
let startX, startWidth;
let target = resizer.parentElement;
resizer.addEventListener('mousedown', (e) => {
isResizing = true;
startX = e.clientX;
startWidth = parseInt(window.getComputedStyle(target).width, 10);
document.addEventListener('mousemove', resize);
document.addEventListener('mouseup', stopResize);
});
function resize(e) {
if (!isResizing) return;
if (document.documentElement.lang === "ar" || document.documentElement.lang === "fa") {
var newWidth = startWidth - (e.clientX - startX);
}else{
var newWidth = startWidth + (e.clientX - startX);
}
if (newWidth >= minWidth && newWidth <= maxWidth) {
target.style.width = `${newWidth}px`;
}
}
function stopResize() {
isResizing = false;
document.removeEventListener('mousemove', resize);
document.removeEventListener('mouseup', stopResize);
}
});
}
document.getElementById('omod_toggle').addEventListener('click', () => {
const noteEditor = document.getElementById('note-editor');
noteEditor.style.cursor = noteEditor.style.cursor === 'default' ? 'text' : 'default';
noteEditor.contentEditable = noteEditor.contentEditable === 'true' ? 'false' : 'true';
const body = document.querySelector('body');
body.classList.toggle('omod') ? 'enable' : 'disable';
});
let globalTooltip;
document.addEventListener('DOMContentLoaded', () => {
globalTooltip = document.createElement('div');
globalTooltip.className = 'tooltip';
document.body.appendChild(globalTooltip);
});
//add css style
function createCSSRules() {
const buttonRules = {
'tema':{content:`"${translate("theme")}"`,right:'-11px',top:'-35px',left:'auto',transform:'none'},
'sync':{content:`"${translate("sync")}"`,top:'-35px',left:'50%',transform:'translateX(-50%)'},
'languege':{content:`"${translate("select_language")}"`,right:'-4px',top:'-35px',left:'auto',transform:'none'},
'export':{content:`"${translate("save_all_data")}"`,top:'-37px',left:'-4px',transform:'none'},
'import':{content:`"${translate("upload_data")}"`,top:'-37px',left:'-4px',transform:'none'},
'omod_toggle':{content:`"${translate("reading_mode")}"!important`,right:'-6px',transform:'none',left:'auto'}
};
const editorButtons = {'h1':translate("heading_1"),'h2':translate("heading_2"),'bold':translate("bold"),'italic':translate("italic"),'list-ul':translate("bulleted_list"),'list-ol':translate("numbered_list"),'strike':translate("strikethrough"),'left':translate("align_left"),'center':translate("align_center"),'right':translate("align_right"),'erase':translate("remove_formatting"),'horizontalrule':translate("horizontal_line"),'link':translate("add_link"),'unlink':translate("remove_link"),'html':translate("add_html"),'table':translate("add_table"),'select':translate("select_all"),'kucult':translate("decrease_font_size"),'buyut':translate("increase_font_size"),'undo':translate("undo"),'redo':translate("redo")};
let cssText = '';
Object.entries(buttonRules).forEach(([id, props]) => {
cssText += `${id === 'omod_toggle' ? '':'button'}#${id}::before {`;
Object.entries(props).forEach(([prop, value]) => {cssText += `${prop}:${value};`;}); cssText += '}';
});
Object.entries(editorButtons).forEach(([name, text]) => {cssText += `button.${name}-button::before{content:"${text}";}`;});
const style = document.createElement('style');
style.textContent = cssText;
document.head.appendChild(style);
}
createCSSRules();
document.addEventListener('DOMContentLoaded', function () {
if (localStorage.getItem('sync') === '1') {
document.querySelector('button#sync').classList.add('aktif');
}
const SPECIAL_KEYS = new Set([
'sidebarState', 'thizaState', 'tema', 'gistFile', 'gistId', 'gistToken',
'hasSelectedLanguage', 'selectedLanguage', 'sync'
]);
const deepEqual = (obj1, obj2) => {
if (obj1 === obj2) return true;
if (obj1 == null || obj2 == null) return false;
if (typeof obj1 !== 'object' || typeof obj2 !== 'object') return obj1 === obj2;
const keys1 = Object.keys(obj1);
const keys2 = Object.keys(obj2);
if (keys1.length !== keys2.length) return false;
return keys1.every(key => keys2.includes(key) && deepEqual(obj1[key], obj2[key]));
};
const getLocalStorageData = () => {
const localData = {};
for (const [key, value] of Object.entries(localStorage)) {
try {
localData[key] = SPECIAL_KEYS.has(key) ? (value === 'null' ? null : value) : JSON.parse(value);
} catch (e) {
localData[key] = value;
}
}
return localData;
};
const clearOrderKeys = () => {
Object.keys(localStorage)
.filter(key => key.startsWith('noteOrder-') || key.startsWith('taskOrder-'))
.forEach(key => localStorage.removeItem(key));
};
const saveDataToLocalStorage = (data) => {
Object.entries(data).forEach(([key, value]) => {
localStorage.setItem(key, SPECIAL_KEYS.has(key) ? (value === null ? 'null' : value) : JSON.stringify(value));
});
};
const loadDataFromGist = async () => {
if (sessionStorage.getItem('justSynced') === 'true') {
console.log('Sayfa zaten senkronize edildi, döngü engellendi.');
sessionStorage.removeItem('justSynced');
return;
}
if (localStorage.getItem('sync') !== '1') {
console.log('Sync değeri 1 değil, Gist\'ten veri yükleme yapılmadı.');
return;
}
const gistId = localStorage.getItem('gistId');
const gistToken = localStorage.getItem('gistToken');
const gistFile = localStorage.getItem('gistFile');
if (!gistId || !gistToken || !gistFile) {
console.log('Gist bilgileri eksik, otomatik senkronizasyon yapılamıyor.');
return;
}
try {
const response = await fetch(`https://api.github.com/gists/${gistId}`, {
method: 'GET',
headers: {
Authorization: `Bearer ${gistToken}`,
Accept: 'application/vnd.github.v3+json'
},
cache: 'no-store'
});
if (!response.ok) {
console.log('Gist\'ten veri çekme başarısız');
if (localStorage.getItem('sync') === '1') {
document.querySelector('button#sync').classList.remove('aktif');
alert(translate("sync_failed_or_no_data_on_server_check_setup_info"));
localStorage.setItem('sync', '0');
}
return;
}
const gistData = await response.json();
if (!gistData.files?.[gistFile]) {
throw new Error(`Belirtilen dosya '${gistFile}' Gist içinde bulunamadı.`);
}
const gistParsedData = JSON.parse(gistData.files[gistFile].content);
const localData = getLocalStorageData();
if (deepEqual(gistParsedData, localData)) {
console.log('Gist\'teki veriler localStorage ile aynı, yükleme yapılmadı.');
return;
}
clearOrderKeys();
saveDataToLocalStorage(gistParsedData);
console.log('Gist\'ten veriler başarıyla yüklendi');
sessionStorage.setItem('justSynced', 'true');
location.reload();
} catch (error) {
console.log('Gist\'ten veri yükleme hatası:', error);
if (localStorage.getItem('sync') === '1') {
document.querySelector('button#sync').classList.remove('aktif');
setTimeout(() => {
alert(translate("sync_failed_or_no_data_on_server_check_setup_info"));
localStorage.setItem('sync', '0');
}, 150);
}
}
};
setTimeout(() => {
loadDataFromGist();
}, 150);
//languege
const languageButton = document.getElementById("languege");
const languages = [{name: "العربية",code: "AR"},{name: "Deutsch",code: "DE"},{name: "English",code: "EN"},{name: "Español",code: "ES"},{name: "فارسی",code: "FA"},{name: "Français",code: "FR"},{name: "हिन्दी",code: "HI"},{name: "Indonesian",code: "ID"},{name: "Italiano",code: "IT"},{name: "日本語",code: "JA"},{name: "한국어",code: "KO"},{name: "Kiswahili",code: "SW"},{name: "Polski",code: "PL"},{name: "Português",code: "PT"},{name: "Русский",code: "RU"},{name: "Tiếng Việt",code: "VI"},{name: "Türkçe",code: "TR"},{name: "اردو",code: "UR"},{name: "Oʻzbekcha",code: "UZ"},{name: "中文",code: "ZH"},{name: "Nederlands",code: "NL"},{name: "Svenska",code: "SV"},{name: "Ελληνικά",code: "EL"},{name: "Čeština",code: "CS"},{name: "Magyar",code: "HU"},{name: "Română",code: "RO"},{name: "Български",code: "BG"},{name: "Dansk",code: "DA"},{name: "Suomi",code: "FI"},{name: "Slovenščina",code: "SL"}];
let selectLangCode = localStorage.getItem("selectedLanguage") || "EN";
let selectedLanguage = languages.find(lang => lang.code === selectLangCode)?.name || "English";
document.documentElement.lang = selectLangCode.toLowerCase();
const isFirstVisit = localStorage.getItem("hasSelectedLanguage") !== "true";
let modal_dil;
let secondModal;
function createMainModal() {
modal_dil = document.createElement("div");
modal_dil.className = "modal";
modal_dil.innerHTML = `
<div class="modal_dil-content">
<div class="gecerli_dil">${selectedLanguage}</div>
<div id="arrow" class="dili_degistir">${translate("change_language")}</div>
<button class="close_main_modal">${translate("close_button")}</button>
</div>
`;
document.body.appendChild(modal_dil);
modal_dil.querySelector(".dili_degistir").addEventListener("click", createLanguageSelectionModal);
modal_dil.querySelector(".close_main_modal").addEventListener("click", function () {
if (isFirstVisit) {
localStorage.setItem("selectedLanguage", "EN");
localStorage.setItem("hasSelectedLanguage", "true");
}
modal_dil.style.display = "none";
});
}
function createLanguageSelectionModal() {
if (secondModal) secondModal.remove();
secondModal = document.createElement("div");
secondModal.className = "modal";
let modalContent = `<div class="modal_dil-content2">`;
const sortedLanguages = [...languages].sort((a, b) => {
return a.code === selectLangCode ? -1 : b.code === selectLangCode ? 1 : 0;
});
sortedLanguages.forEach(lang => {
modalContent += `
<label class="checkbox-design">
<input type="checkbox" name="language" value="${lang.code}" ${lang.code === selectLangCode ? "checked" : ""}>
<span class="checkbox-square"></span>${lang.name}
</label>
`;
});
modalContent += `</div>`;
secondModal.innerHTML = modalContent;
document.body.appendChild(secondModal);
document.querySelectorAll('input[name="language"]').forEach(input => {
input.addEventListener("change", saveLanguage);
});
}
function saveLanguage(event) {
selectLangCode = event.target.value;
selectedLanguage = languages.find(lang => lang.code === selectLangCode)?.name || "English";
localStorage.setItem("selectedLanguage", selectLangCode);
localStorage.setItem("hasSelectedLanguage", "true");
setTimeout(() => {updateGist();}, 200);
modal_dil.querySelector(".gecerli_dil").textContent = selectedLanguage;
document.documentElement.lang = selectLangCode.toLowerCase();
modal_dil.querySelector(".close_main_modal").textContent = translate("close_button");
modal_dil.querySelector(".dili_degistir").textContent = translate("change_language");
secondModal.remove();
modal_dil.remove();
setTimeout(() => {location.reload();}, 1600);
}
languageButton.addEventListener("click", function () {
if (!modal_dil) {
createMainModal();
}
modal_dil.style.display = "flex";
});
if (isFirstVisit) {
createMainModal();
modal_dil.style.display = "flex";
}
//toggle sidebar button
const sidebar = document.querySelector('.sidebar');
sidebar.classList.add('initialized');
document.getElementById('toggle-sidebar-button').classList.add('initialized');
sidebar.classList.toggle('collapsed', localStorage.getItem('sidebarState') === 'collapsed');
document.getElementById('toggle-sidebar-button').addEventListener('click', () => {
const sidebar = document.querySelector('.sidebar');
sidebar.style.width = '220px';
localStorage.setItem('sidebarState', sidebar.classList.toggle('collapsed') ? 'collapsed' : 'expanded');
updateGist();
});
const geriNotebar = document.getElementsByClassName('geriNotebar')[0];
const geriContent = document.getElementsByClassName('geriContent')[0];
const noteContent = document.getElementsByClassName('note-content')[0];
const noteContentIc = document.getElementsByClassName('note-content-ic')[0];
const noteBar = document.getElementsByClassName('notebar')[0];
const arkaplan = document.getElementsByClassName('arkaplan')[0];
const categoryList = document.getElementById('category-list');
const sidebarButton = document.getElementById('toggle-sidebar-button');
const noteList = document.getElementById('note-list');
const noteEditor = document.getElementById('note-editor');
const noteTitleInput = document.getElementById('note-title');
const noteSearchInput = document.getElementById('note-search');
const noteContentSearchInput = document.getElementById('note-content-search');
noteSearchInput.placeholder = translate("search_note");
noteContentSearchInput.placeholder = translate("search_in_note_content");
noteTitleInput.placeholder = translate("note_title");
const saveStatus = document.getElementById('save-status');
const saveNoteButton = document.getElementById('save-note-button');
saveNoteButton.textContent = translate("save");
const deleteNoteButton = document.getElementById('delete-note-button');
deleteNoteButton.textContent = translate("delete");
const addCategoryButton = document.getElementById('add-category-button');
addCategoryButton.textContent = translate("category");
const addNoteButton = document.getElementById('add-note-button');
addNoteButton.textContent = translate("note");
const addTaskButton = document.getElementById('add-task-button');
addTaskButton.textContent = translate("task");
let notes = [];
let categories = [];
let selectedNote = null;
let selectedCategory = null;
//tema ayarları
const temaDegis = document.getElementById('tema');
let currentTheme = localStorage.getItem('tema');
temaDegis.addEventListener('click', () => {
if (currentTheme === 'light') {
currentTheme = 'dark';
} else {
currentTheme = 'light';
}
localStorage.setItem('tema', currentTheme);
document.body.className = currentTheme;
updateGist();
});
function handleWindowResize() {
const getNotes = localStorage.getItem('notes');
const windowWidth = window.innerWidth;
if (windowWidth < 1000) {
sidebar.style.width = '100%';
noteBar.style.visibility = 'hidden';
noteBar.style.display = 'none';
noteContentIc.style.display = 'none';
noteContent.style.display = 'none';
sidebarButton.style.display = 'none';
} else {
sidebar.style.display = 'grid';
sidebar.style.width = '220px';
noteBar.style.visibility = 'visible';
noteBar.style.display = 'grid';
sidebarButton.style.display = 'block';
if (getNotes && getNotes.length > 0) {
noteContentIc.style.display = 'block';
}else{
noteContentIc.style.display = 'none';
}
noteContent.style.display = 'block';
}
}
window.addEventListener('resize', handleWindowResize);
window.addEventListener('DOMContentLoaded', handleWindowResize);
function loadData() {
const savedNotes = localStorage.getItem('notes');
if (savedNotes) {
notes = JSON.parse(savedNotes);
}
const savedCategories = localStorage.getItem('categories');
if (savedCategories) {
categories = JSON.parse(savedCategories);
}
const savedCategoryOrder = localStorage.getItem('categoryOrder');
if (savedCategoryOrder) {
const order = JSON.parse(savedCategoryOrder);
categories.sort((a, b) => {
return order.indexOf(a.id.toString()) - order.indexOf(b.id.toString());
});
}
renderCategories();
if (categories.length > 0) {
selectedCategory = categories[0];
const firstCategoryElement = document.querySelector(`.category-item[data-id="${selectedCategory.id}"]`);
if (firstCategoryElement) {
firstCategoryElement.classList.add('selected');
}
const categoryNotes = notes.filter(note => note.categories.includes(selectedCategory.id));
const savedNoteOrder = localStorage.getItem(`noteOrder-${selectedCategory?.id}`);
if (savedNoteOrder) {
const noteOrder = JSON.parse(savedNoteOrder);
categoryNotes.sort((a, b) => {
return noteOrder.indexOf(a.id.toString()) - noteOrder.indexOf(b.id.toString());
});
} else {
categoryNotes.sort((a, b) => new Date(b.createdAt) - new Date(a.createdAt));
}
if (categoryNotes.length > 0) {
selectedNote = categoryNotes[0];
noteEditor.innerHTML = '';
noteTitleInput.value = '';
loadNoteContent();
renderNotes();
const firstNoteElement = document.querySelector(`.note-item[data-id="${selectedNote.id}"]`);
if (firstNoteElement) {
firstNoteElement.classList.add('selected');
}
} else {
window.addEventListener('resize', () => {
const windowWidth = window.innerWidth;
if (windowWidth > 1000) {
noteBar.style.visibility = 'visible';
noteBar.style.display = 'grid';
sidebar.style.display = 'grid';
sidebar.style.width = '220px';
noteContentIc.style.display = 'block';
noteContent.style.display = 'block';
}else{
sidebar.style.width = '100%';
noteBar.style.visibility = 'hidden';
noteBar.style.display = 'none';
noteContentIc.style.display = 'none';
noteContent.style.display = 'none';
}
});
window.dispatchEvent(new Event('resize'));
noteContentIc.style.display = 'none';
noteEditor.innerHTML = '';
noteTitleInput.value = '';
document.getElementById('note-created-date').textContent = '';
renderNotes();
}
} else {
noteBar.style.visibility = 'visible';
noteBar.style.display = 'grid';
noteContentIc.style.display = 'none';
noteEditor.innerHTML = '';
noteTitleInput.value = '';
document.getElementById('note-created-date').textContent = '';
}
setupResizer('.resizer');
arkaplan.style.display = 'block';
geriNotebar.textContent = translate("back");
geriContent.textContent = translate("back");
geriNotebar.addEventListener('click', () => {
sidebar.style.width = '100%';
sidebar.style.display = 'grid';
noteBar.style.visibility = 'hidden';
noteBar.style.display = 'none';
noteContentIc.style.display = 'none';
noteContent.style.display = 'none';
});
geriContent.addEventListener('click', () => {
noteBar.style.visibility = 'visible';
noteBar.style.display = 'grid';
noteBar.style.width = '100%';
noteContentIc.style.display = 'none';
noteContent.style.display = 'none';
});
}
function saveData(showMessage = true) {
localStorage.setItem('notes', JSON.stringify(notes));
localStorage.setItem('categories', JSON.stringify(categories));
if (showMessage) {
saveStatus.textContent = translate("saved");
saveStatus.style.display = 'block';
setTimeout(() => {
saveStatus.textContent = '';
saveStatus.style.display = 'none';
}, 2000);
}
updateGist();
}
function renderCategories() {
categoryList.innerHTML = '';
const savedCategoryOrder = localStorage.getItem('categoryOrder');
if (savedCategoryOrder) {
const order = JSON.parse(savedCategoryOrder);
categories.sort((a, b) => {
return order.indexOf(a.id.toString()) - order.indexOf(b.id.toString());
});
}
const tooltip = globalTooltip;
let tooltipTimeout;
categories.forEach((category) => {
const li = document.createElement('li');
li.dataset.id = category.id;
li.dataset.type = 'category';
li.classList.add('category-item');
if (selectedCategory && selectedCategory.id === category.id) {
li.classList.add('selected');
}
const categoryNameSpan = document.createElement('span');
categoryNameSpan.textContent = category.name;
categoryNameSpan.id = 'renk'+category.color;
li.appendChild(categoryNameSpan);
li.addEventListener('mouseenter', () => {
clearTimeout(tooltipTimeout);
const spanContent = li.querySelector('span').textContent;
function toArabicNumerals(num) {
const arabicNumbers = ['٠', '١', '٢', '٣', '٤', '٥', '٦', '٧', '٨', '٩'];
return num.toString().split('').map(digit => arabicNumbers[digit]).join('');
}
const noteCount = notes.filter(note => note.categories.includes(category.id)).length;
const arabicNoteCount = toArabicNumerals(noteCount);
if (document.documentElement.lang === "ar" || document.documentElement.lang === "fa") {
tooltip.textContent = `${spanContent} | ${arabicNoteCount} ${translate("note")}`;
}else{
tooltip.textContent = `${spanContent} | ${noteCount} ${translate("note")}`;
}
const rect = li.getBoundingClientRect();
tooltip.style.top = `${rect.top + window.scrollY - tooltip.offsetHeight - 0}px`;
if (document.documentElement.lang === "ar" || document.documentElement.lang === "fa") {
tooltip.style.left = `${rect.right + window.scrollX - tooltip.offsetWidth}px`;
}else{
tooltip.style.left = `${rect.left + window.scrollX}px`;
}
tooltip.style.transition = 'none';
tooltip.style.opacity = '0';
tooltip.style.transform = 'translateY(-10px)';
tooltip.style.visibility = 'hidden';
tooltipTimeout = setTimeout(() => {
tooltip.style.transition = 'transform 0.4s ease, opacity 0.4s ease, visibility 0.4s ease';
tooltip.style.opacity = '1';
tooltip.style.visibility = 'visible';
tooltip.style.transform = 'translateY(0)';
}, 100);
});
li.addEventListener('mouseleave', () => {
clearTimeout(tooltipTimeout);
tooltip.style.opacity = '0';
tooltip.style.visibility = 'hidden';
tooltip.style.transform = 'translateY(-10px)';
});
li.addEventListener('click', () => {
document.querySelectorAll('.category-item').forEach(catItem => {
catItem.classList.remove('selected');
});
li.classList.add('selected');
window.addEventListener('resize', () => {
const windowWidth = window.innerWidth;
if (windowWidth < 1000) {
sidebar.style.display = 'none';
noteBar.style.visibility = 'visible';
noteBar.style.display = 'grid';
noteBar.style.width = '100%';
noteContentIc.style.display = 'none';
noteContent.style.display = 'none';
} else {
sidebar.style.display = 'grid';
noteBar.style.visibility = 'visible';
noteBar.style.display = 'grid';
noteBar.style.width = '220px';
noteContentIc.style.display = 'block';
noteContent.style.display = 'block';
}
});
window.dispatchEvent(new Event('resize'));
noteContentSearchInput.value = '';
noteSearchInput.value = '';
selectedCategory = category;
renderNotes();
const categoryNotes = notes.filter(note => note.categories.includes(category.id));
const savedNoteOrder = localStorage.getItem(`noteOrder-${selectedCategory?.id}`);
if (savedNoteOrder) {
const noteOrder = JSON.parse(savedNoteOrder);
categoryNotes.sort((a, b) => {
return noteOrder.indexOf(a.id.toString()) - noteOrder.indexOf(b.id.toString());
});
} else {
categoryNotes.sort((a, b) => new Date(b.createdAt) - new Date(a.createdAt));
}
if (categoryNotes.length > 0) {
selectedNote = categoryNotes[0];
loadNoteContent();
noteContentIc.style.display = 'block';
const firstNoteElement = document.querySelector('.note-item');
if (firstNoteElement) {
document.querySelectorAll('.note-item').forEach(noteItem => {
noteItem.classList.remove('selected');
});
firstNoteElement.classList.add('selected');
}
} else {
noteContentIc.style.display = 'none';
selectedNote = null;
noteEditor.innerHTML = '';
noteTitleInput.value = '';
document.getElementById('note-created-date').textContent = '';
}
});
const editButton = document.createElement('button');
editButton.innerHTML = `<svg class="feather feather-edit" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"/></svg>`;
editButton.classList.add('category-edit-buttons');
editButton.addEventListener('click', (event) => {
event.stopPropagation();
editCategory(category);
});
li.appendChild(editButton);
categoryList.appendChild(li);
});
enableDragAndDrop('.sortable1', 'category-list', updateCategoryOrder);
}
function renderNotes() {
noteList.innerHTML = '';
let filteredNotes = notes;
if (document.documentElement.lang === "tr") {
var searchTerm = noteSearchInput.value.turkishToLower();
var contentSearchTerm = noteContentSearchInput.value.turkishToLower();
}else{
var searchTerm = noteSearchInput.value.toLowerCase();
var contentSearchTerm = noteContentSearchInput.value.toLowerCase();
}
if (searchTerm || contentSearchTerm) {
filteredNotes = notes;
if (searchTerm) {
noteBar.style.visibility = 'visible';
noteBar.style.display = 'grid';
filteredNotes = filteredNotes.filter(note => {
if (document.documentElement.lang === "tr") {
var cleanTitle = stripHtmlTags(note.title).turkishToLower();
}else{
var cleanTitle = stripHtmlTags(note.title).toLowerCase();
}
return cleanTitle.includes(searchTerm);
});
} else {
noteContentIc.style.display = 'none';
}
if (contentSearchTerm) {
noteSearchInput.value = '';
filteredNotes = filteredNotes.filter(note => {
if (document.documentElement.lang === "tr") {
var cleanContent = stripHtmlTags(note.content).turkishToLower();
}else{
var cleanContent = stripHtmlTags(note.content).toLowerCase();
}
return cleanContent.includes(contentSearchTerm);
});
}
} else if (selectedCategory) {
filteredNotes = filteredNotes.filter(note => {
return note.categories.includes(selectedCategory.id);
});
}
const savedNoteOrder = localStorage.getItem(`noteOrder-${selectedCategory?.id}`);
if (savedNoteOrder) {
const noteOrder = JSON.parse(savedNoteOrder);
filteredNotes.sort((a, b) => {
return noteOrder.indexOf(a.id.toString()) - noteOrder.indexOf(b.id.toString());
});
} else {
filteredNotes.sort((a, b) => new Date(b.createdAt) - new Date(a.createdAt));
}
const tooltip = globalTooltip;
let tooltipTimeout;
filteredNotes.forEach((note) => {
const li = document.createElement('li');
li.innerHTML = `<span>${note.title}</span>`;
li.dataset.id = note.id;
li.dataset.type = 'note';
li.classList.add('note-item');
li.querySelector('span').id = 'renk'+note.color;
if (selectedNote && selectedNote.id === note.id) {
li.classList.add('selected');
}
li.addEventListener('mouseenter', () => {
clearTimeout(tooltipTimeout);
const spanContent = li.querySelector('span').textContent;
tooltip.textContent = `${spanContent}`;
const rect = li.getBoundingClientRect();
tooltip.style.top = `${rect.top + window.scrollY - tooltip.offsetHeight - 0}px`;
if (document.documentElement.lang === "ar" || document.documentElement.lang === "fa") {
tooltip.style.left = `${rect.right + window.scrollX - tooltip.offsetWidth}px`;
}else{
tooltip.style.left = `${rect.left + window.scrollX}px`;
}
tooltip.style.transition = 'none';
tooltip.style.opacity = '0';
tooltip.style.transform = 'translateY(-10px)';
tooltip.style.visibility = 'hidden';
tooltipTimeout = setTimeout(() => {
tooltip.style.transition = 'transform 0.4s ease, opacity 0.4s ease, visibility 0.4s ease';
tooltip.style.opacity = '1';
tooltip.style.visibility = 'visible';
tooltip.style.transform = 'translateY(0)';
}, 100);
});
li.addEventListener('mouseleave', () => {
clearTimeout(tooltipTimeout);
tooltip.style.opacity = '0';
tooltip.style.visibility = 'hidden';
tooltip.style.transform = 'translateY(-10px)';
});
li.addEventListener('click', () => {
document.querySelectorAll('.note-item').forEach(noteItem => {
noteItem.classList.remove('selected');
});
li.classList.add('selected');
selectedNote = note;
const noteCategory = categories.find(cat => note.categories.includes(cat.id));
if (noteCategory) {
document.querySelectorAll('.category-item').forEach(catItem => {
catItem.classList.remove('selected');
});
const categoryElement = document.querySelector(`.category-item[data-id="${noteCategory.id}"]`);
if (categoryElement) {
categoryElement.classList.add('selected');
}
selectedCategory = noteCategory;
renderCategories();
}
loadNoteContent();
noteContentIc.style.display = 'block';
window.addEventListener('resize', () => {
const windowWidth = window.innerWidth;
if (windowWidth < 1000) {
noteContent.style.display = 'block';
noteContentIc.style.display = 'block';
noteBar.style.visibility = 'hidden';
noteBar.style.display = 'none';
}
});
window.dispatchEvent(new Event('resize'));
});
const editButton = document.createElement('button');
editButton.innerHTML = `<svg class="feather feather-edit" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"/></svg>`;
editButton.classList.add('category-edit-buttons');
editButton.addEventListener('click', (event) => {
event.stopPropagation();
editNote(note);
});
li.appendChild(editButton);
noteList.appendChild(li);
});
enableDragAndDrop('.sortable2', 'note-list', updateNoteOrder);
}
function addCategory() {
const modal = document.createElement('div');
modal.classList.add('modal');
modal.innerHTML = `
<div class="modal-content">
<label for="newCategoryName">${translate("category_name")}:</label>
<input type="text" id="newCategoryName">
<div class="colors">
<div class="color-option" style="background-color: #b1653d;" data-color="b1653d"></div>
<div class="color-option" style="background-color: #9a900b;" data-color="9a900b"></div>
<div class="color-option" style="background-color: #6c8f20;" data-color="6c8f20"></div>
<div class="color-option" style="background-color: #1490b5;" data-color="1490b5"></div>
<div class="color-option" style="background-color: #1b86f2;" data-color="1b86f2"></div>
<div class="color-option" style="background-color: #527cf8;" data-color="527cf8"></div>
<div class="color-option" style="background-color: #8772ff;" data-color="8772ff"></div>
<div class="color-option" style="background-color: #b34e99;" data-color="b34e99"></div>
<div class="color-option" style="background-color: #bb4141;" data-color="bb4141"></div>
</div>
<button id="confirmDelete">${translate("add")}</button>
<button id="cancelDelete">${translate("cancel")}</button>
</div>
`;
document.body.appendChild(modal);
const newCategoryNameInput = document.getElementById('newCategoryName');
const confirmDelete = document.getElementById('confirmDelete');
const cancelDelete = document.getElementById('cancelDelete');
const colorOptions = document.querySelectorAll('.color-option');
let selectedColor = 'b1653d'; // varsayılan renk
colorOptions.forEach(option => {
option.addEventListener('click', () => {
document.querySelectorAll('.color-option').forEach(opt => opt.classList.remove('selected'));
option.classList.add('selected');
selectedColor = option.getAttribute('data-color');
});
});
colorOptions[0].classList.add('selected');
newCategoryNameInput.focus();
confirmDelete.addEventListener('click', () => {
const categoryName = newCategoryNameInput.value.trim();
if (!categoryName) {
alert(translate("cat_name_empty"));
return;
}
const newCategory = {
id: Date.now(),
name: categoryName,
color: selectedColor
};
categories.unshift(newCategory);
selectedCategory = newCategory;
saveData(false);
renderCategories();
renderNotes();
const windowWidth = window.innerWidth;
if (windowWidth > 1000) {
noteBar.style.visibility = 'visible';
noteBar.style.display = 'grid';
}
noteContentIc.style.display = 'none';
document.body.removeChild(modal);
});
cancelDelete.addEventListener('click', () => {
document.body.removeChild(modal);
});
newCategoryNameInput.addEventListener('keydown', (event) => {
if (event.key === 'Enter') {
confirmDelete.click();
}
});
}
function renderTasks(tabType, taskDiv) {
const taskList = document.querySelector('.task-list');
if (taskList) {
taskList.remove();
}
const taskListContainer = document.createElement('div');
taskListContainer.classList.add('task-list');
const today = new Date();
today.setHours(0, 0, 0, 0);
const createTaskList = () => {
if (tabType === 'active' || tabType === 'completed') {
let tasksToShow = [];
const tasksCopy = JSON.parse(JSON.stringify(selectedNote.task_content));
tasksCopy.forEach((task, taskIndex) => {
if (tabType === 'active') {
if (task.task_completed === 0 || (task.subTasks && task.subTasks.some(subTask => subTask.task_completed === 0))) {
tasksToShow.push({ ...task, originalTaskIndex: taskIndex });
}
} else { // tabType === 'completed'
if (task.task_completed === 1) {
tasksToShow.push({ ...task, originalTaskIndex: taskIndex });
} else {
task.subTasks.forEach((subTask, subTaskIndex) => {
if (subTask.task_completed === 1) {
tasksToShow.push({
...task,
name: subTask.name,
date: subTask.date,
task_completed: subTask.task_completed,
isSubTask: true,
originalTaskIndex: taskIndex,
originalSubTaskIndex: subTaskIndex,
subTasks: [],
id: subTask.id // Alt görevin kendi ID'sini ekle
});
}
});
}
}
});
return tasksToShow;
} else {
let tasksToShow = [];
const tasksCopy = JSON.parse(JSON.stringify(selectedNote.task_content));
tasksCopy.forEach((task, taskIndex) => {
const taskDate = task.date ? new Date(task.date) : null;
taskDate?.setHours(0, 0, 0, 0);
const isTaskMatch = task.task_completed === 0 && taskDate && (
(tabType === 'today' && taskDate.getTime() === today.getTime()) ||
(tabType === 'overdue' && taskDate < today)
);
const matchingSubtasks = task.subTasks.filter(subTask => {
const subTaskDate = subTask.date ? new Date(subTask.date) : null;
subTaskDate?.setHours(0, 0, 0, 0);
return subTask.task_completed === 0 && subTaskDate && (
(tabType === 'today' && subTaskDate.getTime() === today.getTime()) ||
(tabType === 'overdue' && subTaskDate < today)
);
});
if (isTaskMatch) {
const taskToAdd = {
...task,
originalTaskIndex: taskIndex,
subTasks: task.subTasks
};
tasksToShow.push(taskToAdd);
}
if (matchingSubtasks.length > 0 && !isTaskMatch) {
matchingSubtasks.forEach(subTask => {
const subTaskDate = new Date(subTask.date);
subTaskDate.setHours(0, 0, 0, 0);
if (!taskDate || subTaskDate.getTime() !== taskDate.getTime()) {
tasksToShow.push({
...task,
name: subTask.name,
date: subTask.date,
task_completed: subTask.task_completed,
isSubTask: true,
originalTaskIndex: taskIndex,
originalSubTaskIndex: task.subTasks.findIndex(st => st.name === subTask.name && st.date === subTask.date),
subTasks: [],
id: subTask.id // Alt görevin kendi ID'sini ekle
});
}
});
}
});
return tasksToShow;
}
};
const filteredTasks = createTaskList();
const savedTaskOrder = localStorage.getItem(`taskOrder-${tabType}-${selectedNote.id}`);
let taskOrder = savedTaskOrder ? JSON.parse(savedTaskOrder).map(id => String(id)) : [];
filteredTasks.forEach(task => {
task.id = String(task.id);
});
taskOrder = taskOrder.filter(id => filteredTasks.some(task => task.id === id));
if (taskOrder.length > 0) {
filteredTasks.sort((a, b) => {
const indexA = taskOrder.indexOf(a.id);
const indexB = taskOrder.indexOf(b.id);
return indexA - indexB;
});
}
filteredTasks.forEach(task => {
const taskItemContainer = document.createElement('div');
taskItemContainer.classList.add('task_list_container');
taskItemContainer.dataset.id = task.isSubTask ? task.id : task.id; // Alt görevse kendi ID'sini kullan
taskItemContainer.dataset.type = task.isSubTask ? 'subtask' : 'task'; // Türü ayarla
const task_date_div = document.createElement('div');
task_date_div.classList.add('task_date_div');
const taskspan = document.createElement('span');
taskspan.id = 'renk' + task.color;
taskspan.addEventListener('click', () => {
toggleTaskCompletion(task);
taskItemContainer.remove();
highlightTabsWithContent();
});
const taskdiv = document.createElement('div');
taskdiv.textContent = task.name;
const datediv = document.createElement('div');
datediv.classList.add('date_div');
const togglediv = document.createElement('div');
togglediv.classList.add('togglediv');
datediv.textContent = task.date ? (new Date(task.date).toDateString() === new Date().toDateString() ? translate("today") : (new Date(task.date).toDateString() === new Date(new Date().setDate(new Date().getDate() + 1)).toDateString() ? translate("tomorrow") : `${new Date(task.date).getDate()} ${new Date(task.date).toLocaleString(document.documentElement.lang, { month: 'short' })}` || '')) : '';
const edit_delete_div = document.createElement('div');
edit_delete_div.classList.add('edit_delete_div');
if (tabType === 'active' || tabType === 'today' || tabType === 'overdue') {
const editButton = document.createElement('button');
editButton.classList.add('edit-task-button');
editButton.addEventListener('click', () => {
if (task.isSubTask) {
const originalTask = selectedNote.task_content[task.originalTaskIndex];
const originalSubTask = originalTask.subTasks[task.originalSubTaskIndex];
openSubTaskModalForEdit(originalTask, originalSubTask);
} else {
const originalTask = selectedNote.task_content[task.originalTaskIndex];
openTaskModalForEdit(originalTask);
}
});
edit_delete_div.appendChild(editButton);
}
const deleteButton = document.createElement('button');
deleteButton.classList.add('delete-task-button');
deleteButton.addEventListener('click', () => {
if (confirm(translate("are_you_sure_delete_task"))) {
if (task.isSubTask) {
deleteSubTask(task, task);
} else {
deleteTask(task);
}
taskItemContainer.remove();
}
});
edit_delete_div.appendChild(deleteButton);
const subTasksContainer = document.createElement('div');
subTasksContainer.classList.add('subtasks_list_container');
if (!task.isSubTask) {
task.subTasks.forEach(subTask => {
let showSubTask = false;
if (tabType === 'active' && subTask.task_completed === 0) {
showSubTask = true;
} else if (tabType === 'completed' && subTask.task_completed === 1) {
showSubTask = true;
} else if (tabType === 'today' || tabType === 'overdue') {
const subTaskDate = new Date(subTask.date);
subTaskDate?.setHours(0, 0, 0, 0);
showSubTask = subTask.task_completed === 0 && (
(tabType === 'today' && subTaskDate?.getTime() === today.getTime()) ||
(tabType === 'overdue' && subTaskDate < today)
);
}
if (showSubTask) {
const subtaskspan = document.createElement('span');
subtaskspan.id = 'renk' + task.color;
const subTaskdiv = document.createElement('div');
subTaskdiv.textContent = subTask.name;
const subTaskDate = document.createElement('div');
subTaskDate.classList.add('date_div');
subTaskDate.textContent = subTask.date ? (new Date(subTask.date).toDateString() === new Date().toDateString() ? translate("today") : (new Date(subTask.date).toDateString() === new Date(new Date().setDate(new Date().getDate() + 1)).toDateString() ? translate("tomorrow") : `${new Date(subTask.date).getDate()} ${new Date(subTask.date).toLocaleString(document.documentElement.lang, { month: 'short' })}` || '')) : '';
const sub_edit_delete_div = document.createElement('div');
sub_edit_delete_div.classList.add('sub_edit_delete_div');
if (tabType === 'active' || tabType === 'today' || tabType === 'overdue') {
const subTaskEditButton = document.createElement('button');
subTaskEditButton.classList.add('edit-subtask-button');
subTaskEditButton.addEventListener('click', () => {
const originalTask = selectedNote.task_content[task.originalTaskIndex];
openSubTaskModalForEdit(originalTask, subTask);
});
sub_edit_delete_div.appendChild(subTaskEditButton);
}
const subTaskWrapper = document.createElement('div');
subTaskWrapper.classList.add('subtask_list_wrapper');
subTaskWrapper.dataset.id = subTask.id;
subTaskWrapper.dataset.type = 'subtask';
const subTaskDeleteButton = document.createElement('button');
subTaskDeleteButton.classList.add('delete-subtask-button');
subTaskDeleteButton.addEventListener('click', (e) => {
e.stopPropagation();
if (confirm(translate("are_you_sure_delete_task"))) {
deleteSubTask(task, subTask);
subTaskWrapper.remove();
if (subTasksContainer.children.length === 0) { togglediv.remove(); }
}
});
subtaskspan.addEventListener('click', () => {
const originalTask = selectedNote.task_content[task.originalTaskIndex];
const subTaskIndex = originalTask.subTasks.findIndex(st =>
st.name === subTask.name && st.date === subTask.date && st.task_completed === subTask.task_completed
);
const originalSubTask = originalTask.subTasks[subTaskIndex];
if (originalTask.task_completed === 1) {
originalTask.task_completed = 0;
originalTask.subTasks.forEach(sub => {
sub.task_completed = 0;
});
taskItemContainer.remove();
} else {
originalSubTask.task_completed = 1;
subTaskWrapper.remove();
if (subTasksContainer.children.length === 0) {
togglediv.remove();
}
}
saveData(false);
highlightTabsWithContent();
});
subTaskWrapper.appendChild(subtaskspan);
subTaskWrapper.appendChild(subTaskdiv);
subTaskWrapper.appendChild(subTaskDate);
sub_edit_delete_div.appendChild(subTaskDeleteButton);
subTaskWrapper.appendChild(sub_edit_delete_div);
subTasksContainer.appendChild(subTaskWrapper);
}
});
}
task_date_div.appendChild(taskspan);
task_date_div.appendChild(taskdiv);
task_date_div.appendChild(datediv);
edit_delete_div.appendChild(deleteButton);
task_date_div.appendChild(edit_delete_div);
taskItemContainer.appendChild(task_date_div);
if (!task.isSubTask && subTasksContainer.children.length > 0) {
task_date_div.appendChild(togglediv);
taskItemContainer.appendChild(subTasksContainer);
}
taskListContainer.appendChild(taskItemContainer);
});
taskDiv.appendChild(taskListContainer);
// Sürükle-bırak işlevselliğini etkinleştir
enableDragAndDrop('.task-list', `task-list-${tabType}`, () => updateTaskOrder(tabType), '.task_list_container');
enableDragAndDrop('.subtasks_list_container', `subtasks-list-${tabType}`, () => updateTaskOrder(tabType), '.subtask_list_wrapper');
highlightTabsWithContent();
}
function highlightTabsWithContent() {
// Get references to all tabs
const activeTab = document.querySelector('.tab.active');
const todayTab = document.querySelector('.tab.today');
const overdueTab = document.querySelector('.tab.overdue');
const completedTab = document.querySelector('.tab.completed');
// Function to check if a tab type has content
const hasContent = (tabType) => {
// Create a temporary variable to store the filtered tasks
let filteredTasks = [];
// Copy tasks to work with
const tasksCopy = JSON.parse(JSON.stringify(selectedNote.task_content));
const today = new Date();
today.setHours(0, 0, 0, 0);
// Check for content based on tab type
if (tabType === 'active') {
// Check for active tasks (non-completed tasks or tasks with non-completed subtasks)
return tasksCopy.some(task =>
task.task_completed === 0 ||
(task.subTasks && task.subTasks.some(subTask => subTask.task_completed === 0))
);
}
else if (tabType === 'completed') {
// Check for completed tasks
return tasksCopy.some(task =>
task.task_completed === 1 ||
(task.subTasks && task.subTasks.some(subTask => subTask.task_completed === 1))
);
}
else if (tabType === 'today') {
// Check for tasks due today
return tasksCopy.some(task => {
const taskDate = task.date ? new Date(task.date) : null;
taskDate?.setHours(0, 0, 0, 0);
// Check main task
const isTaskMatch = task.task_completed === 0 && taskDate &&
taskDate.getTime() === today.getTime();
// Check subtasks
const hasMatchingSubtask = task.subTasks.some(subTask => {
const subTaskDate = subTask.date ? new Date(subTask.date) : null;
subTaskDate?.setHours(0, 0, 0, 0);
return subTask.task_completed === 0 && subTaskDate &&
subTaskDate.getTime() === today.getTime();
});
return isTaskMatch || hasMatchingSubtask;
});
}
else if (tabType === 'overdue') {
// Check for overdue tasks
return tasksCopy.some(task => {
const taskDate = task.date ? new Date(task.date) : null;
taskDate?.setHours(0, 0, 0, 0);
// Check main task
const isTaskMatch = task.task_completed === 0 && taskDate &&
taskDate < today;
// Check subtasks
const hasMatchingSubtask = task.subTasks.some(subTask => {
const subTaskDate = subTask.date ? new Date(subTask.date) : null;
subTaskDate?.setHours(0, 0, 0, 0);
return subTask.task_completed === 0 && subTaskDate &&
subTaskDate < today;
});
return isTaskMatch || hasMatchingSubtask;
});
}
return false;
};
// Check and highlight each tab if it has content
if (activeTab && hasContent('active')) {
activeTab.classList.add('active_light');
} else if (activeTab) {
activeTab.classList.remove('active_light');
}
if (todayTab && hasContent('today')) {
todayTab.classList.add('today_light');
} else if (todayTab) {
todayTab.classList.remove('today_light');
}
if (overdueTab && hasContent('overdue')) {
overdueTab.classList.add('overdue_light'); // Fixed the class name (removed space)
} else if (overdueTab) {
overdueTab.classList.remove('overdue_light');
}
if (completedTab && hasContent('completed')) {
completedTab.classList.add('completed_light'); // Fixed the class name (removed space)
} else if (completedTab) {
completedTab.classList.remove('completed_light');
}
}
function loadNoteContent() {
if (selectedNote) {
noteEditor.innerHTML = selectedNote.content;
noteTitleInput.value = selectedNote.title;
const createdAtDate = new Date(selectedNote.createdAt);
const day = String(createdAtDate.getDate()).padStart(2, '0');
const month = String(createdAtDate.getMonth() + 1).padStart(2, '0');
const year = createdAtDate.getFullYear();
const hours = String(createdAtDate.getHours()).padStart(2, '0');
const minutes = String(createdAtDate.getMinutes()).padStart(2, '0');
const formattedDate = `${day}.${month}.${year} ${hours}:${minutes}`;
document.getElementById('note-created-date').textContent = `${formattedDate}`;
if (selectedNote.task_content) {
setupTaskUI();
const taskDiv = document.querySelector('.task_div');
const tabsContainer = document.createElement('div');
tabsContainer.classList.add('tabs-container');
const activeTab = document.createElement('button');
activeTab.textContent = translate("active");
activeTab.classList.add('tab','active','active-tab');
activeTab.addEventListener('click', () => switchTab('active'));
const todayTab = document.createElement('button');
todayTab.textContent = translate("today");
todayTab.classList.add('tab', 'today');
todayTab.addEventListener('click', () => switchTab('today'));
const overdueTab = document.createElement('button');
overdueTab.textContent = translate("overdue");
overdueTab.classList.add('tab', 'overdue');
overdueTab.addEventListener('click', () => switchTab('overdue'));
const completedTab = document.createElement('button');
completedTab.textContent = translate("completed");
completedTab.classList.add('tab', 'completed');
completedTab.addEventListener('click', () => switchTab('completed'));
tabsContainer.appendChild(activeTab);
tabsContainer.appendChild(todayTab);
tabsContainer.appendChild(overdueTab);
tabsContainer.appendChild(completedTab);
taskDiv.appendChild(tabsContainer);
tabsContainer.insertAdjacentHTML('afterend', `<button class="delete-all-completed-button" style="display:none;">${translate("delete_all")}</button>`);
const deleteAllCompletedButton = document.querySelector('.delete-all-completed-button');
deleteAllCompletedButton.addEventListener('click', () => {
if (confirm(translate("are_you_sure_delete_all_completed_tasks"))) {
// Tamamlanmış görevleri ve alt görevleri temizle
selectedNote.task_content.forEach(task => {
if (task.subTasks) {
task.subTasks = task.subTasks.filter(subTask => subTask.task_completed === 0);
}
});
selectedNote.task_content = selectedNote.task_content.filter(task => {
return !(task.task_completed === 1 && (!task.subTasks || task.subTasks.length === 0));
});
// taskOrder-completed anahtarını sil
if (selectedNote && selectedNote.id) {
const completedKey = `taskOrder-completed-${selectedNote.id}`;
localStorage.removeItem(completedKey);
}
// Veriyi kaydet ve arayüzü güncelle
saveData(false);
highlightTabsWithContent();
document.querySelector('.task-list').innerHTML = "";
deleteAllCompletedButton.style.display = 'none';
}
});
function switchTab(tabType) {
renderTasks(tabType, taskDiv);
document.querySelectorAll('.tab').forEach(tab => tab.classList.remove('active-tab'));
const tabMap = {
'active': activeTab,
'today': todayTab,
'overdue': overdueTab,
'completed': completedTab
};
tabMap[tabType].classList.add('active-tab');
deleteAllCompletedButton.style.display = tabType === 'completed' ? 'inline-block' : 'none';
if (tabType === 'completed') {
const hasCompletedTasks = selectedNote.task_content.some(task => {
return task.task_completed === 1 || (task.subTasks && task.subTasks.some(subTask => subTask.task_completed === 1));
});
deleteAllCompletedButton.style.display = hasCompletedTasks ? 'inline-block' : 'none';
if (!hasCompletedTasks) {
document.querySelector('.task-list').innerHTML = '';
}
}
subtasksShow();
}
renderTasks('active', taskDiv);
subtasksShow();
} else {
if (document.querySelector('.task_div')) {
document.querySelector('.task_div').remove();
noteContentIc.classList.remove('note-task');
}
}
document.querySelectorAll('#note-editor a').forEach(link => {
if (link.innerHTML.match(/ /)) {
link.addEventListener('click', function (e) {
e.preventDefault();
window.open(this.href, '_blank');
});
}
});
const checkboxes = editor.querySelectorAll('input[type="checkbox"]');
checkboxes.forEach(checkbox => {
const label = checkbox.nextSibling;
checkbox.addEventListener('change', function () {
if (this.checked) {
label.style.opacity = '0.5';
this.setAttribute('checked', 'checked');
} else {
label.style.opacity = '1';
this.removeAttribute('checked');
}
});
});
} else {
noteEditor.innerHTML = '';
noteTitleInput.value = '';
document.getElementById('note-created-date').textContent = '';
}
}
function subtasksShow() {
document.querySelectorAll('.togglediv').forEach(toggleDiv => {
toggleDiv.addEventListener('click', function() {
this.classList.toggle('active');
const taskContainer = this.closest('.task_list_container');
const subtasksContainer = taskContainer.querySelector('.subtasks_list_container');
subtasksContainer.classList.toggle('show');
if (subtasksContainer.classList.contains('show')) {
subtasksContainer.style.display = 'block';
} else {
subtasksContainer.style.display = 'none';
}
});
});
const taskList = document.getElementsByClassName('task-list')[0];
if (document.querySelector('.thiza_button')) {
document.querySelector('.thiza_button').remove();
}
document.querySelector('.task_div').insertAdjacentHTML('afterbegin', `<button class="thiza_button"></button>`);
const thiza = document.querySelector('.thiza_button');
taskList.classList.toggle('thiza', localStorage.getItem('thizaState') === 'two');
thiza.addEventListener('click', function() {
localStorage.setItem('thizaState', taskList.classList.toggle('thiza') ? 'two' : 'one');
updateGist();
});
}
function toggleTaskCompletion(task) {
if (task.isSubTask) {
const parentTask = selectedNote.task_content[task.originalTaskIndex];
const subTask = parentTask.subTasks[task.originalSubTaskIndex];
subTask.task_completed = subTask.task_completed === 1 ? 0 : 1;
saveData(false);
} else {
const originalTask = selectedNote.task_content[task.originalTaskIndex];
if (originalTask.task_completed === 0) {
originalTask.task_completed = 1;
originalTask.subTasks.forEach(subTask => {
subTask.task_completed = 1;
});
} else {
originalTask.task_completed = 0;
originalTask.subTasks.forEach(subTask => {
subTask.task_completed = 0;
});
}
saveData(false);
}
}
function dateDesign(dateInput) {
const today = new Date().toISOString().split('T')[0];
dateInput.value = today;
const dateWrapper = document.createElement('div');
dateWrapper.style.position = 'relative';
const dateLabel = document.createElement('span');
dateLabel.classList.add('date_span');
dateLabel.textContent = translate("today");
dateInput.addEventListener('change', (e) => {
const selectedDate = new Date(e.target.value);
const today = new Date();
today.setHours(0, 0, 0, 0);
dateLabel.textContent = selectedDate.getTime() === today.getTime() ? translate("today") : e.target.value;
});
dateWrapper.appendChild(dateInput);
dateWrapper.appendChild(dateLabel);
return dateWrapper;
}
function setupTaskUI() {
if (document.querySelector('.task_div')) document.querySelector('.task_div').remove();
const noteContentIc = document.querySelector('.note-content-ic');
noteContentIc.classList.add('note-task');
const taskDiv = document.createElement('div');
taskDiv.classList.add('task_div');
const addTaskButton = document.createElement('button');
addTaskButton.classList.add('gorev_ekle');
taskDiv.appendChild(addTaskButton);
addTaskButton.addEventListener('click', openTaskModal);
noteContentIc.appendChild(taskDiv);
taskDiv.insertAdjacentHTML('afterbegin', `<div id="arrow" class="geriTask">${translate("back")}</div>`);
const geriTask = document.getElementsByClassName('geriTask')[0];
geriTask.addEventListener('click', () => {
noteBar.style.visibility = 'visible';
noteBar.style.display = 'grid';
noteBar.style.width = '100%';
noteContentIc.style.display = 'none';
noteContent.style.display = 'none';
});
}
function openTaskModal() {
const modal = document.createElement('div');
modal.classList.add('modal');
modal.innerHTML = `
<div class="modal-content">
<div id="taskModalContent"></div>
<button class="alt_gorev_ekle">${translate("add_subtask")}</button>
<div class="colors">
<div class="color-option" style="background-color: #b1653d;" data-color="b1653d"></div>
<div class="color-option" style="background-color: #9a900b;" data-color="9a900b"></div>
<div class="color-option" style="background-color: #6c8f20;" data-color="6c8f20"></div>
<div class="color-option" style="background-color: #1490b5;" data-color="1490b5"></div>
<div class="color-option" style="background-color: #1b86f2;" data-color="1b86f2"></div>
<div class="color-option" style="background-color: #527cf8;" data-color="527cf8"></div>
<div class="color-option" style="background-color: #8772ff;" data-color="8772ff"></div>
<div class="color-option" style="background-color: #b34e99;" data-color="b34e99"></div>
<div class="color-option" style="background-color: #bb4141;" data-color="bb4141"></div>
</div>
<button id="saveTasksButton" class="delete-confirm">${translate("save")}</button>
<button id="cancelTasksButton" class="delete-cancel">${translate("cancel")}</button>
</div>`;
document.body.appendChild(modal);
const saveTasksButton = document.getElementById('saveTasksButton');
const cancelTasksButton = document.getElementById('cancelTasksButton');
const taskModalContent = document.getElementById('taskModalContent');
const colorOptions = modal.querySelectorAll('.color-option');
let selectedColor = 'b1653d';
colorOptions.forEach(option => {
option.addEventListener('click', () => {
document.querySelectorAll('.color-option').forEach(opt => opt.classList.remove('selected'));
option.classList.add('selected');
selectedColor = option.getAttribute('data-color');
});
});
colorOptions[0].classList.add('selected');
const taskContainer = document.createElement('div');
taskContainer.classList.add('task_container');
const taskInput = document.createElement('textarea');
taskInput.placeholder = translate("what_to_do");
const dateInput = document.createElement('input');
dateInput.type = 'date';
const dateWrapper = dateDesign(dateInput);
const subTasksContainer = document.createElement('div');
subTasksContainer.classList.add('subtasks_container');
taskContainer.appendChild(taskInput);
taskContainer.appendChild(dateWrapper);
taskContainer.appendChild(subTasksContainer);
taskModalContent.appendChild(taskContainer);
taskInput.focus();
const subTaskButton = document.querySelector('.alt_gorev_ekle');
subTaskButton.addEventListener('click', () => {
const subTaskWrapper = createNewSubTaskWrapper();
subTasksContainer.appendChild(subTaskWrapper);
subTaskWrapper.querySelector('textarea').focus();
});
saveTasksButton.addEventListener('click', () => {
const taskName = taskInput.value.trim();
if (!taskName) {
alert(translate("task_name_cannot_be_empty"));
return;
}
const subTasks = [];
subTasksContainer.querySelectorAll('.subtask_wrapper').forEach(subTaskWrapper => {
const subTaskName = subTaskWrapper.querySelector('textarea').value;
const subTaskDate = subTaskWrapper.querySelector('input[type="date"]').value;
const subTaskId = Date.now() + Math.floor(Math.random() * 1000);
subTasks.push({ name: subTaskName, date: subTaskDate, id: subTaskId, task_completed: 0 });
});
const newTask = {
name: taskName,
date: dateInput.value,
color: selectedColor,
task_completed: 0,
id: Date.now(),
subTasks
};
if (selectedNote && selectedNote.task_content !== null) {
selectedNote.task_content.unshift(newTask);
saveData(false);
renderNotes();
loadNoteContent();
}
document.body.removeChild(modal);
});
cancelTasksButton.addEventListener('click', () => document.body.removeChild(modal));
}
function createDateWrapper(dateInput, initialDate) {
const dateWrapper = document.createElement('div');
dateWrapper.style.position = 'relative';
const dateLabel = document.createElement('span');
dateLabel.classList.add('date_span');
const today = new Date();
today.setHours(0, 0, 0, 0);
const initialDateTime = new Date(initialDate);
initialDateTime.setHours(0, 0, 0, 0);
dateLabel.textContent = initialDateTime.getTime() === today.getTime() ? translate("today") : initialDate;
dateInput.addEventListener('change', (e) => {
const selectedDate = new Date(e.target.value);
selectedDate.setHours(0, 0, 0, 0);
dateLabel.textContent = selectedDate.getTime() === today.getTime() ? translate("today") : e.target.value;
});
dateWrapper.appendChild(dateInput);
dateWrapper.appendChild(dateLabel);
return dateWrapper;
}
function createSubTaskWrapper(subTask) {
const subTaskWrapper = document.createElement('div');
subTaskWrapper.classList.add('subtask_wrapper');
const subTaskInput = document.createElement('textarea');
subTaskInput.placeholder = translate("what_to_do");
subTaskInput.value = subTask.name;
const subTaskDate = document.createElement('input');
subTaskDate.type = 'date';
subTaskDate.value = subTask.date;
const dateWrapper = createDateWrapper(subTaskDate, subTask.date);
const deleteButton = document.createElement('button');
deleteButton.classList.add('delete-subtask-button-modal');
deleteButton.addEventListener('click', () => subTaskWrapper.remove());
subTaskWrapper.appendChild(deleteButton);
subTaskWrapper.appendChild(subTaskInput);
subTaskWrapper.appendChild(dateWrapper);
return subTaskWrapper;
}
function createNewSubTaskWrapper() {
const subTaskWrapper = document.createElement('div');
subTaskWrapper.classList.add('subtask_wrapper');
const subTaskInput = document.createElement('textarea');
subTaskInput.placeholder = translate("what_to_do");
const subTaskDate = document.createElement('input');
subTaskDate.type = 'date';
const dateWrapper = dateDesign(subTaskDate);
const deleteButton = document.createElement('button');
deleteButton.classList.add('delete-subtask-button-modal');
deleteButton.addEventListener('click', () => subTaskWrapper.remove());
subTaskWrapper.appendChild(deleteButton);
subTaskWrapper.appendChild(subTaskInput);
subTaskWrapper.appendChild(dateWrapper);
return subTaskWrapper;
}
function openTaskModalForEdit(task) {
const modal = document.createElement('div');
modal.classList.add('modal');
modal.innerHTML = `
<div class="modal-content">
<div id="taskModalContent"></div>
<button class="alt_gorev_ekle">${translate("add_subtask")}</button>
<div class="colors">
<div class="color-option" style="background-color: #b1653d;" data-color="b1653d"></div>
<div class="color-option" style="background-color: #9a900b;" data-color="9a900b"></div>
<div class="color-option" style="background-color: #6c8f20;" data-color="6c8f20"></div>
<div class="color-option" style="background-color: #1490b5;" data-color="1490b5"></div>
<div class="color-option" style="background-color: #1b86f2;" data-color="1b86f2"></div>
<div class="color-option" style="background-color: #527cf8;" data-color="527cf8"></div>
<div class="color-option" style="background-color: #8772ff;" data-color="8772ff"></div>
<div class="color-option" style="background-color: #b34e99;" data-color="b34e99"></div>
<div class="color-option" style="background-color: #bb4141;" data-color="bb4141"></div>
</div>
<button id="saveTasksButton" class="delete-confirm">${translate("save")}</button>
<button id="cancelTasksButton" class="delete-cancel">${translate("cancel")}</button>
</div>`;
document.body.appendChild(modal);
const saveTasksButton = document.getElementById('saveTasksButton');
const cancelTasksButton = document.getElementById('cancelTasksButton');
const taskModalContent = document.getElementById('taskModalContent');
const colorOptions = modal.querySelectorAll('.color-option');
// Renk seçimi yönetimi
let selectedColor = task.color || 'b1653d';
colorOptions.forEach(option => {
if (option.getAttribute('data-color') === selectedColor) {
option.classList.add('selected');
}
option.addEventListener('click', () => {
colorOptions.forEach(opt => opt.classList.remove('selected'));
option.classList.add('selected');
selectedColor = option.getAttribute('data-color');
});
});
// Task container oluşturma
const taskContainer = document.createElement('div');
taskContainer.classList.add('task_container');
// Task input alanı
const taskInput = document.createElement('textarea');
taskInput.placeholder = translate("what_to_do");
taskInput.value = task.name;
// Tarih input alanı
const dateInput = document.createElement('input');
dateInput.type = 'date';
dateInput.value = task.date;
const dateWrapper = createDateWrapper(dateInput, task.date);
// Alt görevler container
const subTasksContainer = document.createElement('div');
subTasksContainer.classList.add('subtasks_container');
// Mevcut alt görevleri ekle
if (task.subTasks && Array.isArray(task.subTasks)) {
task.subTasks.forEach(subTask => {
const subTaskWrapper = createSubTaskWrapper(subTask);
subTasksContainer.appendChild(subTaskWrapper);
});
}
// Container'a elementleri ekle
taskContainer.appendChild(taskInput);
taskContainer.appendChild(dateWrapper);
taskContainer.appendChild(subTasksContainer);
taskModalContent.appendChild(taskContainer);
// Alt görev ekleme butonu
const subTaskButton = modal.querySelector('.alt_gorev_ekle');
subTaskButton.addEventListener('click', () => {
const subTaskWrapper = createNewSubTaskWrapper();
subTasksContainer.appendChild(subTaskWrapper);
subTaskWrapper.querySelector('textarea').focus();
});
saveTasksButton.addEventListener('click', () => {
const updatedTaskName = taskInput.value.trim();
if (!updatedTaskName) {
alert(translate("task_name_cannot_be_empty"));
return;
}
const taskIndex = selectedNote.task_content.findIndex(t =>
t.name === task.name &&
t.date === task.date &&
t.color === task.color
);
if (taskIndex === -1) {
return;
}
// Alt görevleri topla
const updatedSubTasks = Array.from(subTasksContainer.querySelectorAll('.subtask_wrapper')).map((wrapper, index) => {
const subTaskInput = wrapper.querySelector('textarea');
const subTaskDate = wrapper.querySelector('input[type="date"]');
let subTaskId;
if (task.subTasks && task.subTasks[index] && task.subTasks[index].id) {
subTaskId = task.subTasks[index].id;
} else {
subTaskId = Date.now() + Math.floor(Math.random() * 1000);
}
return {
name: subTaskInput.value.trim(),
date: subTaskDate.value,
id: subTaskId,
task_completed: 0
};
});
selectedNote.task_content[taskIndex] = {
...selectedNote.task_content[taskIndex],
name: updatedTaskName,
date: dateInput.value,
color: selectedColor,
subTasks: updatedSubTasks
};
saveData(false);
renderNotes();
loadNoteContent();
document.body.removeChild(modal);
});
cancelTasksButton.addEventListener('click', () => document.body.removeChild(modal));
}
function openSubTaskModalForEdit(parentTask, subTask) {
const modal = document.createElement('div');
modal.classList.add('modal');
modal.innerHTML = `
<div class="modal-content">
<div id="subTaskModalContent"></div>
<button id="saveSubTaskButton" class="delete-confirm">${translate("save")}</button>
<button id="cancelSubTaskButton" class="delete-cancel">${translate("cancel")}</button>
</div>`;
document.body.appendChild(modal);
const modalContent = document.getElementById('subTaskModalContent');
const subTaskInput = document.createElement('textarea');
subTaskInput.placeholder = translate("what_to_do");
let taskToEdit, subTaskToEdit;
if (subTask.originalTaskIndex !== undefined) {
// Bağımsız alt görev düzenleme
taskToEdit = selectedNote.task_content[subTask.originalTaskIndex];
if (!taskToEdit || !taskToEdit.subTasks || subTask.originalSubTaskIndex >= taskToEdit.subTasks.length) {
document.body.removeChild(modal);
return;
}
subTaskToEdit = taskToEdit.subTasks[subTask.originalSubTaskIndex];
subTaskInput.value = subTaskToEdit.name;
} else {
// Normal alt görev düzenleme
taskToEdit = parentTask;
const subTaskIndex = taskToEdit.subTasks.findIndex(st =>
st.name === subTask.name && st.date === subTask.date && st.id === subTask.id && st.task_completed === subTask.task_completed
);
if (subTaskIndex === -1) {
document.body.removeChild(modal);
return;
}
subTaskToEdit = taskToEdit.subTasks[subTaskIndex];
subTaskInput.value = subTaskToEdit.name;
}
const dateInput = document.createElement('input');
dateInput.type = 'date';
dateInput.value = subTaskToEdit.date;
const dateWrapper = createDateWrapper(dateInput, dateInput.value);
modalContent.appendChild(subTaskInput);
modalContent.appendChild(dateWrapper);
document.getElementById('saveSubTaskButton').addEventListener('click', () => {
const newName = subTaskInput.value.trim();
if (!newName) {
alert(translate("task_name_cannot_be_empty"));
return;
}
subTaskToEdit.name = newName;
subTaskToEdit.date = dateInput.value;
saveData(false);
renderNotes();
loadNoteContent();
document.body.removeChild(modal);
});
document.getElementById('cancelSubTaskButton').addEventListener('click', () => {
document.body.removeChild(modal);
});
}
function deleteTask(task) {
if (task.isSubTask) {
const parentTask = selectedNote.task_content[task.originalTaskIndex];
if (parentTask && parentTask.subTasks) {
parentTask.subTasks = parentTask.subTasks.filter((_, index) => index !== task.originalSubTaskIndex);
if (parentTask.subTasks.length === 0 && parentTask.task_completed === 1) {
selectedNote.task_content = selectedNote.task_content.filter((_, index) => index !== task.originalTaskIndex);
}
}
} else {
const taskIndex = task.originalTaskIndex;
if (taskIndex !== undefined && taskIndex >= 0) {
selectedNote.task_content.splice(taskIndex, 1);
}
}
if (selectedNote && task.id) {
const tabTypes = ['active', 'today', 'overdue', 'completed'];
tabTypes.forEach(tabType => {
const key = `taskOrder-${tabType}-${selectedNote.id}`;
const savedTaskOrder = localStorage.getItem(key);
if (savedTaskOrder) {
let taskOrder = JSON.parse(savedTaskOrder);
if (Array.isArray(taskOrder)) {
taskOrder = taskOrder.filter(id => id.toString() !== task.id.toString());
if (taskOrder.length > 1) {
localStorage.setItem(key, JSON.stringify(taskOrder));
} else {
localStorage.removeItem(key);
}
}
}
});
}
saveData(false);
highlightTabsWithContent();
}
function deleteSubTask(task, subTask) {
const taskIndex = task.originalTaskIndex;
if (taskIndex !== undefined && taskIndex >= 0 && taskIndex < selectedNote.task_content.length) {
const parentTask = selectedNote.task_content[taskIndex];
const subTaskIndex = parentTask.subTasks.findIndex(st =>
st.name === subTask.name && st.date === subTask.date && st.task_completed === subTask.task_completed
);
if (subTaskIndex !== -1) {
parentTask.subTasks.splice(subTaskIndex, 1);
if (parentTask.subTasks.length === 0 && parentTask.task_completed === 1) {
selectedNote.task_content.splice(taskIndex, 1);
}
// Tüm tabType'lar için taskOrder güncellemesi
if (selectedNote && subTask.id) {
const tabTypes = ['active', 'today', 'overdue', 'completed'];
tabTypes.forEach(tabType => {
const key = `taskOrder-${tabType}-${selectedNote.id}`;
const savedTaskOrder = localStorage.getItem(key);
if (savedTaskOrder) {
let taskOrder = JSON.parse(savedTaskOrder);
if (Array.isArray(taskOrder)) {
taskOrder = taskOrder.filter(id => id.toString() !== subTask.id.toString());
if (taskOrder.length > 1) {
localStorage.setItem(key, JSON.stringify(taskOrder));
} else {
localStorage.removeItem(key); // Liste boş veya tek elemanlıysa anahtarı sil
}
}
}
});
}
saveData(false);
highlightTabsWithContent();
}
}
}
function addNote(isTask = false) {
const modal = document.createElement('div');
modal.classList.add('modal');
const labelContent = isTask ? translate("task_title") : translate("note_title");
const alertContent = isTask ? translate("task_title_cannot_be_empty") : translate("note_title_empty");
modal.innerHTML = `
<div class="modal-content">
<label for="newNoteTitle">${labelContent}</label>
<input type="text" id="newNoteTitle">
<div class="colors">
<div class="color-option" style="background-color: #b1653d;" data-color="b1653d"></div>
<div class="color-option" style="background-color: #9a900b;" data-color="9a900b"></div>
<div class="color-option" style="background-color: #6c8f20;" data-color="6c8f20"></div>
<div class="color-option" style="background-color: #1490b5;" data-color="1490b5"></div>
<div class="color-option" style="background-color: #1b86f2;" data-color="1b86f2"></div>
<div class="color-option" style="background-color: #527cf8;" data-color="527cf8"></div>
<div class="color-option" style="background-color: #8772ff;" data-color="8772ff"></div>
<div class="color-option" style="background-color: #b34e99;" data-color="b34e99"></div>
<div class="color-option" style="background-color: #bb4141;" data-color="bb4141"></div>
</div>
<button id="confirmDelete">${translate("add")}</button>
<button id="cancelDelete">${translate("cancel")}</button>
</div>`;
document.body.appendChild(modal);
const newNoteTitleInput = document.getElementById('newNoteTitle');
const confirmDelete = document.getElementById('confirmDelete');
const cancelDelete = document.getElementById('cancelDelete');
const colorOptions = document.querySelectorAll('.color-option');
let selectedColor = 'b1653d';
colorOptions.forEach(option => {
option.addEventListener('click', () => {
document.querySelectorAll('.color-option').forEach(opt => opt.classList.remove('selected'));
option.classList.add('selected');
selectedColor = option.getAttribute('data-color');
});
});
colorOptions[0].classList.add('selected');
newNoteTitleInput.focus();
confirmDelete.addEventListener('click', () => {
const title = newNoteTitleInput.value.trim();
if (!title) {
alert(alertContent);
return;
}
if (!localStorage.getItem('categories') || localStorage.getItem('categories').trim() === '') {
alert(translate("please_add_category_first"));
return;
}
const newNote = {
id: Date.now().toString(),
title: title,
color: selectedColor,
task_content: isTask ? [] : null,
content: isTask ? '' : null,
categories: selectedCategory ? [selectedCategory.id] : [],
createdAt: new Date().toISOString()
};
notes.unshift(newNote);
selectedNote = newNote;
saveData(false);
renderNotes();
loadNoteContent();
noteContentIc.style.display = 'block';
document.body.removeChild(modal);
if (isTask) setupTaskUI();
});
cancelDelete.addEventListener('click', () => document.body.removeChild(modal));
newNoteTitleInput.addEventListener('keydown', (event) => {
if (event.key === 'Enter') confirmDelete.click();
});
}
function enableDragAndDrop(sortableClass, listId, updateOrderCallback, rowSelector = 'li') {
const sortables = document.querySelectorAll(sortableClass);
let draggingEle = null; // Sürüklenen eleman
let placeholder = null; // Yer tutucu eleman
let dragPreviewEl = null; // Sürükleme önizleme elemanı
let currentSortable = null; // Şu anki sıralanabilir alan
let isDragging = false; // Sürükleme aktif mi?
let startX = 0; // Başlangıç X koordinatı
let startY = 0; // Başlangıç Y koordinatı
let offsetX = 0; // X ekseninde kayma
let offsetY = 0; // Y ekseninde kayma
let touchStartTime = 0; // Dokunma başlangıç zamanı
let touchMoved = false; // Dokunma sırasında hareket oldu mu?
let isTouchEvent = false; // Dokunma olayı mı?
let scrollableContainer = null; // Scroll edilebilir container
let scrollSpeed = 15; // Scroll hızı (piksel/frame)
let scrollThreshold = 50; // Scroll eşiği (piksel)
let lastClientY = 0; // Son Y koordinatı
// Sıralanabilir elemanlara olay dinleyicileri ekle
sortables.forEach(sortable => {
const rows = sortable.querySelectorAll(rowSelector);
rows.forEach(row => {
row.addEventListener('mousedown', startDrag);
row.addEventListener('touchstart', startDrag, { passive: false });
});
});
function startDrag(e) {
e.stopPropagation();
// Arama aktifse sürüklemeyi engelle
const lang = document.documentElement.lang;
const searchTerm = lang === "tr" ? noteSearchInput.value.turkishToLower() : noteSearchInput.value.toLowerCase();
const contentSearchTerm = lang === "tr" ? noteContentSearchInput.value.turkishToLower() : noteContentSearchInput.value.toLowerCase();
const isSearchActive = searchTerm || contentSearchTerm;
if (isSearchActive) {
e.preventDefault();
return;
}
// Tooltip'leri gizle
document.querySelectorAll('.tooltip').forEach(tooltip => tooltip.removeAttribute('style'));
draggingEle = this;
currentSortable = draggingEle.closest(sortableClass);
currentListId = listId;
// Scroll edilebilir containerı dinamik olarak bul
scrollableContainer = currentSortable; // Varsayılan olarak currentSortableı kullan
if (scrollableContainer.scrollHeight <= scrollableContainer.clientHeight) {
// Eğer currentSortable scroll edilemezse, üstteki scroll edilebilir elementi bul
let parent = currentSortable.parentElement;
while (parent) {
if (parent.scrollHeight > parent.clientHeight) {
scrollableContainer = parent;
break;
}
parent = parent.parentElement;
}
}
// Olay tipini kontrol et
isTouchEvent = e.type === 'touchstart';
startX = isTouchEvent ? e.touches[0].clientX : e.clientX;
startY = isTouchEvent ? e.touches[0].clientY : e.clientY;
lastClientY = startY;
if (isTouchEvent) {
touchStartTime = new Date().getTime();
}
touchMoved = false;
// Olay dinleyicilerini ekle
document.addEventListener('mousemove', onMove);
document.addEventListener('touchmove', onMove, { passive: false });
document.addEventListener('mouseup', onEnd);
document.addEventListener('touchend', onEnd);
}
function onMove(e) {
const clientX = e.type === 'touchmove' ? e.touches[0].clientX : e.clientX;
const clientY = e.type === 'touchmove' ? e.touches[0].clientY : e.clientY;
const deltaX = Math.abs(clientX - startX);
const deltaY = Math.abs(clientY - startY);
// Sürükleme başlangıcını kontrol et
if (!isDragging && (deltaX > 5 || deltaY > 5)) {
const currentTime = new Date().getTime();
const timeElapsed = isTouchEvent ? currentTime - touchStartTime : 0;
if (!isTouchEvent || (isTouchEvent && timeElapsed >= 700)) {
const spanElement = draggingEle.querySelector('span');
if (spanElement && spanElement.parentElement) {
spanElement.parentElement.classList.add('dragging');
}
const rect = draggingEle.getBoundingClientRect();
offsetX = startX - rect.left;
offsetY = startY - rect.top;
// Sürükleme önizleme elemanı oluştur
dragPreviewEl = draggingEle.cloneNode(true);
dragPreviewEl.id = "drag-preview";
dragPreviewEl.style.position = "fixed";
dragPreviewEl.style.left = `${rect.left}px`;
dragPreviewEl.style.top = `${rect.top}px`;
dragPreviewEl.style.width = `${rect.width}px`;
dragPreviewEl.style.pointerEvents = "none";
dragPreviewEl.style.zIndex = "1000";
document.body.appendChild(dragPreviewEl);
isDragging = true;
touchMoved = true;
draggingEle.style.visibility = 'hidden';
draggingEle.style.height = '0';
draggingEle.style.padding = '0';
}
}
if (isDragging) {
// Önizleme pozisyonunu güncelle
dragPreviewEl.style.left = `${clientX - offsetX}px`;
dragPreviewEl.style.top = `${clientY - offsetY}px`;
// Scrollu sürekli ayarla
lastClientY = clientY;
requestAnimationFrame(() => adjustScroll(clientY));
// Hedef konumu bul ve yer tutucuyu güncelle
const target = document.elementFromPoint(clientX, clientY);
const targetRow = target?.closest(rowSelector);
if (targetRow && targetRow !== draggingEle && targetRow.parentNode === currentSortable) {
const rect = targetRow.getBoundingClientRect();
const next = (clientY - rect.top) > (rect.height / 2);
if (!placeholder) {
placeholder = document.createElement('div');
placeholder.classList.add('placeholder');
}
if (next) {
currentSortable.insertBefore(placeholder, targetRow.nextSibling);
} else {
currentSortable.insertBefore(placeholder, targetRow);
}
}
}
}
function adjustScroll(clientY) {
if (!scrollableContainer || !isDragging) return;
const containerRect = scrollableContainer.getBoundingClientRect();
const topThreshold = containerRect.top + scrollThreshold;
const bottomThreshold = containerRect.bottom - scrollThreshold;
// Öğe yukarı sürükleniyorsa scroll aşağı gider (scrollTop azalır)
if (clientY < topThreshold) {
const distance = topThreshold - clientY;
const speed = Math.min(scrollSpeed * (distance / scrollThreshold), scrollSpeed * 2);
scrollableContainer.scrollTop -= speed;
}
// Öğe aşağı sürükleniyorsa scroll yukarı gider (scrollTop artar)
else if (clientY > bottomThreshold) {
const distance = clientY - bottomThreshold;
const speed = Math.min(scrollSpeed * (distance / scrollThreshold), scrollSpeed * 2);
scrollableContainer.scrollTop += speed;
}
}
function onEnd(e) {
if (!draggingEle || !currentSortable) return;
document.querySelectorAll('.tooltip').forEach(tooltip => tooltip.removeAttribute('style'));
if (isDragging) {
draggingEle.removeAttribute('style');
if (placeholder) {
currentSortable.insertBefore(draggingEle, placeholder);
placeholder.remove();
placeholder = null;
} else {
currentSortable.appendChild(draggingEle);
}
if (currentListId === listId) {
updateOrderCallback();
}
}
const spanElement = draggingEle.querySelector('span');
if (spanElement && spanElement.parentElement) {
spanElement.parentElement.classList.remove('dragging');
}
if (dragPreviewEl) {
dragPreviewEl.remove();
}
document.removeEventListener('mousemove', onMove);
document.removeEventListener('touchmove', onMove);
document.removeEventListener('mouseup', onEnd);
document.removeEventListener('touchend', onEnd);
draggingEle = null;
currentSortable = null;
isDragging = false;
}
}
function updateTaskOrder(tabType) {
const taskListContainer = document.querySelector('.task-list');
if (!taskListContainer) return;
// Görevlerin ve bağımsız alt görevlerin sırasını güncelle
const taskElements = taskListContainer.querySelectorAll('.task_list_container');
const taskOrder = Array.from(taskElements).map(el => el.dataset.id);
localStorage.setItem(`taskOrder-${tabType}-${selectedNote.id}`, JSON.stringify(taskOrder));
// Her görev için alt görevlerin sırasını güncelle
selectedNote.task_content.forEach(task => {
if (task.subTasks && task.subTasks.length > 0) {
const subTaskContainer = document.querySelector(`.task_list_container[data-id="${task.id}"] .subtasks_list_container`);
if (subTaskContainer) {
const subTaskElements = subTaskContainer.querySelectorAll('.subtask_list_wrapper');
const subTaskOrder = Array.from(subTaskElements).map(el => el.dataset.id);
// ID'si undefined veya null olan alt görevleri filtrele
task.subTasks = task.subTasks.filter(subTask => subTask.id !== undefined && subTask.id !== null);
// subTaskOrder'a göre alt görevleri sırala
task.subTasks.sort((a, b) => {
const indexA = subTaskOrder.indexOf(a.id.toString());
const indexB = subTaskOrder.indexOf(b.id.toString());
return indexA - indexB;
});
}
}
});
// Veriyi kaydet
saveData(false);
}
function updateCategoryOrder() {
const categoryList = document.getElementById('category-list');
if (categoryList) {
const categoryOrder = Array.from(categoryList.children)
.filter(li => li.dataset.id)
.map(li => li.dataset.id);
localStorage.setItem('categoryOrder', JSON.stringify(categoryOrder));
updateGist();
}
}
function updateNoteOrder() {
const noteList = document.getElementById('note-list');
if (noteList && selectedCategory) {
const noteOrder = Array.from(noteList.children)
.filter(li => li.dataset.id)
.map(li => li.dataset.id);
localStorage.setItem(`noteOrder-${selectedCategory.id}`, JSON.stringify(noteOrder));
updateGist();
}
}
function saveNote() {
if (selectedNote) {
const resizeHandle = noteEditor.querySelector('.resize-handle');
if (resizeHandle) {
resizeHandle.remove();
}
selectedNote.title = noteTitleInput.value.trim();
const TitleName = noteTitleInput.value.trim();
if (!TitleName || TitleName.trim() === '') {
alert(translate("note_title_empty"));
return;
}
selectedNote.content = noteEditor.innerHTML;
saveData();
renderNotes();
loadNoteContent();
noteContentIc.style.display = 'block';
}
}
function editCategory(category) {
const modal = document.createElement('div');
modal.classList.add('modal');
modal.innerHTML = `
<div class="modal-content">
<input type="text" id="newCategoryName" value="${category.name}">
<div class="colors">
<div class="color-option" style="background-color: #b1653d;" data-color="b1653d"></div>
<div class="color-option" style="background-color: #9a900b;" data-color="9a900b"></div>
<div class="color-option" style="background-color: #6c8f20;" data-color="6c8f20"></div>
<div class="color-option" style="background-color: #1490b5;" data-color="1490b5"></div>
<div class="color-option" style="background-color: #1b86f2;" data-color="1b86f2"></div>
<div class="color-option" style="background-color: #527cf8;" data-color="527cf8"></div>
<div class="color-option" style="background-color: #8772ff;" data-color="8772ff"></div>
<div class="color-option" style="background-color: #b34e99;" data-color="b34e99"></div>
<div class="color-option" style="background-color: #bb4141;" data-color="bb4141"></div>
</div>
<button id="confirmDelete">${translate("add")}</button>
<button id="cancelDelete">${translate("cancel")}</button>
</div>
`;
const deleteButton = document.createElement('button');
deleteButton.innerHTML = `<svg class="feather feather-trash" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/><line x1="10" x2="10" y1="11" y2="17"/><line x1="14" x2="14" y1="11" y2="17"/></svg>`;
deleteButton.classList.add('category-delete-button');
document.body.appendChild(modal);
document.getElementsByClassName('modal-content')[0].appendChild(deleteButton);
deleteButton.addEventListener('click', (event) => {
event.stopPropagation();
deleteCategory(category);
});
const newCategoryName = document.getElementById('newCategoryName');
const confirmDelete = document.getElementById('confirmDelete');
const cancelDelete = document.getElementById('cancelDelete');
const colorOptions = document.querySelectorAll('.color-option');
let selectedColor = category.color;
colorOptions.forEach(option => {
if (option.getAttribute('data-color') === selectedColor) {
option.classList.add('selected');
}
option.addEventListener('click', () => {
document.querySelectorAll('.color-option').forEach(opt => opt.classList.remove('selected'));
option.classList.add('selected');
selectedColor = option.getAttribute('data-color');
});
});
function confirmDeleteName(category) {
const newName = newCategoryName.value.trim();
if (!newName || newName.trim() === '') {
alert(translate("cat_name_empty"));
return;
}
category.name = newName;
category.color = selectedColor;
saveData(false);
renderCategories();
document.body.removeChild(modal);
}
confirmDelete.addEventListener('click', () => {
confirmDeleteName(category);
});
newCategoryName.addEventListener('keydown', (event) => {
if (event.key === 'Enter') {
confirmDeleteName(category);
}
});
cancelDelete.addEventListener('click', () => {
document.body.removeChild(modal);
});
}
function editNote(note) {
const modal = document.createElement('div');
modal.classList.add('modal');
modal.innerHTML = `
<div class="modal-content">
<input type="text" id="newCategoryName" value="${note.title}">
<div class="colors">
<div class="color-option" style="background-color: #b1653d;" data-color="b1653d"></div>
<div class="color-option" style="background-color: #9a900b;" data-color="9a900b"></div>
<div class="color-option" style="background-color: #6c8f20;" data-color="6c8f20"></div>
<div class="color-option" style="background-color: #1490b5;" data-color="1490b5"></div>
<div class="color-option" style="background-color: #1b86f2;" data-color="1b86f2"></div>
<div class="color-option" style="background-color: #527cf8;" data-color="527cf8"></div>
<div class="color-option" style="background-color: #8772ff;" data-color="8772ff"></div>
<div class="color-option" style="background-color: #b34e99;" data-color="b34e99"></div>
<div class="color-option" style="background-color: #bb4141;" data-color="bb4141"></div>
</div>
<button id="confirmDelete">${translate("add")}</button>
<button id="cancelDelete">${translate("cancel")}</button>
</div>
`;
const deleteButton = document.createElement('button');
deleteButton.innerHTML = `<svg class="feather feather-trash" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M3 6h18"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/><line x1="10" x2="10" y1="11" y2="17"/><line x1="14" x2="14" y1="11" y2="17"/></svg>`;
deleteButton.classList.add('category-delete-button');
document.body.appendChild(modal);
document.getElementsByClassName('modal-content')[0].appendChild(deleteButton);
deleteButton.addEventListener('click', (event) => {
event.stopPropagation();
deleteNote(note);
});
const newCategoryName = document.getElementById('newCategoryName');
const confirmDelete = document.getElementById('confirmDelete');
const cancelDelete = document.getElementById('cancelDelete');
const colorOptions = document.querySelectorAll('.color-option');
let selectedColor = note.color;
colorOptions.forEach(option => {
if (option.getAttribute('data-color') === selectedColor) {
option.classList.add('selected');
}
option.addEventListener('click', () => {
document.querySelectorAll('.color-option').forEach(opt => opt.classList.remove('selected'));
option.classList.add('selected');
selectedColor = option.getAttribute('data-color');
});
});
function confirmDeleteName(note) {
const newName = newCategoryName.value.trim();
if (!newName || newName.trim() === '') {
alert(translate("note_title_empty"));
return;
}
note.title = newName;
note.color = selectedColor;
saveData(false);
renderNotes();
loadNoteContent();
document.body.removeChild(modal);
}
confirmDelete.addEventListener('click', () => {
confirmDeleteName(note);
});
newCategoryName.addEventListener('keydown', (event) => {
if (event.key === 'Enter') {
confirmDeleteName(note);
}
});
cancelDelete.addEventListener('click', () => {
document.body.removeChild(modal);
});
}
function deleteNoteInContent() {
const modal = document.createElement('div');
modal.classList.add('modal');
modal.innerHTML = `
<div class="modal-content">
<p>${translate("are_you_sure_delete_note")}</p>
<button id="confirmDelete">${translate("delete")}</button>
<button id="cancelDelete">${translate("cancel")}</button>
</div>
`;
document.body.appendChild(modal);
const confirmDelete = document.getElementById('confirmDelete');
const cancelDelete = document.getElementById('cancelDelete');
const handleKeydown = (event) => {
if (event.key === 'Enter') { handleDelete();}};
const removeModal = () => {
if (modal && modal.parentNode) {
modal.parentNode.removeChild(modal);
document.removeEventListener('keydown', handleKeydown);
}
};
const handleDelete = () => {
if (selectedNote) {
notes = notes.filter(note => note.id !== selectedNote.id);
const savedNoteOrder = localStorage.getItem('noteOrder');
if (savedNoteOrder) {
let noteOrder = JSON.parse(savedNoteOrder);
noteOrder = noteOrder.filter(id => id !== selectedNote.id.toString());
localStorage.setItem('noteOrder', JSON.stringify(noteOrder));
}
if (selectedCategory) {
const savedCategoryNoteOrder = localStorage.getItem(`noteOrder-${selectedCategory.id}`);
if (savedCategoryNoteOrder) {
let categoryNoteOrder = JSON.parse(savedCategoryNoteOrder);
categoryNoteOrder = categoryNoteOrder.filter(id => id !== selectedNote.id.toString());
localStorage.setItem(`noteOrder-${selectedCategory.id}`, JSON.stringify(categoryNoteOrder));
}
}
selectedNote = null;
const windowWidth = window.innerWidth;
if (windowWidth < 1000) {
sidebar.style.display = 'grid';
sidebar.style.width = '100%';
noteContent.style.display = 'none';
}else{
noteContentIc.style.display = 'none';
}
saveData(false);
renderNotes();
}
removeModal();
};
const handleCancel = () => {
removeModal();
};
confirmDelete.addEventListener('click', handleDelete);
cancelDelete.addEventListener('click', handleCancel);
document.addEventListener('keydown', handleKeydown);
}
function deleteNote(note) {
if (!note || !note.id) {
return;
}
const modal = document.createElement('div');
modal.classList.add('modal');
const modalId = `delete-modal-${note.id}`;
modal.id = modalId;
modal.innerHTML = `
<div class="modal-content">
<p>${translate("are_you_sure_delete_note")}</p>
<button id="confirmDelete-${note.id}" class="delete-confirm">${translate("delete")}</button>
<button id="cancelDelete-${note.id}" class="delete-cancel">${translate("cancel")}</button>
</div>
`;
document.body.appendChild(modal);
const confirmDelete = document.getElementById(`confirmDelete-${note.id}`);
const cancelDelete = document.getElementById(`cancelDelete-${note.id}`);
const removeAllModal = () => {
const allModals = document.querySelectorAll('.modal');
allModals.forEach(modalElement => {
if (modalElement && modalElement.parentNode) {
modalElement.parentNode.removeChild(modalElement);
}
});
document.removeEventListener('keydown', handleKeydown);
};
const removeModalChild = () => {
if (modal && modal.parentNode) {
modal.parentNode.removeChild(modal);
document.removeEventListener('keydown', handleKeydown);
}
};
const handleDelete = () => {
// Notu sil
notes = notes.filter(n => n.id !== note.id);
// Not sıralamasını güncelle
const savedNoteOrder = localStorage.getItem('noteOrder');
if (savedNoteOrder) {
let noteOrder = JSON.parse(savedNoteOrder);
noteOrder = noteOrder.filter(id => id !== note.id);
localStorage.setItem('noteOrder', JSON.stringify(noteOrder));
}
// Kategoriye özel not sıralamasını güncelle
if (selectedCategory) {
const savedCategoryNoteOrder = localStorage.getItem(`noteOrder-${selectedCategory.id}`);
if (savedCategoryNoteOrder) {
let categoryNoteOrder = JSON.parse(savedCategoryNoteOrder);
categoryNoteOrder = categoryNoteOrder.filter(id => id !== note.id);
localStorage.setItem(`noteOrder-${selectedCategory.id}`, JSON.stringify(categoryNoteOrder));
}
}
// Silinen nota ait taskOrder- ile başlayan tüm localStorage verilerini temizle
const noteId = String(note.id); // note.id'yi string'e çevir
for (let i = 0; i < localStorage.length; i++) {
const key = localStorage.key(i);
if (key.startsWith('taskOrder-') && key.endsWith(`-${noteId}`)) {
localStorage.removeItem(key);
}
}
// Eğer silinen not seçili not ise, seçimi temizle
if (selectedNote && selectedNote.id === note.id) {
selectedNote = null;
noteContentIc.style.display = 'none';
}
// Verileri kaydet ve notları yeniden render et
saveData(false);
renderNotes();
// Modalı kaldır
removeAllModal();
};
const handleCancel = () => {
removeModalChild();
};
const handleKeydown = (event) => {
if (event.key === 'Enter') {
handleDelete();
}
};
confirmDelete.addEventListener('click', handleDelete);
cancelDelete.addEventListener('click', handleCancel);
document.addEventListener('keydown', handleKeydown);
const cleanup = () => {
document.removeEventListener('keydown', handleKeydown);
};
modal.addEventListener('remove', cleanup);
}
function deleteCategory(category) {
const modal = document.createElement('div');
modal.classList.add('modal');
modal.innerHTML = `
<div class="modal-content">
<p>${translate("warning_category_and_notes_will_be_deleted")}</p>
<button id="confirmDelete" class="confirmDelete-${category.id}">${translate("delete")}</button>
<button id="cancelDelete" class="cancelDelete-${category.id}">${translate("cancel")}</button>
</div>
`;
document.body.appendChild(modal);
const confirmDelete = modal.querySelector(`.confirmDelete-${category.id}`);
const cancelDelete = modal.querySelector(`.cancelDelete-${category.id}`);
const handleKeydown = (event) => {
if (event.key === 'Enter') {
handleDelete();
}
};
const removeAllModal = () => {
const allModals = document.querySelectorAll('.modal');
allModals.forEach(modalElement => {
if (modalElement && modalElement.parentNode) {
modalElement.parentNode.removeChild(modalElement);
}
});
document.removeEventListener('keydown', handleKeydown);
};
const removeModalChild = () => {
if (modal && modal.parentNode) {
modal.parentNode.removeChild(modal);
document.removeEventListener('keydown', handleKeydown);
}
};
const handleDelete = () => {
const notesInCategory = notes.filter(note => note.categories.includes(category.id));
const noteIdsToRemove = notesInCategory.map(note => note.id);
notes = notes.filter(note => !note.categories.includes(category.id));
categories = categories.filter(cat => cat.id !== category.id);
if (selectedCategory && selectedCategory.id === category.id) {
selectedCategory = categories.length > 0 ? categories[0] : null;
}
const savedCategoryOrder = localStorage.getItem('categoryOrder');
if (savedCategoryOrder) {
let categoryOrder = JSON.parse(savedCategoryOrder);
categoryOrder = categoryOrder.filter(id => id !== category.id.toString());
localStorage.setItem('categoryOrder', JSON.stringify(categoryOrder));
}
const savedNoteOrder = localStorage.getItem('noteOrder');
if (savedNoteOrder) {
let noteOrder = JSON.parse(savedNoteOrder);
noteOrder = noteOrder.filter(id => !noteIdsToRemove.includes(Number(id)));
localStorage.setItem('noteOrder', JSON.stringify(noteOrder));
}
localStorage.removeItem(`noteOrder-${category.id}`);
const noteId = String(noteIdsToRemove);
for (let i = 0; i < localStorage.length; i++) {
const key = localStorage.key(i);
if (key.startsWith('taskOrder-') && key.endsWith(`-${noteId}`)) {
localStorage.removeItem(key);
}
}
saveData(false);
renderCategories();
renderNotes();
setTimeout(() => {
noteContentIc.style.display = 'none';
}, 100);
removeAllModal();
};
const handleCancel = () => {
removeModalChild();
};
confirmDelete.addEventListener('click', handleDelete);
cancelDelete.addEventListener('click', handleCancel);
document.addEventListener('keydown', handleKeydown);
}
String.prototype.turkishToLower = function () {
var string = this;
var letters = { "İ": "i", "I": "ı", "Ş": "ş", "Ğ": "ğ", "Ü": "ü", "Ö": "ö", "Ç": "ç" };
return string.replace(/([İIŞĞÜÇÖ])/g, function (letter) {
return letters[letter];
}).toLowerCase();
};
function stripHtmlTags(html) {
if (!html) return '';
return html.replace(/<[^>]*>/g, '').replace(/&nbsp;/g, ' ').replace(/\s+/g, ' ').trim();
}
noteSearchInput.addEventListener('input', renderNotes);
noteContentSearchInput.addEventListener('input', renderNotes);
addCategoryButton.addEventListener('click', addCategory);
addNoteButton.addEventListener('click', () => {addNote(false);});
addTaskButton.addEventListener('click', () => {addNote(true);});
saveNoteButton.addEventListener('click', saveNote);
deleteNoteButton.addEventListener('click', deleteNoteInContent);
loadData();
// localStorage veri al-ver
const getStorageData = () => {
const data = {
categories: JSON.parse(localStorage.getItem('categories')),
categoryOrder: JSON.parse(localStorage.getItem('categoryOrder')),
notes: JSON.parse(localStorage.getItem('notes')),
sidebarState: localStorage.getItem('sidebarState'),
thizaState: localStorage.getItem('thizaState'),
tema: localStorage.getItem('tema'),
gistFile: localStorage.getItem('gistFile'),
gistId: localStorage.getItem('gistId'),
gistToken: localStorage.getItem('gistToken'),
sync: localStorage.getItem('sync'),
hasSelectedLanguage: localStorage.getItem('hasSelectedLanguage'),
selectedLanguage: localStorage.getItem('selectedLanguage')
};
[...Array(localStorage.length)].forEach((_, i) => {
const key = localStorage.key(i);
// Handle both noteOrder and taskOrder keys
if (key?.startsWith('noteOrder-') || key?.startsWith('taskOrder-')) {
data[key] = JSON.parse(localStorage.getItem(key));
}
});
return data;
};
document.getElementById('export').addEventListener('click', () => {
const d = new Date();
const filename = `notemod-${d.getDate().toString().padStart(2,'0')}.${(d.getMonth()+1).toString().padStart(2,'0')}.${d.getFullYear()}.txt`;
const a = document.createElement('a');
a.href = URL.createObjectURL(new Blob([JSON.stringify(getStorageData(), null, 2)], {type: 'application/json'}));
a.download = filename;
a.click();
URL.revokeObjectURL(a.href);
});
document.getElementById('import').addEventListener('click', () => {
const input = document.createElement('input');
input.type = 'file';
input.accept = '.txt';
input.addEventListener('change', async e => {
const data = JSON.parse(await e.target.files[0].text());
[...Array(localStorage.length)].forEach((_, i) => {
const key = localStorage.key(i);
if (key?.startsWith('noteOrder-') || key?.startsWith('taskOrder-')) {
localStorage.removeItem(key);
}
});
Object.entries(data).forEach(([k, v]) => {
if (k === 'sidebarState' || k === 'thizaState' || k === 'tema' ||
k === 'gistFile' || k === 'gistId' || k === 'gistToken' ||
k === 'hasSelectedLanguage' || k === 'selectedLanguage' || k === 'sync') {
localStorage.setItem(k, v);
} else {
localStorage.setItem(k, JSON.stringify(v));
}
});
alert(translate("data_imported_successfully"));
try {
await new Promise(resolve => {
updateGist();
setTimeout(resolve, 1000);
});
} catch (error) {
console.error("Gist güncelleme hatası:", error);
}
setTimeout(() => {location.reload();}, 700);
});
input.click();
});
//gist veri ekleme
let gistUpdateTimeout;
let isUpdating = false;
const updateGist = () => {
clearTimeout(gistUpdateTimeout);
gistUpdateTimeout = setTimeout(async () => {
if (isUpdating) return;
isUpdating = true;
try {
const yeniIcerik = JSON.stringify(getStorageData(), null, 2);
const gistId = localStorage.getItem('gistId');
const gistToken = localStorage.getItem('gistToken');
const gistFile = localStorage.getItem('gistFile');
if (gistId) {
await gistGuncelle(gistId, gistFile, yeniIcerik, gistToken);
}
} finally {
isUpdating = false;
}
}, 500);
};
async function gistGuncelle(gistId, dosyaAdi, yeniIcerik, token) {
try {
const eskiSyncDegeri = localStorage.getItem('sync');
let parsedIcerik;
try {
parsedIcerik = JSON.parse(yeniIcerik);
} catch (e) {
throw new Error('yeniIcerik JSON formatında değil');
}
parsedIcerik.sync = '1';
const guncelIcerik = JSON.stringify(parsedIcerik, null, 2);
const response = await fetch(`https://api.github.com/gists/${gistId}`, {
method: "PATCH",
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
files: {
[dosyaAdi]: {
content: guncelIcerik,
},
},
}),
});
if (!response.ok) {
throw new Error('Gist güncelleme hatası');
}
localStorage.setItem('sync', '1');
document.querySelector('button#sync').classList.add('aktif');
if (eskiSyncDegeri === '0') {
alert(translate("sync_active"));
}
return true;
} catch (error) {
if (localStorage.getItem('sync') === '1') {
document.querySelector('button#sync').classList.remove('aktif');
alert(translate("sync_error_message"));
localStorage.setItem('sync', '0');
}
console.log('Gist güncelleme hatası:', error.message);
return false;
}
}
async function gistKontrol(gistId, token, gistFile) {
try {
const response = await fetch(`https://api.github.com/gists/${gistId}`, {
method: "GET",
headers: {
Authorization: `Bearer ${token}`,
},
});
if (!response.ok) {
throw new Error(`Gist kontrol hatası: ${response.status}`);
}
const gistData = await response.json();
if (!gistData.files || !gistData.files[gistFile]) {
throw new Error(`Dosya bulunamadı: ${gistFile}`);
}
return true;
} catch (error) {
console.error("Gist kontrolünde hata mevcut", error);
return false;
}
}
const gistId = localStorage.getItem('gistId');
const gistToken = localStorage.getItem('gistToken');
const gistFile = localStorage.getItem('gistFile');
//gist end
const sync = document.getElementById('sync');
sync.addEventListener('click', () => {
const modal = document.createElement('div');
modal.classList.add('modal');
modal.innerHTML = `
<div class="modal-content">
<p>${translate("sync")}</p>
<label for="gistId">Gist ID:</label>
<input type="text" id="gistId">
<label for="gistToken">Gist Token:</label>
<input type="text" id="gistToken">
<label for="gistFile">Gist Name:</label>
<input type="text" id="gistFile">
<p id="sync_kurulum">${translate("setup_details")}</p>
<p class="baglanti">${translate("backup_data_before_connection")}</p>
<button id="saveSync" class="delete-confirm">${translate("save")}</button>
<button id="cancelDelete">${translate("cancel")}</button>
<p id="uyariMesaji">${translate("please_fill_all_fields")}</p>
<p id="gistHataMesaji">${translate("gist_info_error_or_server_unreachable")}</p>
</div>
`;
document.body.appendChild(modal);
document.getElementById('sync_kurulum').addEventListener('click', () => {
const modal_kurulum = document.createElement('div');
modal_kurulum.classList.add('modal');
modal_kurulum.innerHTML = `
<div class="modal-content">
<h1>${translate("installation_steps")}</h1>
<p>${translate("create_github_account")} <a href="https://github.com/signup" target="_blank">https://github.com/signup</a></p>
<p>${translate("open_app_creation_page")} <a href="https://github.com/settings/apps" target="_blank">https://github.com/settings/apps</a></p>
<p>${translate("select_personal_access_tokens")}</p>
<p>${translate("click_generate_new_token")}</p>
<p>${translate("name_your_token")}</p>
<p>${translate("set_expiration_no_expiration")}</p>
<p>${translate("repository_access_public_repos")}</p>
<p>${translate("set_permissions_for_gist")}</p>
<p>${translate("click_generate_token")}</p>
<p style="color: #d6adff;">${translate("enter_token_in_setup")}</p>
<h2>${translate("create_file_for_sync")}</h2>
<p>${translate("go_to_gist_page")} <a href="https://gist.github.com" target="_blank">gist.github.com</a></p>
<p>${translate("specify_filename")}</p>
<p style="color: #d6adff;">${translate("enter_gist_name_in_setup")}</p>
<p>${translate("write_something_below_filename")}</p>
<p>${translate("select_create_secret_gist")}</p>
<p>${translate("copy_embed_content")}</p>
<p><code>&lt;script src="https://gist.github.com/user/1bae985fef7d26eca0a0a8128fbb97e8.js"&gt;&lt;/script&gt;</code></p>
<p>${translate("copy_id_after_username")}</p>
<p>${translate("example_id")} 1bae985fef7d26eca0a0a8128fbb97e8</p>
<p style="color: #d6adff;">${translate("enter_gist_id_in_setup")}</p>
<button id="veriGetir" class="delete-confirm">${translate("understood")}</button>
</div>
`;
document.body.appendChild(modal_kurulum);
document.getElementById('veriGetir').addEventListener('click', () => {
document.body.removeChild(modal_kurulum);
});
});
if (gistId) document.getElementById('gistId').value = gistId;
if (gistToken) document.getElementById('gistToken').value = gistToken;
if (gistFile) document.getElementById('gistFile').value = gistFile;
const cancelDelete = document.getElementById('cancelDelete');
cancelDelete.addEventListener('click', () => {
document.body.removeChild(modal);
});
const saveSync = document.getElementById('saveSync');
saveSync.addEventListener('click', async () => {
const gistId = document.getElementById('gistId').value.trim();
const gistToken = document.getElementById('gistToken').value.trim();
const gistFile = document.getElementById('gistFile').value.trim();
const uyariMesaji = document.getElementById('uyariMesaji');
const gistHataMesaji = document.getElementById('gistHataMesaji');
if (gistId === '' || gistToken === '' || gistFile === '') {
uyariMesaji.style.display = 'block';
gistHataMesaji.style.display = 'none';
return;
}
uyariMesaji.style.display = 'none';
const testResult = await gistKontrol(gistId, gistToken, gistFile);
if (testResult) {
localStorage.setItem('gistId', gistId);
localStorage.setItem('gistToken', gistToken);
localStorage.setItem('gistFile', gistFile);
document.body.removeChild(modal);
document.querySelector('button#sync').classList.add('aktif');
localStorage.setItem('sync', '1');
const modalveri = document.createElement('div');
modalveri.classList.add('modal');
modalveri.innerHTML = `
<div class="modal-content">
<p>${translate("sync_successful")}</p>
<button id="veriGetir" class="delete-confirm">${translate("fetch_data")}</button>
<button id="cancelDelete">${translate("initial_setup")}</button>
</div>
`;
document.body.appendChild(modalveri);
document.getElementById('veriGetir').addEventListener('click', () => {
window.location.reload(true);
});
document.getElementById('cancelDelete').addEventListener('click', () => {
updateGist();
document.body.removeChild(modalveri);
});
} else {
gistHataMesaji.style.display = 'block';
}
});
});
});
// Editör fonksiyonları
function formatDoc(cmd, value = null) {
document.execCommand(cmd, false, value);
}
let lastCaretPosition = null;
document.getElementById('note-editor').addEventListener('click', () => {
const selection = window.getSelection();
if (selection.rangeCount > 0) {
lastCaretPosition = selection.getRangeAt(0);
}
});
// Yazı boyutunu küçült-büyüt
window.onload = function () {
const buyutButton = document.getElementById("buyut");
const kucultButton = document.getElementById("kucult");
if (document.documentElement.lang === "ar" || document.documentElement.lang === "fa") {
var fontSize = 28;
} else {
var fontSize = 17;
}
buyutButton.addEventListener("click", () => {
fontSize++;
updateFontSizes();
});
kucultButton.addEventListener("click", () => {
fontSize--;
updateFontSizes();
});
function updateFontSizes() {
editor.style.fontSize = fontSize + "px";
editor.querySelectorAll("h1").forEach(h1 => {
h1.style.fontSize = (fontSize * 1.235295) + "px";
});
editor.querySelectorAll("h2").forEach(h2 => {
h2.style.fontSize = (fontSize * 1.058826) + "px";
});
editor.querySelectorAll("th, td").forEach(cell => {
cell.style.fontSize = fontSize + "px";
});
}
};
//sağ tık düzenlemeleri
const contextMenu = document.createElement('div');
contextMenu.id = 'sag-tik';
const menuItem = document.createElement('div');
menuItem.className = 'sag-tik-buton';
menuItem.textContent = translate("paste_as_text");
const pasteItem = document.createElement('div');
pasteItem.className = 'sag-tik-buton';
pasteItem.textContent = translate("paste");
const copyItem = document.createElement('div');
copyItem.className = 'sag-tik-buton';
copyItem.textContent = translate("copy");
copyItem.style.display = 'none';
const cutItem = document.createElement('div');
cutItem.className = 'sag-tik-buton';
cutItem.textContent = translate("cut");
cutItem.style.display = 'none';
function wResize() {
const windowWidth = window.innerWidth;
if (windowWidth > 1000) {
contextMenu.append(menuItem, pasteItem, copyItem, cutItem);
document.body.appendChild(contextMenu);
let mouseX = 0, mouseY = 0;
document.addEventListener('mousemove', e => { mouseX = e.pageX; mouseY = e.pageY });
const handleContextMenu = (e, t) => {
if (!editor.contains(e.target)) { contextMenu.style.display = 'none'; return }
e.preventDefault();
const selection = window.getSelection();
const hasSelection = selection.toString().trim() !== '';
copyItem.style.display = hasSelection ? 'block' : 'none';
cutItem.style.display = hasSelection ? 'block' : 'none';
let [x, y] = ['paste' === t ? mouseX : e.pageX, 'paste' === t ? mouseY : e.pageY];
const w = contextMenu.offsetWidth, h = contextMenu.offsetHeight;
x = Math.max(0, Math.min(x, window.innerWidth - w));
y = Math.max(0, Math.min(y, window.innerHeight - h));
contextMenu.style.cssText = `display:block;left:${x}px;top:${y}px`;
};
window.addEventListener('contextmenu', e => handleContextMenu(e, 'contextmenu'));
window.addEventListener('paste', e => handleContextMenu(e, 'paste'));
document.addEventListener('click', () => contextMenu.style.display = 'none');
menuItem.addEventListener('click', async e => {
contextMenu.style.display = 'none';
e.preventDefault();
const text = await navigator.clipboard.readText();
const lines = text.split('\n');
const insert = (p, pos) => lines.forEach((l, i) => {
const t = document.createTextNode(l);
pos ? (pos.insertNode(t), pos.setStartAfter(t)) : p.appendChild(t);
if (i < lines.length - 1) {
const b = document.createElement('br');
pos ? (pos.insertNode(b), pos.setStartAfter(b)) : p.appendChild(b);
}
});
lastCaretPosition ? (lastCaretPosition.deleteContents(), insert(null, lastCaretPosition)) : insert(editor);
});
pasteItem.addEventListener('click', async e => {
contextMenu.style.display = 'none';
e.preventDefault();
const items = await navigator.clipboard.read();
for (const i of items) if (i.types.includes('text/html')) {
const html = await (await i.getType('text/html')).text();
const d = document.createElement('div');
d.innerHTML = html;
d.querySelectorAll('*').forEach(e => { e.removeAttribute('style'); e.removeAttribute('class') });
if (lastCaretPosition) {
const f = document.createDocumentFragment();
while (d.firstChild) f.appendChild(d.firstChild);
lastCaretPosition.deleteContents();
lastCaretPosition.insertNode(f);
} else editor.insertAdjacentHTML('beforeend', d.innerHTML);
//not içinde her türlü link çalışsın
document.querySelectorAll('#note-editor a').forEach(link => {
if (link.innerHTML.match(/<.*>/)) {
link.addEventListener('click', function (e) {
e.preventDefault();
window.open(this.href, '_blank');
});
}
});
return;
}
const text = await navigator.clipboard.readText();
lastCaretPosition ? (lastCaretPosition.deleteContents(), lastCaretPosition.insertNode(document.createTextNode(text))) : editor.appendChild(document.createTextNode(text));
});
copyItem.addEventListener('click', e => {
contextMenu.style.display = 'none';
e.preventDefault();
if (lastCaretPosition) {
const tempDiv = document.createElement('div');
tempDiv.appendChild(lastCaretPosition.cloneContents());
navigator.clipboard.write([
new ClipboardItem({
'text/html': new Blob([tempDiv.innerHTML], {type: 'text/html'}),
'text/plain': new Blob([tempDiv.textContent], {type: 'text/plain'})
})
]);
}
});
cutItem.addEventListener('click', e => {
contextMenu.style.display = 'none';
e.preventDefault();
if (lastCaretPosition) {
const tempDiv = document.createElement('div');
tempDiv.appendChild(lastCaretPosition.cloneContents());
navigator.clipboard.write([
new ClipboardItem({
'text/html': new Blob([tempDiv.innerHTML], {type: 'text/html'}),
'text/plain': new Blob([tempDiv.textContent], {type: 'text/plain'})
})
]);
lastCaretPosition.deleteContents();
}
});
}
}
window.addEventListener('DOMContentLoaded', wResize);
//htmlEkleme
function htmlEkle() {
const modal = document.createElement('div');
modal.className = 'modal';
modal.innerHTML = `
<div class="modal-content">
<p>${translate("add_html_code")}</p>
<textarea></textarea>
<button id="confirmDelete">${translate("add")}</button>
<button id="cancelDelete">${translate("cancel")}</button>
</div>
`;
document.body.appendChild(modal);
const textarea = modal.querySelector('textarea');
textarea.focus();
modal.addEventListener('click', (e) => {
if (e.target.id === 'confirmDelete' && textarea.value.trim()) {
const tempDiv = document.createElement('div');
tempDiv.innerHTML = textarea.value;
if (lastCaretPosition) {
lastCaretPosition.deleteContents();
lastCaretPosition.insertNode(tempDiv);
} else {
const editor = document.getElementById('note-editor');
editor.insertBefore(tempDiv, editor.firstChild);
}
}
if (e.target.id === 'confirmDelete' || e.target.id === 'cancelDelete' || e.target === modal) {
modal.remove();
}
});
}
//tabloEkle
const C = { M: 10, Z: '\u200B' };
const d = document;
const ce = d.createElement.bind(d);
const df = d.createDocumentFragment();
function createGrid() {
const g = ce('div');
g.className = 'table-grid';
const t = ce('div');
t.className = 'grid-cell';
for (let i = 0; i < 25; i++) df.appendChild(t.cloneNode(true));
g.appendChild(df);
return g;
}
function tabloEkle() {
const m = ce('div'), s = { r: 0, c: 0 };
m.className = 'modal';
m.innerHTML = `<div class="modal-content"><p>${translate("select_table_size")}</p><div class="grid"></div><button id="cancelDelete">${translate("cancel")}</button></div>`;
const g = m.querySelector('.grid');
for (let i = 1; i <= C.M; i++) for (let j = 1; j <= C.M; j++) {
const c = ce('div');
c.className = 'cell';
c.dataset.row = i;
c.dataset.col = j;
g.appendChild(c);
}
g.addEventListener('mouseover', e => {
if (e.target.classList.contains('cell')) {
s.r = +e.target.dataset.row;
s.c = +e.target.dataset.col;
highlightCells(s.r, s.c);
}
});
g.addEventListener('click', e => {
if (e.target.classList.contains('cell')) {
insertTable(s.r, s.c);
m.remove();
}
});
m.querySelector('#cancelDelete').addEventListener('click', () => m.remove());
d.body.appendChild(m);
}
function highlightCells(r, c) {
d.querySelectorAll('.cell').forEach(e =>
e.classList.toggle('selected', +e.dataset.row <= r && +e.dataset.col <= c)
);
}
function insertTable(r, c) {
const h = `<th>${C.Z}</th>`.repeat(c);
const cl = `<td>${C.Z}</td>`.repeat(c);
const t = ce('div');
t.innerHTML = `<table><thead><tr>${h}</tr></thead><tbody>${`<tr>${cl}</tr>`.repeat(r - 1)}</tbody></table>`;
if (lastCaretPosition) {
lastCaretPosition.deleteContents();
lastCaretPosition.insertNode(t);
lastCaretPosition.collapse(false);
} else {
d.getElementById('note-editor').insertBefore(t, d.getElementById('note-editor').firstChild);
}
}
const noteEditor = document.getElementById('note-editor');
noteEditor.addEventListener('mouseup', updateCaretPosition);
noteEditor.addEventListener('keyup', updateCaretPosition);
noteEditor.addEventListener('focus', updateCaretPosition);
function updateCaretPosition() {
const sel = window.getSelection();
if (sel.getRangeAt && sel.rangeCount) {
lastCaretPosition = sel.getRangeAt(0);
} else if (document.getSelection) {
const sel = document.getSelection();
if (sel.getRangeAt && sel.rangeCount) {
lastCaretPosition = sel.getRangeAt(0);
}
}
}
window.addEventListener('DOMContentLoaded', updateCaretPosition);
// Tablo resize
const CURSOR_PADDING = 8;
const MIN_WIDTH = 20;
const MIN_HEIGHT = 50;
const DEFAULT_WIDTH = '40%';
const editor = document.getElementById('note-editor');
const state = {isResizing: false,currentTable: null,currentTh: null,startX: 0,startY: 0,startDimensions: {width: 0,height: 0,percentage: 0,thWidth: 0}
};
const calculatePercentage = (pixelWidth) => (pixelWidth / editor.offsetWidth) * 100;
const createResizeHandle = () => {
const handle = document.createElement('div');
handle.className = 'resize-handle';
handle.innerHTML = '↘';
handle.style.display = 'none';
return handle;
};
const toggleResizeHandle = (table, show) => {
if (!table) return;
const handle = table.querySelector('.resize-handle') ||
(show && (() => {
const h = createResizeHandle();
table.style.position = 'relative';
table.appendChild(h);
return h;
})());
if (handle) handle.style.display = show ? 'block' : 'none';
};
const resetState = () => {
if (state.currentTable) state.currentTable.style.cursor = 'auto';
if (state.currentTh) state.currentTh.style.cursor = 'auto';
Object.assign(state, {
isResizing: false,
currentTable: null,
currentTh: null
});
document.body.style.userSelect = '';
};
const handleTableResize = (e, table) => {
const rect = table.getBoundingClientRect();
const isCorner = Math.abs(e.clientX - rect.right) <= CURSOR_PADDING &&
Math.abs(e.clientY - rect.bottom) <= CURSOR_PADDING;
const isRight = !isCorner && Math.abs(e.clientX - rect.right) <= CURSOR_PADDING;
table.style.cursor = isCorner ? 'se-resize' : isRight ? 'col-resize' : 'auto';
return { isCorner, isRight };
};
const handleCellResize = (e, cell, isHeader) => {
if (!cell || (isHeader && cell === cell.parentNode.lastElementChild)) return false;
const rect = cell.getBoundingClientRect();
const isResizeArea = Math.abs(e.clientX - rect.right) <= CURSOR_PADDING;
cell.style.cursor = isResizeArea ? 'col-resize' : 'auto';
return isResizeArea;
};
editor.addEventListener('mousedown', (e) => {
const table = e.target.closest('table');
if (!table) return;
const handle = table.querySelector('.resize-handle');
const { isCorner, isRight } = handleTableResize(e, table);
if (isCorner && handle && e.target === handle) {
Object.assign(state, {isResizing: 'corner',currentTable: table,startX: e.clientX,startY: e.clientY,startDimensions: {width: table.offsetWidth,height: table.offsetHeight}});
} else if (isRight) {
Object.assign(state, {isResizing: 'width',currentTable: table,startX: e.clientX,startDimensions: {percentage: calculatePercentage(table.offsetWidth)}});
} else {
const cell = e.target.closest('th, td');
if (!cell) return;
const isHeader = cell.tagName === 'TH';
const targetCell = isHeader ? cell :
table.querySelectorAll('th')[Array.from(cell.parentNode.children).indexOf(cell)];
if (handleCellResize(e, targetCell, isHeader)) {
Object.assign(state, {isResizing: 'column',currentTh: targetCell,startX: e.clientX,startDimensions: {thWidth: targetCell.offsetWidth}});
}
}
if (state.isResizing) {
document.body.style.userSelect = 'none';
e.preventDefault();
}
});
document.addEventListener('mousemove', (e) => {
if (!state.isResizing) {
const table = e.target.closest('table');
if (table) {
handleTableResize(e, table);
const cell = e.target.closest('th, td');
if (cell) handleCellResize(e, cell, cell.tagName === 'TH');
}
return;
}
if (state.currentTable) {
switch (state.isResizing) {
case 'corner':
const newWidth = Math.max(MIN_WIDTH, state.startDimensions.width + (e.clientX - state.startX));
const newHeight = Math.max(MIN_HEIGHT, state.startDimensions.height + (e.clientY - state.startY));
state.currentTable.style.width = `${newWidth}px`;
state.currentTable.style.height = `${newHeight}px`;
break;
case 'width':
const deltaPercentage = calculatePercentage(e.clientX - state.startX);
const newPercentage = Math.max(MIN_WIDTH, Math.min(100, state.startDimensions.percentage + deltaPercentage));
state.currentTable.style.width = `${newPercentage}%`;
break;
}
} else if (state.isResizing === 'column' && state.currentTh) {
const newWidth = Math.max(10, state.startDimensions.thWidth + (e.clientX - state.startX));
const newPercentage = (newWidth / state.currentTh.closest('table').offsetWidth) * 100;
Array.from(state.currentTh.closest('table').querySelectorAll('tr'))
.forEach(row => {
const cell = row.children[Array.from(state.currentTh.parentNode.children).indexOf(state.currentTh)];
if (cell) cell.style.width = `${newPercentage}%`;
});
}
});
document.addEventListener('mouseup', resetState);
editor.addEventListener('click', (e) => {
const table = e.target.closest('table');
if (table && !table.style.width) table.style.width = DEFAULT_WIDTH;
});
editor.addEventListener('mouseover', e => {
const table = e.target.closest('table');
if (table) toggleResizeHandle(table, true);
});
editor.addEventListener('mouseout', e => {
const table = e.target.closest('table');
if (table) toggleResizeHandle(table, false);
});
//selectAllText
function selectAllText() {
const editor = document.getElementById('note-editor');
if (window.getSelection) {
const selection = window.getSelection();
const range = document.createRange();
range.selectNodeContents(editor);
selection.removeAllRanges();
selection.addRange(range);
}
}
function createLink() {
const selection = window.getSelection();
if (!selection || selection.rangeCount === 0 || selection.toString().trim() === '') {
alert(translate("please_select_text_first"));
return;
}
const range = selection.getRangeAt(0);
const modal = document.createElement('div');
modal.classList.add('modal');
modal.innerHTML = `
<div class="modal-content">
<p>${translate("add_link")}</p>
<input type="url" id="urlInput" class="url-input" placeholder="https://example.com" value="https://example.com">
<button id="confirmDelete">${translate("add")}</button>
<button id="cancelDelete">${translate("cancel")}</button>
</div>
`;
document.body.appendChild(modal);
const urlInput = modal.querySelector('#urlInput');
const confirmDelete = modal.querySelector('#confirmDelete');
const cancelDelete = modal.querySelector('#cancelDelete');
urlInput.focus();
urlInput.select();
function handleConfirm() {
const url = urlInput.value;
if (url) {
const link = document.createElement('a');
link.href = url;
range.surroundContents(link);
selection.removeAllRanges();
}
closeModal();
}
function handleCancel() {closeModal();}
function closeModal() {
document.body.removeChild(modal);
document.removeEventListener('keydown', handleKeydown);
}
function handleKeydown(event) {
if (event.key === 'Enter') {
handleConfirm();
}
}
confirmDelete.addEventListener('click', handleConfirm);
cancelDelete.addEventListener('click', handleCancel);
document.addEventListener('keydown', handleKeydown);
modal.addEventListener('click', (e) => {
if (e.target === modal) {
handleCancel();
}
});
}
document.getElementById('note-editor').addEventListener('click', function (event) {
const target = event.target;
if (target.tagName === 'A') {
event.preventDefault();
window.open(target.href, '_blank');
}
});
function openColorPicker() {
const colorPicker = document.getElementById('color-picker');
colorPicker.click();
}
function setTextColor(color) {
formatDoc('foreColor', color);
}
document.getElementById('color-picker').addEventListener('input', function (event) {
const selectedColor = event.target.value;
setTextColor(selectedColor);
const colorButton = document.getElementById('color-button');
colorButton.style.backgroundColor = selectedColor;
});
</script>
</body>
</html>