Style updates

This commit is contained in:
Sean Edmunds
2025-07-03 14:41:09 -05:00
parent 28eb342fc7
commit 1e704b0300
5 changed files with 126 additions and 45 deletions

View File

@@ -80,6 +80,8 @@ Backend .env.example
DB_HOST='127.0.0.1' DB_HOST='127.0.0.1'
DB_USER='triggeradmin' DB_USER='triggeradmin'
DB_PASS='trigger' DB_PASS='trigger'
DB_PORT='3306'
API_PORT='5000'
``` ```
## Run/build ## Run/build
@@ -91,7 +93,6 @@ npm run dev
To build the application for production: To build the application for production:
#### ⚠️ Add any background images to public/backgrounds to include them in the build ⚠️
```shell ```shell
npm run build npm run build
@@ -113,4 +114,4 @@ sudo pm2 start server.cjs
### TODO ### TODO
- Image uploads for backgrounds? - Mobile improvements

View File

@@ -290,7 +290,7 @@ const BookmarkSettings = () => {
w={'100%'} w={'100%'}
align='center' align='center'
> >
<Group w={isMobile ? undefined : '75%'} align='start' justify='center'> <Group w={isMobile ? undefined : '80%'} align='start' justify='center'>
{groups.length > 0 ? ( {groups.length > 0 ? (
groups?.map((group: BookmarkGroup) => ( groups?.map((group: BookmarkGroup) => (
<DebouncedGroupSettingsItem <DebouncedGroupSettingsItem

View File

@@ -1,7 +1,16 @@
import { ActionIcon, Card, Stack, Switch, Text, TextInput, Tooltip } from '@mantine/core'; import {
ActionIcon,
Card,
Group,
Stack,
Switch,
Text,
TextInput,
Tooltip,
} from '@mantine/core';
import { useDisclosure } from '@mantine/hooks'; import { useDisclosure } from '@mantine/hooks';
import { useCommonHooks } from 'hooks'; import { useCommonHooks } from 'hooks';
import { FiTrash } from 'react-icons/fi'; import { FiPower, FiTrash } from 'react-icons/fi';
import { cardClasses, switchClasses, textInputClasses } from 'styles'; import { cardClasses, switchClasses, textInputClasses } from 'styles';
import type { Message } from 'types'; import type { Message } from 'types';
import DeleteItemModal from '../Shared/DeleteItemModal'; import DeleteItemModal from '../Shared/DeleteItemModal';
@@ -18,7 +27,12 @@ function DebouncedMessage({
const { handleDelete } = useCommonHooks(); const { handleDelete } = useCommonHooks();
const [modalOpened, { open: openModal, close: closeModal }] = useDisclosure(false); const [modalOpened, { open: openModal, close: closeModal }] = useDisclosure(false);
return ( return (
<Card className={cardClasses.settingsItem} classNames={cardClasses}> <Card
className={cardClasses.settingsItem}
classNames={cardClasses}
w={'100%'}
style={{ alignItems: 'center' }}
>
<DeleteItemModal <DeleteItemModal
modalOpened={modalOpened} modalOpened={modalOpened}
handleClose={closeModal} handleClose={closeModal}
@@ -42,38 +56,47 @@ function DebouncedMessage({
</Stack> </Stack>
} }
/> />
<Tooltip <Group
c={'var(--mantine-color-primary-0)'} style={{
bg={'var(--mantine-color-background-0)'} position: 'absolute',
bd={'solid 1px var(--mantine-color-border-0)'} right: '1rem',
label={'Delete'} top: '.5rem',
> width: 'fit-content',
<ActionIcon backgroundColor:
pos={'absolute'} 'color-mix(in srgb, var(--mantine-color-background-0), transparent 50%)',
right={'1rem'} padding: '.5rem',
color='red' borderRadius: '10px',
onClick={() => { color: 'var(--mantine-color-search-0)',
openModal(); backdropFilter: 'brightness(0.5)',
}} }}
> >
<FiTrash color='black' />
</ActionIcon>
</Tooltip>
<Tooltip <Tooltip
c={'var(--mantine-color-primary-0)'} c={'var(--mantine-color-primary-0)'}
bg={'var(--mantine-color-background-0)'} bg={'var(--mantine-color-background-0)'}
bd={'solid 1px var(--mantine-color-border-0)'} bd={'solid 1px var(--mantine-color-border-0)'}
label={'Enabled'} label={message.customGreeting === 1 ? 'Enabled' : 'Disabled'}
refProp='rootRef'
styles={{
tooltip: { marginTop: '-.5rem' },
arrow: { border: 'solid 1px var(--mantine-color-accent-0)' },
}}
withArrow
> >
<Switch <Switch
className={switchClasses.default} className={switchClasses.enable}
classNames={switchClasses} classNames={switchClasses}
label={'Enabled'}
labelPosition='left'
pos={'absolute'}
left={'1rem'}
defaultChecked={message.customGreeting === 1} defaultChecked={message.customGreeting === 1}
defaultValue={message.customGreeting} defaultValue={message.customGreeting}
thumbIcon={
<FiPower
style={{
color:
message.customGreeting === 1
? 'var(--mantine-color-accent-0)'
: 'red',
}}
/>
}
onChange={(event) => { onChange={(event) => {
setMessage({ setMessage({
...message, ...message,
@@ -82,8 +105,27 @@ function DebouncedMessage({
}} }}
/> />
</Tooltip> </Tooltip>
|
<Tooltip
c={'var(--mantine-color-primary-0)'}
bg={'var(--mantine-color-background-0)'}
bd={'solid 1px var(--mantine-color-border-0)'}
label={'Delete'}
>
<ActionIcon
color='red'
onClick={() => {
openModal();
}}
>
<FiTrash color='black' />
</ActionIcon>
</Tooltip>
</Group>
<TextInput <TextInput
label={label} label={label}
disabled={message.customGreeting === 0}
w={'100%'}
className={textInputClasses.settingsItem} className={textInputClasses.settingsItem}
classNames={textInputClasses} classNames={textInputClasses}
defaultValue={message.message} defaultValue={message.message}
@@ -93,6 +135,7 @@ function DebouncedMessage({
message: event.target.value, message: event.target.value,
}); });
}} }}
styles={{ root: { paddingTop: '1.25rem' } }}
/> />
</Card> </Card>
); );

View File

@@ -2,7 +2,7 @@
&.root { &.root {
color: var(--mantine-color-primary-0); color: var(--mantine-color-primary-0);
background-color: transparent; background-color: transparent;
backdrop-filter: blur(5px) brightness(1.25) !important; backdrop-filter: blur(5px) brightness(1.25);
} }
} }
@@ -10,7 +10,7 @@
&.root { &.root {
color: var(--mantine-color-primary-0); color: var(--mantine-color-primary-0);
background-color: transparent; background-color: transparent;
backdrop-filter: blur(5px) brightness(1.25) !important; backdrop-filter: blur(5px) brightness(1.25);
cursor: pointer; cursor: pointer;
&:hover { &:hover {
color: var(--mantine-color-accent-0); color: var(--mantine-color-accent-0);

View File

@@ -34,3 +34,40 @@
} }
} }
} }
.enable {
@media (max-width: 600px) {
&.root {
.label {
position: absolute;
top: -22px;
left: -8px;
}
}
}
&.root {
.track {
transition: all .2s ease !important;
background-color: color-mix(in srgb, var(--mantine-color-primary-0), transparent 90%);
overflow: visible;
height: 2px;
}
.thumb {
transition: all .2s ease !important;
border: none;
background-color: var(--mantine-color-background-0);
height: 1.5rem;
width: 1.5rem;
font-size: 1rem;
margin-left: -4px;
}
.input:checked + * > .thumb {
transition: all .2s ease !important;
background-color: var(--mantine-color-background-0);
}
.input:checked + .track {
transition: all .2s ease !important;
background-color: color-mix(in srgb, var(--mantine-color-primary-0), transparent 30%);
}
}
}