Compare commits

..

No commits in common. "dc44bd22d7cc0c6a123305005836b04e53c7d595" and "76da6aed0e54b0ab6bef32028a51f46a2cdce2e0" have entirely different histories.

2 changed files with 27 additions and 52 deletions

View file

@ -1,4 +1,3 @@
//#region imports
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import { applyTheme } from './theme'; import { applyTheme } from './theme';
import { exportSettings, importSettings } from './settingUtils'; // Import utility functions import { exportSettings, importSettings } from './settingUtils'; // Import utility functions
@ -35,8 +34,6 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
return false; // Default to false if item is null or empty return false; // Default to false if item is null or empty
}; };
//#region variables
// Active section // Active section
const [activeSection, setActiveSection] = useState(() => localStorage.getItem('activeSection') || 'general'); const [activeSection, setActiveSection] = useState(() => localStorage.getItem('activeSection') || 'general');
@ -290,7 +287,6 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
{ value: "'Zilla Slab Highlight', serif", label: 'Zilla Slab Highlight' }, { value: "'Zilla Slab Highlight', serif", label: 'Zilla Slab Highlight' },
]; ];
//#region Start of the code
const handleLogout = () => { const handleLogout = () => {
localStorage.clear(); localStorage.clear();
alert('Successfully logged out!'); alert('Successfully logged out!');
@ -383,11 +379,10 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
} }
}; };
//#region rendered content
// Render settings content based on the active section // Render settings content based on the active section
const renderSettingsContent = () => { const renderSettingsContent = () => {
switch (activeSection) { switch (activeSection) {
//#region general
case 'general': case 'general':
return ( return (
<div className="settings-section"> <div className="settings-section">
@ -444,7 +439,6 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
); );
case 'privacy': case 'privacy':
//#region privacy
return ( return (
<div className="settings-section"> <div className="settings-section">
<h2>Privacy Settings</h2> <h2>Privacy Settings</h2>
@ -471,8 +465,6 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
case 'theme': case 'theme':
//#region theme
//#region Basic
return ( return (
<div className="settings-section"> <div className="settings-section">
<h2>Theme Settings</h2> <h2>Theme Settings</h2>
@ -481,6 +473,7 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
selectedTheme={selectedTheme} selectedTheme={selectedTheme}
setSelectedTheme={setSelectedTheme} setSelectedTheme={setSelectedTheme}
/> />
{selectedTheme === 'BASIC-CUSTOM' && ( {selectedTheme === 'BASIC-CUSTOM' && (
<> <>
<h3>Basic Colors</h3> <h3>Basic Colors</h3>
@ -515,19 +508,6 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
setValue={setBasicTextColor} setValue={setBasicTextColor}
cssVariable="" cssVariable=""
/> />
<DropdownSetting
label="Font Family"
value={fontFamily}
setValue={(newFont) => {
setFontFamily(newFont);
document.documentElement.style.setProperty('--font-family', newFont);
}}
options={fontOptions}
/>
<FontSizeSetting
fontSize={fontSize}
setFontSize={setFontSize}
/>
</> </>
)} )}
@ -563,7 +543,7 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
)} )}
</div> </div>
); );
//#region custom --> foss
case 'foss': case 'foss':
return ( return (
<div className="settings-section"> <div className="settings-section">
@ -576,7 +556,7 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
</div> </div>
); );
//#region account
case 'account': case 'account':
return ( return (
<div className="settings-section"> <div className="settings-section">
@ -619,7 +599,7 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
/> />
</div> </div>
); );
//#region api
case 'api': case 'api':
return ( return (
<div className="settings-section"> <div className="settings-section">
@ -673,7 +653,7 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
</div> </div>
</div> </div>
); );
//#region import export
case 'im/export': case 'im/export':
return ( return (
<div className="settings-section"> <div className="settings-section">
@ -727,7 +707,6 @@ const Settings: React.FC<{ closeSettings: () => void; accountName: string }> = (
URL.revokeObjectURL(url); // Clean up the URL object URL.revokeObjectURL(url); // Clean up the URL object
}; };
//#region overall export
return ( return (
<div className="popup-overlay"> <div className="popup-overlay">
<div className="settings-content"> <div className="settings-content">

View file

@ -9,11 +9,11 @@ class DB:
self.database = {} self.database = {}
def ensure_username(self, data): def ensure_username(self, data):
if "username" in data: if 'username' in data:
return data.get("username") return data.get('username')
elif "email" in data: elif 'email' in data:
for index, entry in self.database.items(): for index, entry in self.database:
if entry.get("email") == data.get("email"): if entry.get('email') == data.get('email'):
return index return index
@staticmethod @staticmethod
@ -23,16 +23,11 @@ class DB:
return hashed_password return hashed_password
def add_user(self, data): def add_user(self, data):
username = data.get("username") username = data.get('username')
password = data.get("password") password = data.get('password')
email = data.get("email") email = data.get('email')
hashed_password = self.hash_password(password) hashed_password = self.hash_password(password)
user_data = { user_data = {"hashed_password": hashed_password, "email": email, "settings": None, "history": None}
"hashed_password": hashed_password,
"email": email,
"settings": None,
"history": None,
}
if username not in self.database: if username not in self.database:
self.database[username] = user_data self.database[username] = user_data
self.save_database() self.save_database()
@ -50,7 +45,7 @@ class DB:
def update_password(self, data): def update_password(self, data):
username = self.ensure_username(data) username = self.ensure_username(data)
new_password = data.get("new_password") new_password = data.get('new_password')
if not self.check_credentials(data): if not self.check_credentials(data):
return False return False
@ -61,7 +56,7 @@ class DB:
def check_credentials(self, data): def check_credentials(self, data):
username = self.ensure_username(data) username = self.ensure_username(data)
password = data.get("password") password = data.get('password')
if username not in self.database: if username not in self.database:
return False return False
@ -75,7 +70,7 @@ class DB:
if not self.check_credentials(data): if not self.check_credentials(data):
return False return False
self.database[username]["settings"] = data.get("data") self.database[username]['settings'] = data.get('data')
self.save_database() self.save_database()
return True return True
@ -84,7 +79,7 @@ class DB:
if not self.check_credentials(data): if not self.check_credentials(data):
return None return None
send_back = self.database[username].get("settings") send_back = self.database[username].get('settings')
return send_back return send_back
def change_history(self, data): def change_history(self, data):
@ -92,7 +87,7 @@ class DB:
if not self.check_credentials(data): if not self.check_credentials(data):
return False return False
self.database[username]["history"] = data.get("data") self.database[username]['history'] = data.get('data')
self.save_database() self.save_database()
return True return True
@ -101,7 +96,7 @@ class DB:
if not self.check_credentials(data): if not self.check_credentials(data):
return None return None
send_back = self.database[username].get("history") send_back = self.database[username].get('history')
return send_back return send_back
def get_email(self, data): def get_email(self, data):
@ -109,10 +104,11 @@ class DB:
if not self.check_credentials(data): if not self.check_credentials(data):
return None return None
send_back = self.database[username].get("email") send_back = self.database[username].get('email')
return send_back return send_back
def get_name(self, data): def get_name(self, data):
username = self.ensure_username(data)
if not self.check_credentials(data): if not self.check_credentials(data):
return None return None
@ -120,18 +116,18 @@ class DB:
return send_back return send_back
def save_database(self): def save_database(self):
if os.environ.get("PRODUCTION") == "YES": if os.environ.get('PRODUCTION') == "YES":
server = pycouchdb.Server("http://admin:admin@localhost:5984/") server = pycouchdb.Server("http://admin:admin@localhost:5984/")
db = server.database("interstellar_ai") db = server.database("interstellar_ai")
db.save(self.database) db.save(self.database)
else: else:
with open("database.json", "w") as file: with open("database.json", 'w') as file:
print("saving") print("saving")
json.dump(self.database, file) json.dump(self.database, file)
def load_database(self): def load_database(self):
if os.environ.get("PRODUCTION") == "YES": if os.environ.get('PRODUCTION') == "YES":
server = pycouchdb.Server("http://admin:admin@localhost:5984/") server = pycouchdb.Server("http://admin:admin@localhost:5984/")
db = server.database("interstellar_ai") db = server.database("interstellar_ai")
if db: if db:
@ -142,7 +138,7 @@ class DB:
db.save(self.database) db.save(self.database)
else: else:
try: try:
with open("database.json", "r") as file: with open("database.json", 'r') as file:
self.database = json.load(file) self.database = json.load(file)
except FileNotFoundError: except FileNotFoundError:
pass pass