@fortawesome/free-solid-svg-icons#faCalendar JavaScript Examples

The following examples show how to use @fortawesome/free-solid-svg-icons#faCalendar. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: Maps.js    From covidAnalytics with MIT License 5 votes vote down vote up
render() {


    return (

        <div className="cardContainer">
          <Card>
            <CardBody>

              <CardTitle tag="h4" className=" mb-2 mb-xl-2 font-weight-bold">
                Mapa Rio Grande do Sul
              </CardTitle> 

              </CardBody>

              <Map center={center} zoom={7} maxZoom={9}>

                <TileLayer
                  attribution='&amp;copy <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
                  url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
                />

            <MarkerClusterGroup>
                  {array_obj_confirmed.map(({lat, lng, nome, confirmed, pop_estimada, data}, index) => (
                        <Marker position={[lat, lng]} key={index} icon={new L.NumberedDivIcon({number: confirmed})} attribution="confirmed" >
                            <Popup minWidth={250}>
                              <div className="popUp-container">
                                <div className="popUp-title">{nome}</div>
                                <div className="popUp-body">
                                  <ul>
                                    <li><FontAwesomeIcon icon={faVirus}/> Casos confirmados: {confirmed}</li>
                                    <li><FontAwesomeIcon icon={faUser}/> População Estimada 2019: {pop_estimada}</li>
                                    <li><FontAwesomeIcon icon={faCalendar}/> Data da ultima atualização: {data}</li>  
                                  </ul> 
                                </div>
                              </div>
                            </Popup>
                        </Marker>
                      

                      
                      ))}  
                      </MarkerClusterGroup> 
              </Map>
          </Card> 
        </div>
    );
  }
Example #2
Source File: Sidebar.jsx    From MyHome-Web with Apache License 2.0 5 votes vote down vote up
getLinks() {
    return [
      {
        link: '/',
        icon: faHome,
        text: 'Home',
      },
      {
        link: '/notifications',
        icon: faBell,
        text: 'Notifications',
      },
      {
        link: '/bookamenity',
        icon: faCalendar,
        text: 'Book Amenity',
      },
      {
        link: '/payments',
        icon: faMoneyBill,
        text: 'Payments',
      },
      {
        link: '/settings',
        icon: faCogs,
        text: 'Settings',
      },
      {
        normal: true,
        link: 'https://example.org',
        icon: faQuestion,
        text: 'Help',
      },
      {
        normal: true,
        icon: faComment,
        link: 'https://github.com/',
        text: 'Feedback',
      },
    ];
  }
