chore: Linter issues
This commit is contained in:
parent
d51dbaea37
commit
2512765c49
22 changed files with 55 additions and 92 deletions
|
@ -13,16 +13,11 @@ export function ApikeyModel(tools, models) {
|
|||
/*
|
||||
* See utils/model-decorator.mjs for details
|
||||
*/
|
||||
return decorateModel(
|
||||
this,
|
||||
tools,
|
||||
{
|
||||
return decorateModel(this, tools, {
|
||||
name: 'apikey',
|
||||
encryptedFields: ['name'],
|
||||
models: ['user'],
|
||||
},
|
||||
models
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -190,7 +190,7 @@ BookmarkModel.prototype.userBookmarks = async function (uid) {
|
|||
log.warn(`Failed to search bookmarks for user ${uid}: ${err}`)
|
||||
}
|
||||
const list = []
|
||||
for (const bookmark of bookmarks) list.push(this.bookmark)
|
||||
for (const bookmark of bookmarks) list.push(bookmark)
|
||||
|
||||
return list
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
import { log } from './log.mjs'
|
||||
import { website, exports } from '../config.mjs'
|
||||
import { randomString } from './crypto.mjs'
|
||||
import path from 'path'
|
||||
import fs from 'fs'
|
||||
|
||||
/*
|
||||
|
|
|
@ -11,16 +11,16 @@ import { flowTests } from './flow.mjs'
|
|||
import { setup } from './shared.mjs'
|
||||
|
||||
const runTests = async (...params) => {
|
||||
//await userTests(...params)
|
||||
//await mfaTests(...params)
|
||||
//await apikeyTests(...params)
|
||||
//await accountTests(...params)
|
||||
//await setTests(...params)
|
||||
await userTests(...params)
|
||||
await mfaTests(...params)
|
||||
await apikeyTests(...params)
|
||||
await accountTests(...params)
|
||||
await setTests(...params)
|
||||
await bookmarkTests(...params)
|
||||
//await curatedSetTests(...params)
|
||||
//await patternTests(...params)
|
||||
//await subscriberTests(...params)
|
||||
//await flowTests(...params)
|
||||
await curatedSetTests(...params)
|
||||
await patternTests(...params)
|
||||
await subscriberTests(...params)
|
||||
await flowTests(...params)
|
||||
}
|
||||
|
||||
// Load initial data required for tests
|
||||
|
|
|
@ -4,8 +4,6 @@ import { serverSideTranslations } from 'next-i18next/serverSideTranslations'
|
|||
import { nsMerge, capitalize } from 'shared/utils.mjs'
|
||||
import { freeSewingConfig } from 'shared/config/freesewing.config.mjs'
|
||||
import { siteConfig } from 'site/site.config.mjs'
|
||||
// Hooks
|
||||
import { useTranslation } from 'next-i18next'
|
||||
// Components
|
||||
import { PageWrapper, ns as pageNs } from 'shared/components/wrappers/page.mjs'
|
||||
import { ns as authNs } from 'shared/components/wrappers/auth/index.mjs'
|
||||
|
@ -34,17 +32,13 @@ const DynamicPlatform = dynamic(
|
|||
* when path and locale come from static props (as here)
|
||||
* or set them manually.
|
||||
*/
|
||||
const AccountPage = ({ page, platform }) => {
|
||||
const { t } = useTranslation(ns)
|
||||
|
||||
return (
|
||||
const AccountPage = ({ page, platform }) => (
|
||||
<PageWrapper {...page} title={capitalize(platform)}>
|
||||
<DynamicAuthWrapper>
|
||||
<DynamicPlatform platform={platform} />
|
||||
</DynamicAuthWrapper>
|
||||
</PageWrapper>
|
||||
)
|
||||
}
|
||||
|
||||
export default AccountPage
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
import dynamic from 'next/dynamic'
|
||||
import { serverSideTranslations } from 'next-i18next/serverSideTranslations'
|
||||
import { nsMerge } from 'shared/utils.mjs'
|
||||
// Hooks
|
||||
import { useTranslation } from 'next-i18next'
|
||||
// Components
|
||||
import { PageWrapper, ns as pageNs } from 'shared/components/wrappers/page.mjs'
|
||||
|
@ -32,17 +31,13 @@ const DynamicGithub = dynamic(
|
|||
* when path and locale come from static props (as here)
|
||||
* or set them manually.
|
||||
*/
|
||||
const AccountPage = ({ page }) => {
|
||||
const { t } = useTranslation(ns)
|
||||
|
||||
return (
|
||||
const AccountPage = ({ page }) => (
|
||||
<PageWrapper {...page} title="GitHub">
|
||||
<DynamicAuthWrapper>
|
||||
<DynamicGithub title />
|
||||
</DynamicAuthWrapper>
|
||||
</PageWrapper>
|
||||
)
|
||||
}
|
||||
|
||||
export default AccountPage
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Dependencies
|
||||
import { useState, useContext } from 'react'
|
||||
import { useState } from 'react'
|
||||
import { useTranslation } from 'next-i18next'
|
||||
// Hooks
|
||||
import { useAccount } from 'shared/hooks/use-account.mjs'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Dependencies
|
||||
import { useState, useContext } from 'react'
|
||||
import { useState } from 'react'
|
||||
import { useTranslation } from 'next-i18next'
|
||||
import { nsMerge } from 'shared/utils.mjs'
|
||||
// Hooks
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Dependencies
|
||||
import { useState, useContext } from 'react'
|
||||
import { useState } from 'react'
|
||||
import { useTranslation } from 'next-i18next'
|
||||
// Hooks
|
||||
import { useAccount } from 'shared/hooks/use-account.mjs'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Dependencies
|
||||
import { useState, useContext, useCallback } from 'react'
|
||||
import { useState, useCallback } from 'react'
|
||||
import { useTranslation } from 'next-i18next'
|
||||
import { useDropzone } from 'react-dropzone'
|
||||
import { cloudflareImageUrl } from 'shared/utils.mjs'
|
||||
|
@ -11,7 +11,6 @@ import { useLoadingStatus } from 'shared/hooks/use-loading-status.mjs'
|
|||
import { Icons, welcomeSteps, BackToAccountButton } from './shared.mjs'
|
||||
import { ContinueButton } from 'shared/components/buttons/continue-button.mjs'
|
||||
import { SaveSettingsButton } from 'shared/components/buttons/save-settings-button.mjs'
|
||||
import { DownloadIcon } from 'shared/components/icons.mjs'
|
||||
|
||||
export const ns = ['account', 'status']
|
||||
|
||||
|
@ -32,11 +31,6 @@ export const ImgSettings = ({ title = false, welcome = false }) => {
|
|||
acceptedFiles.forEach((file) => reader.readAsDataURL(file))
|
||||
}, [])
|
||||
|
||||
const imageFromUrl = async () => {
|
||||
const result = await backend.uploadImage({ type, subId, slug, url })
|
||||
if (result.success) setImg(result.data.imgId)
|
||||
}
|
||||
|
||||
const { getRootProps, getInputProps } = useDropzone({ onDrop })
|
||||
|
||||
const save = async () => {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Dependencies
|
||||
import { useState, useContext } from 'react'
|
||||
import { useState } from 'react'
|
||||
import { useTranslation } from 'next-i18next'
|
||||
// Hooks
|
||||
import { useAccount } from 'shared/hooks/use-account.mjs'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Dependencies
|
||||
import { useState, useContext } from 'react'
|
||||
import { useState } from 'react'
|
||||
import { useTranslation } from 'next-i18next'
|
||||
// Hooks
|
||||
import { useAccount } from 'shared/hooks/use-account.mjs'
|
||||
|
|
|
@ -3,7 +3,6 @@ import { useAccount } from 'shared/hooks/use-account.mjs'
|
|||
import { useBackend } from 'shared/hooks/use-backend.mjs'
|
||||
import { useTranslation } from 'next-i18next'
|
||||
import Link from 'next/link'
|
||||
import { PageLink } from 'shared/components/page-link.mjs'
|
||||
import { freeSewingConfig as conf } from 'shared/config/freesewing.config.mjs'
|
||||
import {
|
||||
DesignIcon,
|
||||
|
@ -44,14 +43,6 @@ import { ControlScore } from 'shared/components/control/score.mjs'
|
|||
|
||||
export const ns = ['account', 'i18n']
|
||||
|
||||
const actions = {
|
||||
reload: 4,
|
||||
export: 3,
|
||||
restrict: 4,
|
||||
disable: 4,
|
||||
remove: 2,
|
||||
}
|
||||
|
||||
const itemIcons = {
|
||||
bookmarks: <BookmarkIcon />,
|
||||
sets: <MeasieIcon />,
|
||||
|
@ -121,9 +112,7 @@ export const AccountLinks = () => {
|
|||
getUserData()
|
||||
}, [account.id])
|
||||
|
||||
const lprops = { t, control: account.control }
|
||||
const btnClasses = 'btn capitalize flex flex-row justify-between'
|
||||
const linkClasses = 'flex flex-row gap-2 text-lg py-2 items-center font-medium capitalize'
|
||||
|
||||
const itemPreviews = {
|
||||
apikeys: apikeys?.length || 0,
|
||||
|
@ -166,7 +155,7 @@ export const AccountLinks = () => {
|
|||
<div className="">
|
||||
<h4 className="my-2">{t('data')}</h4>
|
||||
{Object.keys(conf.account.fields.data).map((item) => (
|
||||
<AccountLink href={`/account/${item}`} title={t(item)}>
|
||||
<AccountLink href={`/account/${item}`} title={t(item)} key={item}>
|
||||
<div className="flex flex-row items-center gap-3 font-medium">
|
||||
{itemIcons[item]}
|
||||
{t(`your${capitalize(item)}`)}
|
||||
|
@ -179,7 +168,7 @@ export const AccountLinks = () => {
|
|||
<div className="">
|
||||
<h4 className="my-2">{t('info')}</h4>
|
||||
{Object.keys(conf.account.fields.info).map((item) => (
|
||||
<AccountLink href={`/account/${item}`} title={t(item)}>
|
||||
<AccountLink href={`/account/${item}`} title={t(item)} key={item}>
|
||||
<div className="flex flex-row items-center gap-3 font-medium">
|
||||
{itemIcons[item]}
|
||||
{t(item)}
|
||||
|
@ -199,7 +188,7 @@ export const AccountLinks = () => {
|
|||
<div className="">
|
||||
<h4 className="my-2">{t('settings')}</h4>
|
||||
{Object.keys(conf.account.fields.settings).map((item) => (
|
||||
<AccountLink href={`/account/${item}`} title={t(item)}>
|
||||
<AccountLink href={`/account/${item}`} title={t(item)} key={item}>
|
||||
<div className="flex flex-row items-center gap-3 font-medium">
|
||||
{itemIcons[item]}
|
||||
{t(item)}
|
||||
|
@ -212,7 +201,7 @@ export const AccountLinks = () => {
|
|||
<div className="">
|
||||
<h4 className="my-2">{t('linkedIdentities')}</h4>
|
||||
{Object.keys(conf.account.fields.identities).map((item) => (
|
||||
<AccountLink href={`/account/${item}`} title={t(item)}>
|
||||
<AccountLink href={`/account/${item}`} title={t(item)} key={item}>
|
||||
<div className="flex flex-row items-center gap-3 font-medium">
|
||||
{itemIcons[item]}
|
||||
{t(item)}
|
||||
|
@ -225,7 +214,7 @@ export const AccountLinks = () => {
|
|||
<div className="">
|
||||
<h4 className="my-2">{t('security')}</h4>
|
||||
{Object.keys(conf.account.fields.security).map((item) => (
|
||||
<AccountLink href={`/account/${item}`} title={t(item)}>
|
||||
<AccountLink href={`/account/${item}`} title={t(item)} key={item}>
|
||||
<div className="flex flex-row items-center gap-3 font-medium">
|
||||
{itemIcons[item]}
|
||||
{t(item)}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Dependencies
|
||||
import { useState, useContext } from 'react'
|
||||
import { useState } from 'react'
|
||||
import { useTranslation } from 'next-i18next'
|
||||
// Hooks
|
||||
import { useAccount } from 'shared/hooks/use-account.mjs'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Dependencies
|
||||
import { useState, useContext } from 'react'
|
||||
import { useState } from 'react'
|
||||
import { useTranslation } from 'next-i18next'
|
||||
// Hooks
|
||||
import { useAccount } from 'shared/hooks/use-account.mjs'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Dependencies
|
||||
import { useState, useContext } from 'react'
|
||||
import { useState } from 'react'
|
||||
import { useTranslation } from 'next-i18next'
|
||||
// Hooks
|
||||
import { useAccount } from 'shared/hooks/use-account.mjs'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Dependencies
|
||||
import { useState, useContext } from 'react'
|
||||
import { useState } from 'react'
|
||||
import { useTranslation } from 'next-i18next'
|
||||
// Hooks
|
||||
import { useAccount } from 'shared/hooks/use-account.mjs'
|
||||
|
|
|
@ -7,14 +7,13 @@ import { useLoadingStatus } from 'shared/hooks/use-loading-status.mjs'
|
|||
// Components
|
||||
import { BackToAccountButton } from './shared.mjs'
|
||||
import { Popout } from 'shared/components/popout/index.mjs'
|
||||
import { WebLink } from 'shared/components/web-link.mjs'
|
||||
|
||||
export const ns = ['account', 'status']
|
||||
|
||||
export const RemoveAccount = () => {
|
||||
// Hooks
|
||||
const { setAccount, token, signOut } = useAccount()
|
||||
const backend = useBackend(token)
|
||||
const { signOut } = useAccount()
|
||||
const backend = useBackend()
|
||||
const { t } = useTranslation(ns)
|
||||
const { setLoadingStatus, LoadingStatus } = useLoadingStatus()
|
||||
|
||||
|
|
|
@ -7,14 +7,13 @@ import { useLoadingStatus } from 'shared/hooks/use-loading-status.mjs'
|
|||
// Components
|
||||
import { BackToAccountButton } from './shared.mjs'
|
||||
import { Popout } from 'shared/components/popout/index.mjs'
|
||||
import { WebLink } from 'shared/components/web-link.mjs'
|
||||
|
||||
export const ns = ['account', 'status']
|
||||
|
||||
export const RestrictAccount = () => {
|
||||
// Hooks
|
||||
const { setAccount, token } = useAccount()
|
||||
const backend = useBackend(token)
|
||||
const { signOut } = useAccount()
|
||||
const backend = useBackend()
|
||||
const { t } = useTranslation(ns)
|
||||
const { setLoadingStatus, LoadingStatus } = useLoadingStatus()
|
||||
|
||||
|
@ -22,8 +21,10 @@ export const RestrictAccount = () => {
|
|||
const restrictAccount = async () => {
|
||||
setLoadingStatus([true, 'processingUpdate'])
|
||||
const result = await backend.restrictAccount()
|
||||
if (result.success) setLoadingStatus([true, 'nailedIt', true, true])
|
||||
else setLoadingStatus([true, 'backendError', true, false])
|
||||
if (result.success) {
|
||||
setLoadingStatus([true, 'nailedIt', true, true])
|
||||
signOut()
|
||||
} else setLoadingStatus([true, 'backendError', true, false])
|
||||
}
|
||||
|
||||
return (
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
// Dependencies
|
||||
import { useState, useContext } from 'react'
|
||||
import { useState } from 'react'
|
||||
import { useTranslation } from 'next-i18next'
|
||||
// Hooks
|
||||
import { useAccount } from 'shared/hooks/use-account.mjs'
|
||||
import { useBackend } from 'shared/hooks/use-backend.mjs'
|
||||
import { useLoadingStatus } from 'shared/hooks/use-loading-status.mjs'
|
||||
import { LoadingContext } from 'shared/context/loading-context.mjs'
|
||||
// Components
|
||||
import { Spinner } from 'shared/components/spinner.mjs'
|
||||
import { Icons, welcomeSteps, BackToAccountButton } from './shared.mjs'
|
||||
import { OkIcon, NoIcon } from 'shared/components/icons.mjs'
|
||||
import { ContinueButton } from 'shared/components/buttons/continue-button.mjs'
|
||||
|
|
|
@ -6,7 +6,7 @@ export const ControlScore = ({ control, color = 'base-content' }) =>
|
|||
control ? (
|
||||
<div className={`flex flex-row items-center text-${color}`}>
|
||||
{scores.map((score) => (
|
||||
<BulletIcon fill={control >= score ? true : false} className="w-6 h-6 -ml-1" />
|
||||
<BulletIcon fill={control >= score ? true : false} className="w-6 h-6 -ml-1" key={score} />
|
||||
))}
|
||||
</div>
|
||||
) : null
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Hooks
|
||||
import { useState, useEffect, useContext } from 'react'
|
||||
import { useState, useEffect } from 'react'
|
||||
import { useAccount } from 'shared/hooks/use-account.mjs'
|
||||
import { useTranslation } from 'next-i18next'
|
||||
import { useBackend } from 'shared/hooks/use-backend.mjs'
|
||||
|
@ -88,7 +88,6 @@ export const SignIn = () => {
|
|||
? await backend.signIn({ username, password: false })
|
||||
: await backend.signIn({ username, password })
|
||||
// Sign-in succeeded
|
||||
console.log(result.response.response)
|
||||
if (result.success) {
|
||||
let msg
|
||||
if (magicLink) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue