Ignore:
Timestamp:
04/28/25 14:20:18 (3 weeks ago)
Author:
Aleksandar Panovski <apano77@…>
Branches:
main
Children:
deea3c4
Parents:
8ca35dc
Message:

Big change done works with handle_reservation_update() trigger

File:
1 edited

Legend:

Unmodified
Added
Removed
  • my-react-app/src/components/AppContent.js

    r8ca35dc rf5b256e  
    1515            isAuthenticated: false,
    1616            user: null,
    17             loading: false // Add loading state
     17            loading: false
    1818        };
    1919    }
     
    2929
    3030    fetchUserDetails = (token) => {
    31         console.log("Fetch");
     31        console.log("Fetching User Details...");
    3232        axios.get("/api/user")
    3333            .then((response) => {
    34                 this.setState({ user: response.data, componentToShow: "restaurants", isAuthenticated: true });
     34                this.setState({
     35                    user: response.data,
     36                    componentToShow: "restaurants",
     37                    isAuthenticated: true
     38                });
    3539            })
    3640            .catch((error) => {
    3741                console.error("Failed to fetch user details:", error);
    38                 this.logout();
    3942            });
    4043    };
     
    5255    onLogin = (e, email, password) => {
    5356        e.preventDefault();
    54         // After successful login, save the token
     57
    5558        axios.post("/api/login", { email, password })
    5659            .then((response) => {
    5760                const token = response.data.token;
    58                 localStorage.setItem('token', token);  // Save the token
    59                 console.log(token);
    60                 this.setAuthToken(token);  // Set the token for future requests
    61                 this.setState({ componentToShow: "restaurants", isAuthenticated: true });
     61                localStorage.setItem('token', token);
     62                console.log("Login Token:", token);
     63                this.setAuthToken(token);
     64                this.fetchUserDetails(token);
    6265            })
    6366            .catch((error) => {
     
    6568                this.setState({ componentToShow: "welcome" });
    6669            });
    67 
    6870    };
    6971
     
    9395
    9496    render() {
     97        if (this.state.isAuthenticated) {
     98            return (
     99                <div>
     100                    <Buttons login={this.login} logout={this.logout} />
     101                    <AuthContent />
     102                </div>
     103            );
     104        }
     105
    95106        return (
    96107            <div>
    97108                <Buttons login={this.login} logout={this.logout} />
    98109                {this.state.componentToShow === "welcome" && <WelcomeContent />}
    99                 {this.state.componentToShow === "restaurants" && <AuthContent />}
    100110                {this.state.componentToShow === "login" && <LoginForm onLogin={this.onLogin} onRegister={this.onRegister} />}
    101                 {this.state.loading && <div>Loading...</div>} {/* Show loading state */}
    102111            </div>
    103112        );
     113        // return (
     114        //     <div>
     115        //         <Buttons login={this.login} logout={this.logout} />
     116        //         {this.state.componentToShow === "welcome" && <WelcomeContent />}
     117        //         {this.state.componentToShow === "restaurants" && <AuthContent />}
     118        //         {this.state.componentToShow === "login" && <LoginForm onLogin={this.onLogin} onRegister={this.onRegister} />}
     119        //         {this.state.loading && <div>Loading...</div>} {/* Show loading state */}
     120        //     </div>
     121        // );
    104122    }
    105123}
Note: See TracChangeset for help on using the changeset viewer.