Example #3
Source File: jobDetails.js    From open-jobboard with Apache License 2.0 4 votes vote down vote up
JobDetails = (props) => {
    const [firstLoad, setFirstLoad] = useState(true);
    const [job, setJob] = useState(null);
    useEffect(() => {
        props.fetchJob({jobKey: props.jobKey})
    },[props.jobKey]);

    useEffect(() => {
        if(props.job.s) {
            setJob(props.job)
        }
        return () => {
            setJob(null)
        }
    }, [props.job])
    useEffect(() => {
        if(!firstLoad) {
            if(props.profile?.s && props.profile?.put) {
                swal({
                    title: "Merci d’avoir déposé votre candidature!",
                    text: "L’un de nos consultants va l’étudier et reviendra vers vous.",
                    icon: "success",
                })
            }
            if(props.profile?.f && props.profile?.put) {
                swal(
                    {
                    type: 'error',
                    title: 'Oops...',
                    text: 'Un problème est survenu, veuillez essayer plus tard',
                    }
                )
            }
        }
        return () => {
            setFirstLoad(false)
        };
    },[props.profile])
    
    const jobData = job?.payload || null
    let taggy = ""
    if(props.documentParsing.s) {
        const text = props.documentParsing.payload.text
        const documentParsing = props.documentParsing.payload.ents.filter(item => item.label !== 'JobTitle')
        const spans = documentParsing.map(ent => {
            switch (ent.label) {
                case "FirstName": 
                    return { type: "prénom", start: ent.start, end: ent.end }
                case "LastName": 
                    return { type: "nom", start: ent.start, end: ent.end }
                case "Date": 
                    return { type: "date", start: ent.start, end: ent.end }
                case "Duration": 
                    return { type: "durée", start: ent.start, end: ent.end }
                case "Location": 
                    return { type: "localisation", start: ent.start, end: ent.end }
                case "Company": 
                    return { type: "entreprise", start: ent.start, end: ent.end }
                // case "JobTitle": 
                //     return { type: "poste", start: ent.start, end: ent.end }
                case "Task": 
                    return { type: "tâche", start: ent.start, end: ent.end }
                case "School": 
                    return { type: "école", start: ent.start, end: ent.end }
                case "EduTitle": 
                    return { type: "formation", start: ent.start, end: ent.end }
                case "Course": 
                    return { type: "cours", start: ent.start, end: ent.end }
                case "HardSkill": 
                    return { type: "savoir-faire", start: ent.start, end: ent.end }
                case "SoftSkill": 
                    return { type: "savoir-être", start: ent.start, end: ent.end }
                case "Certification": 
                    return { type: "certification", start: ent.start, end: ent.end }
                case "Language": 
                    return { type: "langue", start: ent.start, end: ent.end }
                case "Interest": 
                    return { type: "interêt", start: ent.start, end: ent.end }
                case "Email": 
                    return { type: "email", start: ent.start, end: ent.end }
                case "Phone": 
                    return { type: "téléphone", start: ent.start, end: ent.end }
                case "URL": 
                    return { type: "site-web", start: ent.start, end: ent.end }
                default: 
                    return { type: ent.label.toLowerCase(), start: ent.start, end: ent.end }
            }   
        })
    
        const ents = [
            { type: 'prénom', color: {h: 303, s: 98.1, l: 42.2, a: 1}},
            { type: 'nom', color: {h: 191, s: 95, l: 23, a: 1}},
            { type: 'date', color: {h: 229, s: 51.9, l: 54.3, a: 1}},
            { type: 'durée', color: {h: 321, s: 70.9, l: 67.6, a: 1}},
            { type: 'localisation', color: {h: 94, s: 48.6, l: 50.4, a: 1}},
            { type: 'entreprise', color: {h: 71, s: 59.5, l: 51.6, a: 1}},
            // { type: 'poste', color: {h: 52, s: 62.5, l: 43.9, a: 1}},
            { type: 'tâche', color: {h: 80, s: 75.5, l: 53.1, a: 1}},
            { type: 'école', color: {h: 282, s: 98.6, l: 71, a: 1}},
            { type: 'formation', color: {h: 291, s: 98.9, l: 36.1, a: 1}},
            { type: 'cours', color: {h: 274, s: 64.9, l: 19, a: 1}},
            { type: 'savoir-faire', color: {h: 203, s: 79.9, l: 61, a: 1}},
            { type: 'savoir-être', color: {h: 200, s: 6, l: 80.4, a: 1}},
            { type: 'certification', color: {h: 285, s: 55.7, l: 53.9, a: 1}},
            { type: 'langue', color: {h: 168, s: 82, l: 52.2, a: 1}},
            { type: 'interêt', color: {h: 272, s: 32.7, l: 43.7, a: 1}},
            { type: 'email', color: {h: 351, s: 70.3, l: 61.8, a: 1}},
            { type: 'téléphone', color:  {h: 90, s: 23.7, l: 53.7, a: 1}},
            { type: 'site-web', color: {h: 204, s: 93.9, l: 44.9, a: 1}}
        ]

        taggy = (<Taggy text={text} spans={spans} ents={ents} />)

    }

    if(jobData) {
        const name = jobData?.name;
        const descriptionContent = jobData?.sections?.filter(section => section.title === 'description')?.[0]?.description || ''
        const profileContent = jobData?.sections?.filter(section => section.title === 'profile')?.[0]?.description || ''
        const location = jobData?.location?.text || ''
        const company = jobData?.tags?.filter(tag => tag.name === 'company')?.[0]?.value || ''
        const category = jobData?.tags?.filter(tag => tag.name === 'category')?.[0]?.value || ''
        const contract = jobData?.tags?.filter(tag => tag.name === 'type')?.[0]?.value || ''
        // const activity = jobData?.tags?.filter(tag => tag.name === 'field_of_activity')?.[0]?.value || ''

        const creationDate =  moment(jobData?.created_at).format('DD MMM YYYY')
        const profileJobTag = { name: 'application_board_job_key', value: `${process.env.SOURCE_KEY}-${jobData.key}` }
        return (
            <>
                <div className="col-20 col-offer sticky col-33">
                    {/* <Link to="/jobs" className="button button--light large">
                        <FontAwesomeIcon className="icon-left" icon={faArrowLeft} /> Retour aux offres
                    </Link> */}
                    <div className="card jobDetails">
                        <div className="tags search-box">
                            {props.score && (
                                <div className="score-wrapper">
                                    <Score
                                        score={props.score}
                                    />
                                </div>
                            )}
                            {company && (
                                <div className="job-tag">
                                    <div className="icon-fixed-width"><FontAwesomeIcon className="icon-left" icon={faBriefcase} /></div>{company}
                                </div>
                            )}
                            <h3 style={{marginBottom: '1rem'}}>Le poste</h3>
                            {contract && (
                                <div className="job-tag">
                                    <div className="icon-fixed-width"><FontAwesomeIcon className="icon-left" icon={faFileAlt} /></div>{contract}
                                </div>
                            )}
                            {category && (
                                <div className="job-tag">
                                    <div className="icon-fixed-width"><FontAwesomeIcon className="icon-left" icon={faIndustry} /></div>{category}
                                </div>
                            )}
                           
                            {creationDate && (
                                <div className="job-tag">
                                    <div className="icon-fixed-width"><FontAwesomeIcon className="icon-left" icon={faCalendar} /></div>{creationDate}
                                </div>
                            )}

                            {location && (
                                <div className="job-tag">
                                    <div className="icon-fixed-width"><FontAwesomeIcon className="icon-left" icon={faMapMarkerAlt} /></div>{location}
                                </div>
                            )}
                        </div>
                        <div className="details__drop">
                            {props.file?.fileName ? (
                                <div className="apply">
                                    {props.profile?.payload?.tags?.filter(tag => JSON.stringify(tag) === JSON.stringify(profileJobTag)).length > 0 ? (
                                        <h3 className="text-center">Vous avez candidaté à cette offre.</h3>
                                    ):(
                                        <button
                                            className="button button-large drop-button"
                                            onClick={() => props.putProfile({profile: props.profile.payload, jobKey: jobData.key})}
                                            disabled={props.profile?.r}
                                        >
                                            {props.profile?.r ? <span className="loader"></span> : 'POSTULER'}
                                        </button>
                                    )}
                                </div>
                                )
                                :
                                (
                                    <div>
                                        <Dropzone
                                            addProfile={props.addProfile}
                                            profile={props.profile}
                                            redirectTojobs={false}
                                            removeProfile={props.removeProfile}
                                            file={props.file}
                                            details
                                        />
                                    </div>
                                )
                            }
                        </div>
                    </div>
                   {props.documentRevealing.s && (
                         <Revealing revealing={props.documentRevealing} />
                   )}
                </div>
                <div className="col-60 col-67">
                    {props.documentParsing.s && (
                        <div className="jobs details">
                            <h3>Description du poste</h3>
                            <div className="details__description">
                                {taggy}
                            </div>
                            <Share
                            socialConfig={{
                                twitterHandle: 'hrflowai',
                                config: {
                                    url: `https://demo.cvbox.com/?job_key=${jobData.key}&board_key=49348f504e997c501e45a3634dce5a865370ff90`,
                                    title: name,
                                    },
                                }}
                            />
                        </div>
                    )}
                    {props.documentParsing.r && (
                        <div className="loader" style={{margin: 'auto'}}></div>
                    )}
                </div>
                <div className="col-20 col-33 col-offer">
                    {props.jobs?.payload?.jobs?.length ? (
                        <div>
                            <h3>{props.file?.fileName ? 'Offres recommandées' : 'Autres offres'}</h3>
                            <RelatedJobs jobs={props.jobs.payload.jobs.filter(job => job.key !== jobData.key).splice(0, 3)} />
                        </div>
                    )
                    :
                    (
                        ''
                    )
                }
                </div>
            </>
        )
    }

    if(props.job.f) {
        return (
            <div style={{display: 'flex', justifyContent: 'center', width: '100%'}}>
                <ErrorMessage message="Aucun résultat trouvé" />
            </div>
        )
    }

    return (
        <>
            <div className="loader" style={{margin: 'auto'}}></div>
        </>
    )

}
Example #4
Source File: blog.component.js    From blogApp with MIT License 4 votes vote down vote up
render() {
        return (
            <div className='pt-2 px-3'>
                <div className='row mr-auto ml-0 mb-4 mt-0'>
                    <Button
                        color='primary'
                        size='lg'
                        onClick={() => {
                            window.location.href = "/";
                        }}
                        style={{
                            width: "60px",
                            height: "60px",
                            borderRadius: "50%",
                        }}>
                        <FontAwesomeIcon icon={faArrowLeft} />
                    </Button>
                </div>
                {!this.state.loaded ? (
                    <ReactLoading
                        type={"spin"}
                        color={"orange"}
                        height={"100vh"}
                        width={"40%"}
                        className='loading'
                    />
                ) : (
                    <Card id='blog' className='p-2 col-12 singleBlog'>
                        <CardImg
                            src={this.state.image}
                            alt='Card image cap'
                            className='img-thumbnail'
                        />
                        <CardBody>
                            <CardTitle className='text-primary'>
                                <h5>
                                    {this.state.title}
                                    <span className='float-right text-secondary'>
                                        {"-"}
                                        <em>@{this.state.author.username}</em>
                                    </span>
                                </h5>
                            </CardTitle>
                            {this.state.date !== "" && (
                                <CardSubtitle className='text-dark'>
                                    <FontAwesomeIcon
                                        icon={faCalendar}
                                        className='mr-2'
                                    />
                                    {new Intl.DateTimeFormat("en-US", {
                                        month: "long",
                                        day: "numeric",
                                        year: "numeric",
                                        hour: "numeric",
                                        minute: "numeric",
                                    }).format(Date.parse(this.state.date))}
                                    <span className='float-right'>
                                        <FontAwesomeIcon
                                            className='text-danger'
                                            icon={faHeart}
                                        />{" "}
                                        {this.state.likes.length}
                                    </span>
                                </CardSubtitle>
                            )}
                            <CardText>
                                <br />
                                {this.state.body}
                            </CardText>
                        </CardBody>
                        <CardFooter>
                            {this.props.user !== null &&
                                this.props.user._id ===
                                    this.state.author.id && (
                                    <div
                                        style={{ display: "flex" }}
                                        className='p-1'>
                                        <Button
                                            className='btn btn-danger mr-1'
                                            style={{ width: "48%" }}
                                            onClick={this.deleteBlog}>
                                            Delete
                                        </Button>{" "}
                                        <Button
                                            className='btn btn-warning ml-1'
                                            style={{ width: "48%" }}
                                            onClick={this.toggleModal}>
                                            Edit
                                        </Button>
                                    </div>
                                )}
                        </CardFooter>
                    </Card>
                )}
                <Modal
                    isOpen={this.state.isModalOpen}
                    fade={false}
                    toggle={this.toggleModal}>
                    <ModalHeader toggle={this.toggleModal}>
                        Add a blog
                    </ModalHeader>
                    <Form onSubmit={this.onSubmit}>
                        <ModalBody>
                            <FormGroup>
                                <Label htmlFor='title'>title</Label>
                                <Input
                                    type='text'
                                    id='title'
                                    onChange={this.ontitleChange}
                                    value={this.state.title}
                                    name='title'
                                />
                            </FormGroup>
                            <FormGroup>
                                <Label htmlFor='imageURL'>imageURL</Label>
                                <Input
                                    type='text'
                                    id='imageURL'
                                    onChange={this.onimgChange}
                                    value={this.state.image}
                                    name='imageURL'
                                />
                            </FormGroup>
                            <FormGroup>
                                <Label htmlFor='body'>body</Label>
                                <Input
                                    type='textarea'
                                    id='body'
                                    onChange={this.onbodyChange}
                                    value={this.state.body}
                                    name='body'
                                />
                            </FormGroup>
                        </ModalBody>
                        <ModalFooter>
                            <Button
                                type='submit'
                                value='submit'
                                color='primary'>
                                UPDATE BLOG
                            </Button>
                        </ModalFooter>
                    </Form>
                </Modal>
            </div>
        );
    }
