MCPcopy Index your code
hub / github.com/vercel/hyper / render

Method render

lib/components/header.tsx:79–254  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

77 }
78
79 render() {
80 const {isMac} = this.props;
81 const props = getTabsProps(this.props, {
82 tabs: this.props.tabs,
83 borderColor: this.props.borderColor,
84 onClose: this.props.onCloseTab,
85 onChange: this.onChangeIntent,
86 fullScreen: this.props.fullScreen
87 });
88 const {borderColor} = props;
89 let title = 'Hyper';
90 if (props.tabs.length === 1 && props.tabs[0].title) {
91 // if there's only one tab we use its title as the window title
92 title = props.tabs[0].title;
93 }
94 const {hambMenu, winCtrls} = this.getWindowHeaderConfig();
95 const left = winCtrls === 'left';
96 const maxButtonHref = this.props.maximized
97 ? './renderer/assets/icons.svg#restore-window'
98 : './renderer/assets/icons.svg#maximize-window';
99
100 return (
101 <header
102 className={`header_header ${isMac && 'header_headerRounded'}`}
103 onMouseDown={this.handleHeaderMouseDown}
104 onMouseUp={() => window.focusActiveTerm()}
105 onDoubleClick={this.handleMaximizeClick}
106 >
107 {!isMac && (
108 <div
109 className={`header_windowHeader ${props.tabs.length > 1 ? 'header_windowHeaderWithBorder' : ''}`}
110 style={{borderColor}}
111 >
112 {hambMenu && (
113 <svg
114 className={`header_shape ${left ? 'header_hamburgerMenuRight' : 'header_hamburgerMenuLeft'}`}
115 onClick={this.handleHamburgerMenuClick}
116 >
117 <use xlinkHref="./renderer/assets/icons.svg#hamburger-menu" />
118 </svg>
119 )}
120 <span className="header_appTitle">{title}</span>
121 {winCtrls && (
122 <div className={`header_windowControls ${left ? 'header_windowControlsLeft' : ''}`}>
123 <div className={`${left ? 'header_minimizeWindowLeft' : ''}`} onClick={this.handleMinimizeClick}>
124 <svg className="header_shape">
125 <use xlinkHref="./renderer/assets/icons.svg#minimize-window" />
126 </svg>
127 </div>
128 <div className={`${left ? 'header_maximizeWindowLeft' : ''}`} onClick={this.handleMaximizeClick}>
129 <svg className="header_shape">
130 <use xlinkHref={maxButtonHref} />
131 </svg>
132 </div>
133 <div
134 className={`header_closeWindow ${left ? 'header_closeWindowLeft' : ''}`}
135 onClick={this.handleCloseClick}
136 >

Callers

nothing calls this directly

Calls 2

getWindowHeaderConfigMethod · 0.95
getTabsPropsFunction · 0.90

Tested by

no test coverage detected