Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 5802 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3546 stevensc 1
/* eslint-disable react/prop-types */
5793 stevensc 2
import React, { useEffect, useState } from 'react'
3
import parse from 'html-react-parser'
4
import { feedTypes } from '../../../redux/feed/feed.types'
5794 stevensc 5
import { useDispatch } from 'react-redux'
5795 stevensc 6
import { setIntlLabels } from '../../../redux/intl/intl.action'
5796 stevensc 7
import { setTimelineUrl } from '../../../redux/feed/feed.actions'
1 www 8
 
5796 stevensc 9
import Cover from '../../../shared/cover/Cover'
10
import GroupInfo from './component/GroupInfo'
11
import GroupAttr from './component/GroupAttr'
12
import ShareFeed from '../../../dashboard/components/share-feed/ShareFeed'
13
import FeedSection from '../../../dashboard/components/feed-section/FeedSection'
14
import SuggestWidget from '../../../shared/helpers/my-groups-helper/SuggestWidget'
5803 stevensc 15
import GroupMembers from './component/GroupMember'
5796 stevensc 16
 
5794 stevensc 17
const View = ({
18
  routeTimeline,
19
  groupId,
20
  cover,
21
  image,
22
  totalMembers,
23
  name,
24
  overview,
25
  groupType,
26
  industry,
27
  privacy,
28
  accessibility,
29
  website,
30
  withoutFeeds,
31
  linkInmail,
5795 stevensc 32
  labels,
5794 stevensc 33
}) => {
1 www 34
  const groupTabs = {
5793 stevensc 35
    FEED_TAB: 'FEED_TAB',
36
    INFO_TAB: 'INFO_TAB',
37
  }
1068 stevensc 38
 
5793 stevensc 39
  const [currentTab, setCurrentTab] = useState(
40
    withoutFeeds ? groupTabs.INFO_TAB : groupTabs.FEED_TAB
41
  )
5794 stevensc 42
  const dispatch = useDispatch()
2246 stevensc 43
 
5795 stevensc 44
  useEffect(() => {
45
    dispatch(setTimelineUrl(routeTimeline))
46
    dispatch(setIntlLabels(labels))
47
  }, [])
5794 stevensc 48
 
1 www 49
  return (
3903 stevensc 50
    <>
5793 stevensc 51
      <Cover cover={cover} id={groupId} type="group" />
52
      <main className="main-section-data container px-0 mt-3">
53
        <div className="main-left-sidebar">
5796 stevensc 54
          <GroupInfo
55
            accessibility={accessibility}
5793 stevensc 56
            groupId={groupId}
5796 stevensc 57
            image={image}
58
            linkInmail={linkInmail}
59
            name={name}
60
            totalMembers={totalMembers}
5793 stevensc 61
          />
5803 stevensc 62
          <GroupMembers groupId={groupId} />
5793 stevensc 63
        </div>
5802 stevensc 64
        <div className="feed-section">
5793 stevensc 65
          <div className="user-tab-sec">
66
            {!withoutFeeds && (
67
              <div className="row">
68
                <div className="col text-left pl-0">
69
                  <button
70
                    className={` ${
71
                      currentTab === groupTabs.FEED_TAB ? 'active' : ''
72
                    } animated fadeIn btn btn-link p-0 text-decoration-none`}
73
                    onClick={() => setCurrentTab(groupTabs.FEED_TAB)}
74
                  >
75
                    <span className="font-weight-bold">Ver Publicaciones</span>
76
                  </button>
1 www 77
                </div>
5793 stevensc 78
                <div className="col text-right pr-0">
79
                  <button
80
                    className={` ${
81
                      currentTab === groupTabs.INFO_TAB ? 'active' : ''
82
                    } animated fadeIn btn btn-link p-0 text-decoration-none`}
83
                    onClick={() => setCurrentTab(groupTabs.INFO_TAB)}
84
                  >
85
                    <span className="font-weight-bold">Ver Información</span>
86
                  </button>
87
                </div>
88
              </div>
89
            )}
90
          </div>
91
          {currentTab === groupTabs.FEED_TAB && (
92
            <div className="product-feed-tab fadeIn">
3903 stevensc 93
              <ShareFeed
94
                feedType={feedTypes.GROUP}
95
                postUrl={`/feed/add/group/${groupId}`}
5793 stevensc 96
                image={`/storage/type/group/code/${groupId}/${
97
                  image ? `filename/${image}` : ''
98
                }`}
3903 stevensc 99
              />
100
              <div className="posts-section">
101
                <FeedSection
102
                  routeTimeline={routeTimeline}
5793 stevensc 103
                  image={`/storage/type/group/code/${groupId}/${
104
                    image ? `filename/${image}` : ''
105
                  }`}
3903 stevensc 106
                />
1 www 107
              </div>
3903 stevensc 108
            </div>
5793 stevensc 109
          )}
110
          {currentTab === groupTabs.INFO_TAB && (
111
            <div className="product-feed-tab fadeIn">
112
              {overview && (
113
                <GroupAttr title="Visión General">
114
                  <span>{parse(overview)}</span>
115
                </GroupAttr>
116
              )}
117
              {groupType && (
118
                <GroupAttr title="Tipo">
119
                  <span>{groupType}</span>
120
                </GroupAttr>
121
              )}
122
              {industry && (
123
                <GroupAttr title="Industria">
124
                  <span>{industry}</span>
125
                </GroupAttr>
126
              )}
127
              {!!privacy && (
128
                <GroupAttr title="Privacidad">
129
                  <span>{privacy}</span>
130
                </GroupAttr>
131
              )}
132
              {!!accessibility && (
133
                <GroupAttr title="Accesibilidad">
134
                  <span>{accessibility}</span>
135
                </GroupAttr>
136
              )}
137
              {!!website && (
138
                <GroupAttr title="Página Web">
139
                  <span>{website}</span>
140
                </GroupAttr>
141
              )}
1 www 142
            </div>
5793 stevensc 143
          )}
3903 stevensc 144
        </div>
5793 stevensc 145
        <div className="right-sidebar">
5795 stevensc 146
          <SuggestWidget
147
            title="Grupos:"
148
            url="/helpers/groups-suggestion"
149
            btnLabelAccept={labels.GROUP_VIEW}
150
          />
5793 stevensc 151
        </div>
152
      </main>
3903 stevensc 153
    </>
5793 stevensc 154
  )
155
}
1 www 156
 
5794 stevensc 157
export default View