Example #5
Source File: blogList.component.js    From blogApp with MIT License 4 votes vote down vote up
render() {
        const blog = this.props.blog;

        return (
            <div
                className='col-12 col-md-6 col-lg-4 col-xl-3 mb-5'
                key={blog._id}>
                <Card className='p-1 m-1 h-100' id='cards'>
                    <Card>
                        <CardImg
                            top
                            width='100%'
                            src={blog.image}
                            alt='Card image cap'
                            className='img-fluid'
                        />
                        <CardImgOverlay>
                            <h3>
                                <FontAwesomeIcon
                                    className='text-danger'
                                    icon={faHeart}
                                />{" "}
                                {this.state.likes}
                            </h3>
                        </CardImgOverlay>
                    </Card>

                    <CardBody className='d-flex flex-column'>
                        <CardTitle className='text-primary'>
                            <h5>
                                {blog.title}
                                {this.state.liked ? (
                                    <span
                                        className='float-right '
                                        style={{ cursor: "pointer" }}
                                        onClick={this.toggleLike}>
                                        <FontAwesomeIcon
                                            icon={faHeart}
                                            className='text-danger'
                                        />
                                    </span>
                                ) : (
                                    <span
                                        className='float-right '
                                        onClick={this.toggleLike}>
                                        <FontAwesomeIcon
                                            style={{
                                                color: "rgba(0,0,0,0.2)",
                                                cursor: "pointer",
                                            }}
                                            icon={faHeart}
                                            className=''
                                        />
                                    </span>
                                )}
                            </h5>
                        </CardTitle>
                        <CardSubtitle>
                            {"-"}
                            <em>@{blog.author.username}</em>
                        </CardSubtitle>
                        <br />
                        <CardText className=''>
                            {blog.body.substring(0, 70)}
                            {" ..."}
                        </CardText>
                        <Link
                            to={{
                                pathname: `/blog/${blog._id}`,
                                blog: { blog },
                            }}
                            className='text-decoration-none mt-auto'>
                            <Button className='btn btn-sm' color='success'>
                                Read More
                            </Button>
                        </Link>
                    </CardBody>
                    {blog.date && (
                        <CardFooter className='small '>
                            <FontAwesomeIcon
                                icon={faCalendar}
                                className='mr-2'
                            />
                            {new Intl.DateTimeFormat("en-US", {
                                month: "long",
                                day: "numeric",
                                year: "numeric",
                                hour: "numeric",
                                minute: "numeric",
                            }).format(Date.parse(blog.date))}
                            {/* {blog.date} */}
                        </CardFooter>
                    )}
                </Card>
            </div>
        );
    }
