adding darkmode to welcome

This commit is contained in:
Roland Osborne 2024-02-28 16:10:25 -08:00
parent 2e418db65d
commit bbb6d7593e
7 changed files with 54 additions and 39 deletions

View File

@ -3,19 +3,27 @@ import { AccessWrapper } from './Access.styled';
import { Login } from './login/Login';
import { Admin } from './admin/Admin';
import { CreateAccount } from './createAccount/CreateAccount';
import { ThemeProvider } from "styled-components";
import login from 'images/login.png'
import login from 'images/login.png';
import dogin from 'images/dogin.png';
export function Access({ mode }) {
const { state } = useAccess();
return (
<ThemeProvider theme={state.colors}>
<AccessWrapper>
{ (state.display === 'large' || state.display === 'xlarge') && (
<div className="split-layout">
<div className="left">
{ state.scheme === 'dark' && (
<img className="splash" src={dogin} alt="Databag Splash" />
)}
{ state.scheme === 'light' && (
<img className="splash" src={login} alt="Databag Splash" />
)}
</div>
<div className="right">
{ mode === 'login' && (
@ -46,6 +54,7 @@ export function Access({ mode }) {
</div>
)}
</AccessWrapper>
</ThemeProvider>
);
}

View File

@ -29,6 +29,7 @@ export const AccessWrapper = styled.div`
width: 50%;
height: 100%;
padding: 32px;
background-color: ${props => props.theme.splashArea};
.splash {
width: 100%;

View File

@ -7,6 +7,8 @@ export function useAccess() {
const [state, setState] = useState({
display: null,
scheme: null,
colors: {},
});
const navigate = useNavigate();
@ -43,8 +45,8 @@ export function useAccess() {
useEffect(() => {
const { display } = settings.state;
updateState({ display });
const { colors, display, scheme } = settings.state;
updateState({ colors, display, scheme });
}, [settings.state]);
const actions = {};

View File

@ -40,6 +40,7 @@ export const Colors = {
};
export const LightTheme = {
splashArea: '#8fbea7',
baseArea: '#8fbea7',
frameArea: '#dddddd',
iconArea: '#ffffff',
@ -76,6 +77,7 @@ export const LightTheme = {
};
export const DarkTheme = {
splashArea: '#4c4c4c',
baseArea: '#080808',
frameArea: '#0a0a0a',
iconArea: '#ffffff',

View File

@ -16,6 +16,7 @@ export const en = {
unsetSealing: 'Unset Sealing Key',
newTopic: 'New Topic',
noTopics: 'No Topics',
noConnected: 'No Connected Contacts',
subjectOptional: 'Subject (optional)',
members: 'Members',
@ -113,6 +114,7 @@ export const fr = {
unsetSealing: 'Clé de sécurité non définie',
newTopic: 'Nouveau Sujet',
noTopics: 'Pas de Sujets',
noConnected: 'Pas de Contacts Connecter',
subjectOptional: 'Sujet (optionnel)',
members: 'Membres',

View File

@ -10,10 +10,9 @@ export function useSettingsContext() {
height: null,
themes: [{ value: null, label: 'Default' }, { value: 'dark', label: 'Dark' }, { value: 'light', label: 'Light' }],
theme: null,
setTheme: null,
scheme: null,
colors: {},
menuStyle: {},
textStyle: {},
languages: [{ value: null, label: 'Default' }, { value: 'en', label: 'English' }, { value: 'fr', label: 'Français' }],
language: null,
strings: en,

View File

@ -37,7 +37,7 @@ export function Channels({ open, active }) {
/>
)}
{ state.channels.length === 0 && (
<div className="empty">No Topics</div>
<div className="empty">{ state.strings.noTopics }</div>
)}
</div>
{ state.display !== 'small' && (