}
.show-input {
- width: 13em !important;
+ width: 13vw !important;
}
.hide-input {
background: transparent !important;
server.use(function (_req, res, next) {
res.setHeader(
"Content-Security-Policy",
- `default-src 'none'; connect-src *; img-src * data:; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; form-action 'self'; base-uri 'self'`
+ `default-src 'none'; connect-src *; img-src * data:; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; form-action 'self'; base-uri 'self'; frame-src *`
);
next();
});
render() {
return (
- <nav className="container navbar navbar-expand-md navbar-light navbar-bg p-3">
+ <nav className="container-lg navbar navbar-expand-md navbar-light navbar-bg p-3">
<div className="navbar-collapse">
<ul className="navbar-nav ml-auto">
{this.props.site.version !== VERSION && (
navbar() {
return (
<nav className="navbar navbar-expand-md navbar-light shadow-sm p-0 px-3">
- <div className="container">
+ <div className="container-lg">
{this.props.siteRes.site_view.match({
some: siteView => (
<NavLink
{!this.context.router.history.location.pathname.match(
/^\/search/
) && (
- <form
- className="form-inline mr-2"
- onSubmit={linkEvent(this, this.handleSearchSubmit)}
- >
- <input
- id="search-input"
- className={`form-control mr-0 search-input ${
- this.state.toggleSearch ? "show-input" : "hide-input"
- }`}
- onInput={linkEvent(this, this.handleSearchParam)}
- value={this.state.searchParam}
- ref={this.searchTextField}
- type="text"
- placeholder={i18n.t("search")}
- onBlur={linkEvent(this, this.handleSearchBlur)}
- ></input>
- <label className="sr-only" htmlFor="search-input">
- {i18n.t("search")}
- </label>
- <button
- name="search-btn"
- onClick={linkEvent(this, this.handleSearchBtn)}
- className="px-1 btn btn-link"
- style="color: var(--gray)"
- aria-label={i18n.t("search")}
- >
- <Icon icon="search" />
- </button>
- </form>
+ <ul className="navbar-nav">
+ <li className="nav-item">
+ <form
+ className="form-inline mr-1"
+ onSubmit={linkEvent(this, this.handleSearchSubmit)}
+ >
+ <input
+ id="search-input"
+ className={`form-control mr-0 search-input ${
+ this.state.toggleSearch ? "show-input" : "hide-input"
+ }`}
+ onInput={linkEvent(this, this.handleSearchParam)}
+ value={this.state.searchParam}
+ ref={this.searchTextField}
+ disabled={!this.state.toggleSearch}
+ type="text"
+ placeholder={i18n.t("search")}
+ onBlur={linkEvent(this, this.handleSearchBlur)}
+ ></input>
+ <label className="sr-only" htmlFor="search-input">
+ {i18n.t("search")}
+ </label>
+ <button
+ name="search-btn"
+ onClick={linkEvent(this, this.handleSearchBtn)}
+ className="px-1 btn btn-link nav-link"
+ aria-label={i18n.t("search")}
+ >
+ <Icon icon="search" />
+ </button>
+ </form>
+ </li>
+ </ul>
)}
{UserService.Instance.myUserInfo.isSome() ? (
<>
render() {
return (
- <div className="container">
+ <div className="container-lg">
<h1>404</h1>
{this.errCode && (
<h3>
render() {
return (
- <div className="container">
+ <div className="container-lg">
<HtmlTags
title={this.documentTitle}
path={this.context.router.route.match.url}
render() {
return (
- <div className="container">
+ <div className="container-lg">
{this.state.communityLoading ? (
<h5>
<Spinner large />
render() {
return (
- <div className="container">
+ <div className="container-lg">
<HtmlTags
title={this.documentTitle}
path={this.context.router.route.match.url}
render() {
return (
- <div className="container">
+ <div className="container-lg">
{this.state.loading ? (
<h5>
<Spinner large />
render() {
return (
- <div className="container">
+ <div className="container-lg">
<HtmlTags
title={this.documentTitle}
path={this.context.router.route.match.url}
render() {
return this.state.siteRes.federated_instances.match({
some: federated_instances => (
- <div className="container">
+ <div className="container-lg">
<HtmlTags
title={this.documentTitle}
path={this.context.router.route.match.url}
render() {
return (
- <div className="container">
+ <div className="container-lg">
<HtmlTags
title={this.documentTitle}
path={this.context.router.route.match.url}
render() {
return (
- <div className="container">
+ <div className="container-lg">
<HtmlTags
title={this.documentTitle}
path={this.context.router.route.match.url}
render() {
return (
- <div className="container">
+ <div className="container-lg">
<Helmet title={this.documentTitle} />
<div className="row">
<div className="col-12 offset-lg-3 col-lg-6">
render() {
return (
- <div className="container">
+ <div className="container-lg">
<HtmlTags
title={this.documentTitle}
path={this.context.router.route.match.url}
render() {
return (
- <div className="container">
+ <div className="container-lg">
<HtmlTags
title={this.documentTitle}
path={this.context.router.route.match.url}
.ok()
.map(a => `/feeds/inbox/${a}.xml`);
return (
- <div className="container">
+ <div className="container-lg">
{this.state.loading ? (
<h5>
<Spinner large />
render() {
return (
- <div className="container">
+ <div className="container-lg">
<HtmlTags
title={this.documentTitle}
path={this.context.router.route.match.url}
render() {
return (
- <div className="container">
+ <div className="container-lg">
{this.state.loading ? (
<h5>
<Spinner large />
render() {
return (
- <div className="container">
+ <div className="container-lg">
{this.state.loading ? (
<h5>
<Spinner large />
render() {
return (
- <div className="container">
+ <div className="container-lg">
{this.state.loading ? (
<h5>
<Spinner large />
render() {
return (
- <div className="container">
+ <div className="container-lg">
<>
<HtmlTags
title={this.documentTitle}
render() {
return (
- <div className="container">
+ <div className="container-lg">
<HtmlTags
title={this.documentTitle}
path={this.context.router.route.match.url}
render() {
return (
- <div className="container">
+ <div className="container-lg">
<HtmlTags
title={this.documentTitle}
path={this.context.router.route.match.url}
<button
className="mt-2 btn btn-secondary text-monospace"
onClick={linkEvent(this, this.handleIframeExpand)}
- data-tippy-content={i18n.t("expand_here")}
>
- {this.state.expanded ? "-" : "+"}
+ {i18n.t("expand_here")}
</button>
)}
</div>
})}
{this.state.expanded &&
post.embed_video_url.match({
- some: html => (
- <div
- className="mt-3 mb-2"
- dangerouslySetInnerHTML={{ __html: html }}
- />
- ),
+ some: video_url => <iframe src={video_url}></iframe>,
none: <></>,
})}
</>
render() {
return (
- <div className="container">
+ <div className="container-lg">
{this.state.loading ? (
<h5>
<Spinner large />
render() {
return (
- <div className="container">
+ <div className="container-lg">
<HtmlTags
title={this.documentTitle}
path={this.context.router.route.match.url}
render() {
return (
- <div className="container">
+ <div className="container-lg">
<HtmlTags
title={this.documentTitle}
path={this.context.router.route.match.url}