Example #6
Source File: myBlog.component.js    From blogApp with MIT License 4 votes vote down vote up
render() {
        const blog = this.props.blog;
        return (
            <div
                className='col-12 col-md-6 col-lg-4 col-xl-3 mb-5'
                key={blog._id}>
                <Card className='p-1 m-1' id='cards'>
                    <Card>
                        <CardImg
                            top
                            width='100%'
                            src={blog.image}
                            alt='Card image cap'
                            className='img-fluid'
                        />
                        <CardImgOverlay>
                            <h3>
                                <FontAwesomeIcon
                                    className='text-danger'
                                    icon={faHeart}
                                />{" "}
                                {blog.likes.length}
                            </h3>
                        </CardImgOverlay>
                    </Card>

                    <CardBody>
                        <CardTitle className='text-primary'>
                            <h5>
                                {blog.title}
                                {this.state.liked ? (
                                    <span
                                        className='float-right '
                                        style={{ cursor: "pointer" }}
                                        onClick={this.toggleLike}
                                    />
                                ) : (
                                    <span
                                        className='float-right '
                                        onClick={this.toggleLike}>
                                        {/* <FontAwesomeIcon
                                            style={{
                                                color: "rgba(0,0,0,0.2)",
                                                cursor: "pointer",
                                            }}
                                            icon={faHeart}
                                            className=''
                                        /> */}
                                    </span>
                                )}
                            </h5>
                        </CardTitle>
                        <CardSubtitle>
                            {"-"}
                            <em>@{blog.author.username}</em>
                        </CardSubtitle>
                        <br />
                        <CardText className=''>
                            {blog.body.substring(0, 50)}
                            {" ..."}
                        </CardText>
                        <div className='row justify-content-center'>
                            <Button
                                className='btn btn-sm col-5 mr-1'
                                color='success'>
                                <Link
                                    to={{
                                        pathname: `/blog/${blog._id}`,
                                        blog: { blog },
                                    }}
                                    className='text-decoration-none text-white'>
                                    Read More
                                </Link>
                            </Button>
                            <Button
                                className='col-5 btn btn-sm ml-1'
                                color='danger'
                                onClick={this.showLikes}>
                                Likes
                            </Button>
                        </div>
                    </CardBody>
                    {blog.date && (
                        <CardFooter className='small '>
                            <FontAwesomeIcon
                                icon={faCalendar}
                                className='mr-2'
                            />
                            {new Intl.DateTimeFormat("en-US", {
                                month: "long",
                                day: "numeric",
                                year: "numeric",
                                hour: "numeric",
                                minute: "numeric",
                            }).format(Date.parse(blog.date))}
                            {/* {blog.date} */}
                            {this.state.isOpen && (
                                <div className='likes m-3'>
                                    <h6>
                                        <FontAwesomeIcon
                                            className='text-danger'
                                            icon={faHeart}
                                        />{" "}
                                        {this.state.likes.length} Likes
                                    </h6>
                                    <ul className='list-group list-group-flush'>
                                        {this.state.likes.map((user) => (
                                            <li className='list-group-item py-2 pl-0'>
                                                <FontAwesomeIcon
                                                    icon={faUserCircle}
                                                    // className='text-danger'
                                                />
                                                {"  "}
                                                {user.username}
                                            </li>
                                        ))}
                                    </ul>
                                </div>
                            )}
                        </CardFooter>
                    )}
                </Card>
            </div>
        );
    }
