feat: add level prop to qrcode

This commit is contained in:
Tristan Yang
2023-02-26 14:41:31 +08:00
parent e80466b1c8
commit c3e60db634
2 changed files with 23 additions and 20 deletions
+7 -4
View File
@@ -4,12 +4,14 @@ import { useAppSelector } from '../../app/store';
type Props = { type Props = {
link: string, link: string,
size?: number size?: number,
level?: "L" | "M" | "H" | "Q"
} }
const QRCode = ({ link, size = 512 }: Props) => { const QRCode = ({ link, size = 512, level = "L" }: Props) => {
const logo = useAppSelector(store => store.server.logo); const logo = useAppSelector(store => store.server.logo);
return ( return (
<div className="p-2 bg-white dark:bg-slate-200 rounded">
<QR <QR
renderAs='svg' renderAs='svg'
value={link} value={link}
@@ -17,8 +19,8 @@ const QRCode = ({ link, size = 512 }: Props) => {
size={size} size={size}
bgColor={"#fff"} bgColor={"#fff"}
fgColor={"#000"} fgColor={"#000"}
level={"L"} level={level}
includeMargin={true} // includeMargin={true}
imageSettings={{ imageSettings={{
src: logo, src: logo,
x: undefined, x: undefined,
@@ -27,6 +29,7 @@ const QRCode = ({ link, size = 512 }: Props) => {
width: size / 6, width: size / 6,
excavate: true, excavate: true,
}} /> }} />
</div>
); );
}; };
+1 -1
View File
@@ -27,7 +27,7 @@ const GuestBlankPlaceholder = () => {
<div className="flex flex-col gap-2"> <div className="flex flex-col gap-2">
<span className="text-gray-400 dark:text-gray-200 my-3 text-sm">{t("guest_login_tip")}</span> <span className="text-gray-400 dark:text-gray-200 my-3 text-sm">{t("guest_login_tip")}</span>
<div className="w-44 h-44 self-center mb-4"> <div className="w-44 h-44 self-center mb-4">
<QRCode size={1200} link={`https://voce.chat/login?s=${encodeURIComponent(BASE_ORIGIN)}`} /> <QRCode level="Q" size={1200} link={`https://voce.chat/login?s=${encodeURIComponent(BASE_ORIGIN)}`} />
</div> </div>
<Button onClick={handleSignIn} className="small">{t("sign_in")}</Button> <Button onClick={handleSignIn} className="small">{t("sign_in")}</Button>
</div> </div>