This commit is contained in:
parent
1ec6a552c6
commit
c17aa90c13
|
@ -67,7 +67,9 @@ export const ChangePasswordForm = () => {
|
||||||
'Now you can enter a new password, it must contain at least 8 characters and not be the same as the previous password',
|
'Now you can enter a new password, it must contain at least 8 characters and not be the same as the previous password',
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
<Show when={validationErrors()}>
|
||||||
|
<div>{validationErrors()['password']}</div>
|
||||||
|
</Show>
|
||||||
<PasswordField
|
<PasswordField
|
||||||
errorMessage={(err) => setPasswordError(err)}
|
errorMessage={(err) => setPasswordError(err)}
|
||||||
onInput={(value) => handlePasswordInput(value)}
|
onInput={(value) => handlePasswordInput(value)}
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
import type { ConfirmEmailSearchParams } from './types'
|
|
||||||
|
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
import { createEffect, createMemo, createSignal, Show } from 'solid-js'
|
import { createEffect, createSignal, Show } from 'solid-js'
|
||||||
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { useLocalize } from '../../../context/localize'
|
||||||
import { useSession } from '../../../context/session'
|
import { useSession } from '../../../context/session'
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
@mixin searchFilterControl {
|
@mixin searchFilterControl {
|
||||||
background: rgb(64 64 64 / 0.5);
|
background: rgb(64 64 64 / 50%);
|
||||||
border-radius: 10rem;
|
border-radius: 10rem;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
||||||
@include font-size(1.4rem);
|
@include font-size(1.4rem);
|
||||||
|
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
height: 4rem;
|
height: 4rem;
|
||||||
padding: 0 2rem;
|
padding: 0 2rem;
|
||||||
|
@ -13,7 +15,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
&:active {
|
&:active {
|
||||||
color: rgb(255 255 255 / 0.4);
|
color: rgb(255 255 255 / 40%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,13 +27,15 @@
|
||||||
border: none;
|
border: none;
|
||||||
border-bottom: 2px solid #fff;
|
border-bottom: 2px solid #fff;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|
||||||
@include font-size(4.8rem);
|
@include font-size(4.8rem);
|
||||||
|
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
outline: none;
|
outline: none;
|
||||||
padding: 0 0 0.5rem;
|
padding: 0 0 0.5rem;
|
||||||
|
|
||||||
&::placeholder {
|
&::placeholder {
|
||||||
color: rgb(255 255 255 / 0.32);
|
color: rgb(255 255 255 / 32%);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:not(:placeholder-shown) + .submitControl {
|
&:not(:placeholder-shown) + .submitControl {
|
||||||
|
@ -51,7 +55,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.searchDescription {
|
.searchDescription {
|
||||||
color: rgb(255 255 255 / 0.64);
|
color: rgb(255 255 255 / 64%);
|
||||||
|
|
||||||
@include font-size(1.6rem);
|
@include font-size(1.6rem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
import { clsx } from 'clsx'
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
|
||||||
import { Icon } from '../../_shared/Icon'
|
|
||||||
import { openPage } from '@nanostores/router'
|
import { openPage } from '@nanostores/router'
|
||||||
|
import { clsx } from 'clsx'
|
||||||
|
|
||||||
import styles from './SearchModal.module.scss'
|
import { useLocalize } from '../../../context/localize'
|
||||||
import { router, useRouter } from '../../../stores/router'
|
import { router, useRouter } from '../../../stores/router'
|
||||||
import { hideModal } from '../../../stores/ui'
|
import { hideModal } from '../../../stores/ui'
|
||||||
|
import { Icon } from '../../_shared/Icon'
|
||||||
|
|
||||||
|
import styles from './SearchModal.module.scss'
|
||||||
|
|
||||||
export const SearchModal = () => {
|
export const SearchModal = () => {
|
||||||
const { t } = useLocalize()
|
const { t } = useLocalize()
|
||||||
|
|
|
@ -24,7 +24,6 @@ import { Row3 } from '../../Feed/Row3'
|
||||||
|
|
||||||
import styles from './Author.module.scss'
|
import styles from './Author.module.scss'
|
||||||
import stylesArticle from '../../Article/Article.module.scss'
|
import stylesArticle from '../../Article/Article.module.scss'
|
||||||
import { useSession } from '../../../context/session'
|
|
||||||
|
|
||||||
type Props = {
|
type Props = {
|
||||||
shouts: Shout[]
|
shouts: Shout[]
|
||||||
|
|
|
@ -7,6 +7,7 @@ import { createEffect, createMemo, createSignal, For, on, onMount, Show } from '
|
||||||
|
|
||||||
import { useLocalize } from '../../../context/localize'
|
import { useLocalize } from '../../../context/localize'
|
||||||
import { useReactions } from '../../../context/reactions'
|
import { useReactions } from '../../../context/reactions'
|
||||||
|
import { useSession } from '../../../context/session'
|
||||||
import { apiClient } from '../../../graphql/client/core'
|
import { apiClient } from '../../../graphql/client/core'
|
||||||
import { router, useRouter } from '../../../stores/router'
|
import { router, useRouter } from '../../../stores/router'
|
||||||
import { useArticlesStore, resetSortedArticles } from '../../../stores/zine/articles'
|
import { useArticlesStore, resetSortedArticles } from '../../../stores/zine/articles'
|
||||||
|
@ -25,7 +26,6 @@ import { Sidebar } from '../../Feed/Sidebar'
|
||||||
import styles from './Feed.module.scss'
|
import styles from './Feed.module.scss'
|
||||||
import stylesBeside from '../../Feed/Beside.module.scss'
|
import stylesBeside from '../../Feed/Beside.module.scss'
|
||||||
import stylesTopic from '../../Feed/CardTopic.module.scss'
|
import stylesTopic from '../../Feed/CardTopic.module.scss'
|
||||||
import { useSession } from '../../../context/session'
|
|
||||||
|
|
||||||
export const FEED_PAGE_SIZE = 20
|
export const FEED_PAGE_SIZE = 20
|
||||||
const UNRATED_ARTICLES_COUNT = 5
|
const UNRATED_ARTICLES_COUNT = 5
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
|
import { openPage } from '@nanostores/router'
|
||||||
import { clsx } from 'clsx'
|
import { clsx } from 'clsx'
|
||||||
|
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '../../context/localize'
|
||||||
|
import { router } from '../../stores/router'
|
||||||
import { Icon } from '../_shared/Icon'
|
import { Icon } from '../_shared/Icon'
|
||||||
|
|
||||||
import styles from '../../styles/FourOuFour.module.scss'
|
import styles from '../../styles/FourOuFour.module.scss'
|
||||||
import { openPage } from '@nanostores/router'
|
|
||||||
import { router } from '../../stores/router'
|
|
||||||
|
|
||||||
export const FourOuFourView = (_props) => {
|
export const FourOuFourView = (_props) => {
|
||||||
let queryInput: HTMLInputElement
|
let queryInput: HTMLInputElement
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import type { SearchResult } from '../../graphql/schema/core.gen'
|
import type { SearchResult } from '../../graphql/schema/core.gen'
|
||||||
|
|
||||||
import { Show, For, createSignal, createEffect, onMount } from 'solid-js'
|
import { Show, For, createSignal, onMount } from 'solid-js'
|
||||||
|
|
||||||
import '../../styles/Search.scss'
|
import '../../styles/Search.scss'
|
||||||
import { useLocalize } from '../../context/localize'
|
import { useLocalize } from '../../context/localize'
|
||||||
|
@ -8,7 +8,6 @@ import { useRouter } from '../../stores/router'
|
||||||
import { loadShoutsSearch, useArticlesStore } from '../../stores/zine/articles'
|
import { loadShoutsSearch, useArticlesStore } from '../../stores/zine/articles'
|
||||||
import { restoreScrollPosition, saveScrollPosition } from '../../utils/scroll'
|
import { restoreScrollPosition, saveScrollPosition } from '../../utils/scroll'
|
||||||
import { ArticleCard } from '../Feed/ArticleCard'
|
import { ArticleCard } from '../Feed/ArticleCard'
|
||||||
import { apiClient } from '../../graphql/client/core'
|
|
||||||
|
|
||||||
type SearchPageSearchParams = {
|
type SearchPageSearchParams = {
|
||||||
by: '' | 'relevance' | 'rating'
|
by: '' | 'relevance' | 'rating'
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
z-index: 10000;
|
z-index: 10000;
|
||||||
|
|
||||||
animation: 300ms fadeIn;
|
animation: 300ms fadeIn;
|
||||||
animation-fill-mode: forwards;
|
animation-fill-mode: forwards;
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
.UserSearch {
|
.UserSearch {
|
||||||
.searchHeader {
|
.searchHeader {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-flow: row nowrap;
|
||||||
flex-wrap: nowrap;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
gap: 1rem;
|
gap: 1rem;
|
||||||
}
|
}
|
||||||
|
@ -10,8 +9,7 @@
|
||||||
.field {
|
.field {
|
||||||
border-bottom: 2px solid var(--background-color-invert);
|
border-bottom: 2px solid var(--background-color-invert);
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-flow: row nowrap;
|
||||||
flex-wrap: nowrap;
|
|
||||||
padding: 4px 0;
|
padding: 4px 0;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -28,6 +26,7 @@
|
||||||
&::placeholder {
|
&::placeholder {
|
||||||
color: #404040;
|
color: #404040;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:focus {
|
&:focus {
|
||||||
outline: none;
|
outline: none;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
import type { ProfileInput } from '../graphql/schema/core.gen'
|
import type { ProfileInput } from '../graphql/schema/core.gen'
|
||||||
|
|
||||||
import { createContext, createEffect, createMemo, JSX, useContext } from 'solid-js'
|
import { createContext, createEffect, JSX, useContext } from 'solid-js'
|
||||||
import { createStore } from 'solid-js/store'
|
import { createStore } from 'solid-js/store'
|
||||||
|
|
||||||
import { apiClient } from '../graphql/client/core'
|
import { apiClient } from '../graphql/client/core'
|
||||||
import { loadAuthor } from '../stores/zine/authors'
|
|
||||||
|
|
||||||
import { useSession } from './session'
|
import { useSession } from './session'
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@ import { notifierClient } from '../graphql/client/notifier'
|
||||||
import { useRouter } from '../stores/router'
|
import { useRouter } from '../stores/router'
|
||||||
import { showModal } from '../stores/ui'
|
import { showModal } from '../stores/ui'
|
||||||
import { addAuthors } from '../stores/zine/authors'
|
import { addAuthors } from '../stores/zine/authors'
|
||||||
|
|
||||||
import { useLocalize } from './localize'
|
import { useLocalize } from './localize'
|
||||||
import { useSnackbar } from './snackbar'
|
import { useSnackbar } from './snackbar'
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,6 @@ import deleteChatMessage from '../mutation/chat/chat-message-delete'
|
||||||
import updateChatMessage from '../mutation/chat/chat-message-update'
|
import updateChatMessage from '../mutation/chat/chat-message-update'
|
||||||
import updateChat from '../mutation/chat/chat-update'
|
import updateChat from '../mutation/chat/chat-update'
|
||||||
import chatMessagesLoadBy from '../query/chat/chat-messages-load-by'
|
import chatMessagesLoadBy from '../query/chat/chat-messages-load-by'
|
||||||
import loadRecipients from '../query/chat/chat-recipients'
|
|
||||||
import myChats from '../query/chat/chats-load'
|
import myChats from '../query/chat/chats-load'
|
||||||
import {
|
import {
|
||||||
Chat,
|
Chat,
|
||||||
|
|
|
@ -35,8 +35,8 @@ import loadShoutsUnrated from '../query/core/articles-load-unrated'
|
||||||
import authorBy from '../query/core/author-by'
|
import authorBy from '../query/core/author-by'
|
||||||
import authorFollowers from '../query/core/author-followers'
|
import authorFollowers from '../query/core/author-followers'
|
||||||
import authorId from '../query/core/author-id'
|
import authorId from '../query/core/author-id'
|
||||||
import authorFollowed from '../query/core/authors-followed-by'
|
|
||||||
import authorsAll from '../query/core/authors-all'
|
import authorsAll from '../query/core/authors-all'
|
||||||
|
import authorFollowed from '../query/core/authors-followed-by'
|
||||||
import authorsLoadBy from '../query/core/authors-load-by'
|
import authorsLoadBy from '../query/core/authors-load-by'
|
||||||
import mySubscriptions from '../query/core/my-followed'
|
import mySubscriptions from '../query/core/my-followed'
|
||||||
import reactionsLoadBy from '../query/core/reactions-load-by'
|
import reactionsLoadBy from '../query/core/reactions-load-by'
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
import { gql } from '@urql/core'
|
|
||||||
|
|
||||||
export default gql`
|
|
||||||
query GetChatMembersQuery($limit: Int, $offset: Int) {
|
|
||||||
load_recipients(limit: $limit, offset: $offset) {
|
|
||||||
members {
|
|
||||||
id
|
|
||||||
name
|
|
||||||
id
|
|
||||||
slug
|
|
||||||
pic
|
|
||||||
online
|
|
||||||
}
|
|
||||||
error
|
|
||||||
}
|
|
||||||
}
|
|
||||||
`
|
|
|
@ -1,6 +1,6 @@
|
||||||
import type { PageProps } from './types'
|
import type { PageProps } from './types'
|
||||||
|
|
||||||
import { createEffect, createMemo, createSignal, onCleanup, onMount, Show } from 'solid-js'
|
import { createEffect, createMemo, createSignal, onCleanup, Show } from 'solid-js'
|
||||||
|
|
||||||
import { Loading } from '../components/_shared/Loading'
|
import { Loading } from '../components/_shared/Loading'
|
||||||
import { PageLayout } from '../components/_shared/PageLayout'
|
import { PageLayout } from '../components/_shared/PageLayout'
|
||||||
|
@ -13,7 +13,7 @@ import { loadShoutsSearch, resetSortedArticles } from '../stores/zine/articles'
|
||||||
export const SearchPage = (props: PageProps) => {
|
export const SearchPage = (props: PageProps) => {
|
||||||
const [isLoaded, setIsLoaded] = createSignal(Boolean(props.searchResults))
|
const [isLoaded, setIsLoaded] = createSignal(Boolean(props.searchResults))
|
||||||
const { t } = useLocalize()
|
const { t } = useLocalize()
|
||||||
const { page, searchParams } = useRouter()
|
const { page } = useRouter()
|
||||||
const q = createMemo(() => page().params['q'] as string)
|
const q = createMemo(() => page().params['q'] as string)
|
||||||
|
|
||||||
createEffect(async () => {
|
createEffect(async () => {
|
||||||
|
|
|
@ -46,7 +46,7 @@ export const MODALS: Record<ModalType, ModalType> = {
|
||||||
|
|
||||||
const [modal, setModal] = createSignal<ModalType>(null)
|
const [modal, setModal] = createSignal<ModalType>(null)
|
||||||
|
|
||||||
const { searchParams, changeSearchParams } = useRouter<
|
const { changeSearchParams } = useRouter<
|
||||||
AuthModalSearchParams & ConfirmEmailSearchParams & RootSearchParams
|
AuthModalSearchParams & ConfirmEmailSearchParams & RootSearchParams
|
||||||
>()
|
>()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user