Example #7
Source File: Navigation.jsx    From jitsi-party with MIT License 4 votes vote down vote up
render() {
    const onClick = this.props.onClick;
    const { north, south, east, west } = this.props.directions || {};

    const mapButtonClass = this.props.showMapTooltip
      ? "map-button animated"
      : "map-button";
    const pokeButtonClass = this.state.showPokeOptions
      ? "poke-button focused"
      : "poke-button";

    const room = this.props.currentRoom.room;
    const audio = this.props.rooms[room].audio;
    const roomType = this.props.rooms[room].type;
    const events = this.props.events;
    const users = _.flatten(Object.values(this.props.users));

    const handleClickMap = () => this.props.handleOpenModal("map");
    const handleClickEvents = () => this.props.handleOpenModal("events");
    const handleClickEmail = () => this.props.handleOpenModal("email");

    return (
      <div className="navigation-container">
        <div className="column settings-container">
          <div className="map-button-container">
            {this.props.showMapButton && !this.props.hideSettings && (
              <button
                className={mapButtonClass}
                title={Config.tooltips.map}
                disabled={false}
                onClick={handleClickMap}
              >
                <FontAwesomeIcon icon={faMap} />
              </button>
            )}
            {/* {this.props.showMapTooltip &&
                            <div className="map-tooltip">you have unlocked the party map!</div>
                        } */}
          </div>
          <div className="events-button-container">
            {events && events.length > 0 && !this.props.hideSettings && (
              <button
                className="events-button"
                title={Config.tooltips.events}
                onClick={handleClickEvents}
              >
                <FontAwesomeIcon icon={faCalendar} />
              </button>
            )}
          </div>
          <div className="email-button-container">
            {Config.moderation &&
              !_.isEmpty(Config.moderation.moderatorEmails) && (
                <button
                  className="email-button"
                  title={Config.tooltips.moderator}
                  onClick={handleClickEmail}
                >
                  <FontAwesomeIcon icon={faEnvelope} />
                </button>
              )}
          </div>
          {roomType.toUpperCase() === "CHATSTREAM" &&
          this.props.currentRoom.entered &&
          !this.props.hideSettings ? (
            <div className="chat-button-container">
              <button
                className={mapButtonClass}
                title={Config.tooltips.chat}
                disabled={false}
                onClick={() =>
                  this.setState({ hideChat: !this.state.hideChat })
                }
              >
                <FontAwesomeIcon icon={faCommentAlt} />
              </button>
            </div>
          ) : null}
          <div className="poke-button-container">
            {Config.poke &&
              this.props.isPokingUnlocked &&
              !this.props.hideSettings && (
                <button
                  className={pokeButtonClass}
                  title={Config.tooltips.poke}
                  onClick={this.handleClickPokeButton.bind(this)}
                >
                  <FontAwesomeIcon icon={Config.poke.fontAwesomeIcon} />
                </button>
              )}
            {this.state.showPokeOptions && (
              <PokeOptions
                users={users}
                handlePoke={this.handlePoke.bind(this)}
              />
            )}
          </div>
          <div className="audio-button-container">
            {audio && (
              <AudioPlayer
                src={audio.path}
                autoPlay={audio.autoPlay}
                hide={audio.hideControls}
                onChange={this.handleAudioChanged.bind(this)}
              ></AudioPlayer>
            )}
          </div>
        </div>
        <div className="column">
          <button
            className="west"
            disabled={!west}
            onClick={() => onClick(west)}
          >
            <FontAwesomeIcon icon={faArrowLeft} />
            <span className="navigation-room-name">
              {_.get(this.props.rooms[west], "name")}
            </span>
          </button>
        </div>
        <div className="column">
          <button
            className="north"
            disabled={!north}
            onClick={() => onClick(north)}
          >
            <FontAwesomeIcon icon={faArrowUp} />
            <span className="navigation-room-name">
              {_.get(this.props.rooms[north], "name")}
            </span>
          </button>
          <button
            className="south"
            disabled={!south}
            onClick={() => onClick(south)}
          >
            <FontAwesomeIcon icon={faArrowDown} />
            <span className="navigation-room-name">
              {_.get(this.props.rooms[south], "name")}
            </span>
          </button>
        </div>
        <div className="column">
          <button
            className="east"
            disabled={!east}
            onClick={() => onClick(east)}
          >
            <FontAwesomeIcon icon={faArrowRight} />
            <span className="navigation-room-name">
              {_.get(this.props.rooms[east], "name")}
            </span>
          </button>
        </div>
        <div className="column column-avatar">
          <div className="puck-wrapper">
            <img
              src={
                Config.avatars[this.props.user.avatar.type].images[
                  this.props.user.avatar.color
                ]
              }
            />
          </div>
        </div>
      </div>
    );
  }
