1
0
mirror of https://github.com/chinchang/web-maker.git synced 2025-03-20 18:49:56 +01:00

fix login flow for logged in features

This commit is contained in:
Kushagra Gour 2024-04-15 14:38:27 +05:30
parent c38e3e0452
commit 44433f09a4
3 changed files with 32 additions and 4 deletions

View File

@ -9,7 +9,7 @@ import { LoaderWithText } from './Loader';
import { Text } from './Text';
import { Icon } from './Icons';
const Assets = ({ onProBtnClick }) => {
const Assets = ({ onProBtnClick, onLoginBtnClick }) => {
const [files, setFiles] = useState([]);
const [isFetchingFiles, setIsFetchingFiles] = useState(false);
const [searchTerm, setSearchTerm] = useState('');
@ -94,7 +94,9 @@ const Assets = ({ onProBtnClick }) => {
};
useEffect(() => {
fetchFiles();
if (window.user?.isPro) {
fetchFiles();
}
}, []);
useEffect(() => {
@ -161,9 +163,20 @@ const Assets = ({ onProBtnClick }) => {
return (
<VStack align="stretch" gap={2}>
<p>Assets feature is available in PRO plan.</p>
<button class="btn btn--primary" onClick={onProBtnClick}>
<button
class="btn btn--primary"
onClick={window.user ? onProBtnClick : onLoginBtnClick}
>
<HStack gap={1} fullWidth justify="center">
Upgrade to <ProBadge />
{window.user ? (
<>
Upgrade to <ProBadge />
</>
) : (
<>
Login & upgrade to <ProBadge />
</>
)}
</HStack>
</button>
</VStack>

View File

@ -6,6 +6,7 @@ import { itemService } from '../itemService';
import { alertsService } from '../notifications';
import { Button } from './common';
import { Icon } from './Icons';
import { Text } from './Text';
const FREE_PUBLIC_ITEM_COUNT = 1;
const BASE_URL = location.origin;
@ -58,6 +59,16 @@ export function Share({ user, item, onVisibilityChange }) {
navigator.clipboard.writeText(`${BASE_URL}/create/${item.id}`);
alertsService.add('URL copied to clipboard');
};
if (!user) {
return (
<HStack justify="center" gap={2}>
<Text>Login to share this creation</Text>
<Button class="btn btn--primary" onClick={copyUrl} aria-label="Copy">
Login
</Button>
</HStack>
);
}
return (
<VStack gap={4} align="stretch">
<div style="min-width: 46ch">

View File

@ -1792,6 +1792,10 @@ export default class App extends Component {
this.proBtnClickHandler();
this.setState({ isAssetsOpen: false });
}}
onLoginBtnClick={() => {
this.loginBtnClickHandler();
this.setState({ isAssetsOpen: false });
}}
/>
</Modal>
<Modal