Example #8
Source File: content.js    From yezz.me with MIT License 4 votes vote down vote up
render() {
    return (
      <StaticQuery
        query={graphql`
          query projectsQuery {
            allProjectsJson {
              edges {
                node {
                  project
                  link
                  description
                  language
                }
              }
            }
            allLanguagesJson {
              edges {
                node {
                  id
                  language
                }
              }
            }
            allArticlesJson {
              edges {
                node {
                  article
                  link
                  description
                  language
                }
              }
            }
            allCommunityJson {
              edges {
                node {
                  communityName
                  communityLink
                  Stack
                  Year
                  Description
                }
              }
            }
            allTalkJson {
              edges {
                node {
                  subject
                  link
                  Description
                }
              }
            }
          }
        `}
        render={data => (
          <>
            <section className="content" id="content">
              <div className="container">
                <div className="subsection">
                  <h2 className="mt-5">
                    <span className="dot"></span>Last{" "}
                    <span className="word">Articles</span>
                  </h2>
                  <div className="row">
                    {data.allArticlesJson.edges.map(({ node }, index) => (
                      <div className="col-lg-4" key={index}>
                        <div className="card mb-4">
                          <div className="card-body">
                            <div className="card-title">
                              <h3>{node.article}</h3>
                              <h4>
                                <FontAwesomeIcon
                                  icon={faTag}
                                  className="mr-2"
                                />
                                {node.language}
                              </h4>
                            </div>

                            <div className="card-text">{node.description}</div>
                          </div>
                          <div className="card-footer">
                            <a
                              href={node.link}
                              target="_blank"
                              rel="noreferrer"
                            >
                              View
                            </a>
                          </div>
                        </div>
                      </div>
                    ))}
                  </div>
                </div>
                {/* + Technologies subsection */}
                <div className="subsection">
                  <h2 className="mt-5">
                    <span className="dot"></span>Language &{" "}
                    <span className="word">Technology</span>
                  </h2>
                  <div className="row">
                    {data.allLanguagesJson.edges.map(({ node }, index) => (
                      <div className="col-lg-4 col-md-6" key={index}>
                        <div className="card">
                          <div className="card-text">
                            <div className="card-item">
                              <FontAwesomeIcon
                                icon={faCode}
                                className="mr-2 item-icon"
                              />{" "}
                              {node.language}
                            </div>
                          </div>
                        </div>
                      </div>
                    ))}
                  </div>
                </div>
                {/* - Technologies subsection */}
                <br />
                {/* - Community subsection */}
                <div className="subsection">
                  <h2>
                    <span className="dot"></span>Community{" "}
                  </h2>
                  {data.allCommunityJson.edges.map(({ node }, index) => (
                    <div className="card">
                      <div className="card-body" key={index}>
                        <div className="card-title">
                          <a
                            href={node.communityLink}
                            target="_blank"
                            rel="noreferrer"
                          >
                            <h3>{node.communityName}</h3>
                          </a>
                          <h4>
                            <FontAwesomeIcon
                              icon={faUserNinja}
                              className="mr-2"
                            />{" "}
                            {node.Stack}
                          </h4>
                          <h4>
                            <FontAwesomeIcon
                              icon={faCalendar}
                              className="mr-2"
                            />{" "}
                            {node.Year}
                          </h4>
                        </div>
                        <div className="card-text">
                          <span>⭐</span> {node.Description}
                        </div>
                      </div>
                    </div>
                  ))}
                </div>
                {/* + Projects subsection */}
                <div className="subsection">
                  <h2 className="mt-5">
                    <a
                      href="https://github.com/yezz123"
                      target="_blank"
                      rel="noreferrer"
                    >
                      <span className="dot"></span>OpenSource
                    </a>{" "}
                  </h2>
                  <div className="row">
                    {data.allProjectsJson.edges.map(({ node }, index) => (
                      <div className="col-lg-4" key={index}>
                        <div className="card mb-4">
                          <div className="card-body">
                            <div className="card-title">
                              <h3>{node.project}</h3>
                              <h4>
                                <FontAwesomeIcon
                                  icon={faCode}
                                  className="mr-2"
                                />
                                {node.language}
                              </h4>
                            </div>

                            <div className="card-text">{node.description}</div>
                          </div>
                          <div className="card-footer">
                            <a
                              href={node.link}
                              target="_blank"
                              rel="noreferrer"
                            >
                              View
                            </a>
                          </div>
                        </div>
                      </div>
                    ))}
                  </div>
                </div>

                {/* + Talk subsection */}
                <div className="subsection">
                  <h2>
                    <span className="dot"></span>Talks{" "}
                  </h2>
                  {data.allTalkJson.edges.map(({ node }, index) => (
                    <div className="card">
                      <div className="card-body" key={index}>
                        <div className="card-title">
                          <a href={node.link} target="_blank" rel="noreferrer">
                            <h4>{node.subject}</h4>
                          </a>
                        </div>

                        <div className="card-text">
                          <span>⭐</span> {node.Description}
                        </div>
                      </div>
                    </div>
                  ))}
                </div>
              </div>
            </section>
          </>
        )}
      />
    )
  }