import type { FunctionalComponent } from 'preact';
import { h, Fragment } from 'preact';
import { useState, useEffect } from 'preact/hooks';

const MenuToggle: FunctionalComponent = () => {
	const [sidebarShown, setSidebarShown] = useState(false);

	useEffect(() => {
		const body = document.getElementsByTagName('body')[0];
		if (sidebarShown) {
			body.classList.add('mobile-sidebar-toggle');
		} else {
			body.classList.remove('mobile-sidebar-toggle');
		}
	}, [sidebarShown]);

	return (
		<button type="button" aria-pressed={sidebarShown ? 'true' : 'false'} id="menu-toggle" onClick={() => setSidebarShown(!sidebarShown)}>
			<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="none" viewBox="0 0 24 24" stroke="currentColor">
				<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
			</svg>
			<span className="sr-only">Toggle sidebar</span>
		</button>
	);
};

export default MenuToggle;
sitory; edit this file 'description' to name the repository.</td><td class='sub right'></td></tr></table>
<table class='tabs'><tr><td>
<a href='/ansg191/WarpX/about/'>about</a><a href='/ansg191/WarpX/'>summary</a><a href='/ansg191/WarpX/refs/?id=dbb4b48656958215407b9ad5f0837b7fe48e017d'>refs</a><a class='active' href='/ansg191/WarpX/log/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp?follow=1'>log</a><a href='/ansg191/WarpX/tree/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp?id=dbb4b48656958215407b9ad5f0837b7fe48e017d'>tree</a><a href='/ansg191/WarpX/commit/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp?id=dbb4b48656958215407b9ad5f0837b7fe48e017d&amp;follow=1'>commit</a><a href='/ansg191/WarpX/diff/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp?id=dbb4b48656958215407b9ad5f0837b7fe48e017d&amp;follow=1'>diff</a></td><td class='form'><form class='right' method='get' action='/ansg191/WarpX/log/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp'>
<input type='hidden' name='id' value='dbb4b48656958215407b9ad5f0837b7fe48e017d'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/ansg191/WarpX/log/?id=dbb4b48656958215407b9ad5f0837b7fe48e017d&amp;follow=1'>root</a>/<a href='/ansg191/WarpX/log/Source?id=dbb4b48656958215407b9ad5f0837b7fe48e017d&amp;follow=1'>Source</a>/<a href='/ansg191/WarpX/log/Source/FieldSolver?id=dbb4b48656958215407b9ad5f0837b7fe48e017d&amp;follow=1'>FieldSolver</a>/<a href='/ansg191/WarpX/log/Source/FieldSolver/SpectralSolver?id=dbb4b48656958215407b9ad5f0837b7fe48e017d&amp;follow=1'>SpectralSolver</a>/<a href='/ansg191/WarpX/log/Source/FieldSolver/SpectralSolver/SpectralAlgorithms?id=dbb4b48656958215407b9ad5f0837b7fe48e017d&amp;follow=1'>SpectralAlgorithms</a>/<a href='/ansg191/WarpX/log/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp?id=dbb4b48656958215407b9ad5f0837b7fe48e017d&amp;follow=1'>SpectralBaseAlgorithm.cpp</a> (<a href='/ansg191/WarpX/log/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp?id=dbb4b48656958215407b9ad5f0837b7fe48e017d'>unfollow</a>)</div><div class='content'><table class='list nowrap'><tr class='nohover'><th class='left'>Age</th><th class='left'>Commit message (<a href='/ansg191/WarpX/log/Source/FieldSolver/SpectralSolver/SpectralAlgorithms/SpectralBaseAlgorithm.cpp?id=dbb4b48656958215407b9ad5f0837b7fe48e017d&amp;showmsg=1&amp;follow=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Files</th><th class='left'>Lines</th></tr>
<tr><td><span title='2020-05-15 17:14:22 -0700'>2020-05-15</span></td><td><a href='/ansg191/WarpX/commit/Regression/WarpX-tests.ini?id=0724035793573163a2fcfd794812ea629b799b77&amp;follow=1'>Minor updates to Schwinger tests (#1003)</a></td><td><img src='//www.gravatar.com/avatar/6d690c28fa72d321d1d76a5d7ed910c2?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> NeilZaim
</td><td>3</td><td><span class='deletions'>-18</span>/<span class='insertions'>+31</span></td></tr>
<tr><td><span title='2020-05-15 17:12:57 -0700'>2020-05-15</span></td><td><a href='/ansg191/WarpX/commit/Source/WarpX.cpp?id=f79552b57a061605a1d62b0481d97df77c8f3b66&amp;follow=1'>Crash if deprecated input parameters are used. (#981)</a></td><td><img src='//www.gravatar.com/avatar/ee0b6062a643a0f26f42aee4bf0fa01d?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> MaxThevenet
</td><td>5</td><td><span class='deletions'>-0</span>/<span class='insertions'>+58</span></td></tr>
<tr><td><span title='2020-05-15 16:06:54 -0700'>2020-05-15</span></td><td><a href='/ansg191/WarpX/commit/Docs/source/building/summit.rst?id=fb3d84ca23c6fce8f654d8fcfef23519387762b1&amp;follow=1'>Summit: ADIOS2 Usage (#1026)</a></td><td><img src='//www.gravatar.com/avatar/81e1ef75c8481b89748d2b10a3d702e9?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Axel Huebl
</td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+2</span></td></tr>
<tr><td><span title='2020-05-14 16:00:36 -0700'>2020-05-14</span></td><td><a href='/ansg191/WarpX/commit/Python/pywarpx/picmi.py?id=da0a1f4917ec3cd7e481ce225780980a021180e8&amp;follow=1'>Implemented new particle diagnostics in picmi (#984)</a></td><td><img src='//www.gravatar.com/avatar/553c1ee3ed71c854378f0c1ed9a238df?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> David Grote
</td><td>12</td><td><span class='deletions'>-50</span>/<span class='insertions'>+121</span></td></tr>
<tr><td><span title='2020-05-14 08:51:57 -0700'>2020-05-14</span></td><td><a href='/ansg191/WarpX/commit/Tools/LibEnsemble/sim/inputs?id=4a65dd2ae17b69383d505ab3ff6b6c17747e59b7&amp;follow=1'>[mini] Update libensemble scripts (#1010)</a></td><td><img src='//www.gravatar.com/avatar/ee0b6062a643a0f26f42aee4bf0fa01d?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> MaxThevenet
</td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+2</span></td></tr>
<tr><td><span title='2020-05-14 07:00:10 -0700'>2020-05-14</span></td><td><a href='/ansg191/WarpX/commit/Docs/source/developers/dimensionality.rst?id=10def2da51a65351214acf114737a5a31b70477a&amp;follow=1'>Docs: Dimensionality (#1020)</a></td><td><img src='//www.gravatar.com/avatar/81e1ef75c8481b89748d2b10a3d702e9?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Axel Huebl
</td><td>3</td><td><span class='deletions'>-0</span>/<span class='insertions'>+56</span></td></tr>
<tr><td><span title='2020-05-13 14:14:22 -0700'>2020-05-13</span></td><td><a href='/ansg191/WarpX/commit/Tools/LibEnsemble/sim/inputs?id=91e9a8d5381e1516766eb9815120e3a4c5f87d1e&amp;follow=1'>use new diags syntax for libe input file (#1014)</a></td><td><img src='//www.gravatar.com/avatar/ee0b6062a643a0f26f42aee4bf0fa01d?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> MaxThevenet
</td><td>2</td><td><span class='deletions'>-11</span>/<span class='insertions'>+10</span></td></tr>
<tr><td><span title='2020-05-13 13:26:27 -0700'>2020-05-13</span></td><td><a href='/ansg191/WarpX/commit/Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianYeeAlgorithm.H?id=cbd23a8e7c6e2970a3f26e072d67173cf533e94d&amp;follow=1'>Allow to pass component in stencil templates (#1012)</a></td><td><img src='//www.gravatar.com/avatar/b7f8ef466264fedde82bcf5e13962aee?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Remi Lehe
</td><td>3</td><td><span class='deletions'>-70</span>/<span class='insertions'>+70</span></td></tr>
<tr><td><span title='2020-05-13 07:41:04 -0700'>2020-05-13</span></td><td><a href='/ansg191/WarpX/commit/Source/Particles/ParticleCreation/FilterCreateTransformFromFAB.H?id=921cc4212a91eebb12e507c81ed60ac001ed0c3c&amp;follow=1'>Fix error with Schwinger when multiple tiles are used (#1013)</a></td><td><img src='//www.gravatar.com/avatar/6d690c28fa72d321d1d76a5d7ed910c2?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> NeilZaim
</td><td>2</td><td><span class='deletions'>-10</span>/<span class='insertions'>+1</span></td></tr>
<tr><td><span title='2020-05-12 16:44:31 -0700'>2020-05-12</span></td><td><a href='/ansg191/WarpX/commit/Source/FieldSolver/WarpXPushFieldsEM.cpp?id=5244a833f99075b542c8cbbd0a0bd8a0f6871aa8&amp;follow=1'>Remove unneeded ExchangeF (#996)</a></td><td><img src='//www.gravatar.com/avatar/b7f8ef466264fedde82bcf5e13962aee?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Remi Lehe
</td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+0</span></td></tr>
<tr><td><span title='2020-05-12 09:12:10 -0700'>2020-05-12</span></td><td><a href='/ansg191/WarpX/commit/Source/WarpX.cpp?id=f54a1cfef5a4ec9ede0285aacaa5b5d29e798e03&amp;follow=1'>Implement intervals parser for override_sync (#1008)</a></td><td><img src='//www.gravatar.com/avatar/6d690c28fa72d321d1d76a5d7ed910c2?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> NeilZaim
</td><td>4</td><td><span class='deletions'>-11</span>/<span class='insertions'>+13</span></td></tr>
<tr><td><span title='2020-05-11 10:15:00 -0700'>2020-05-11</span></td><td><a href='/ansg191/WarpX/commit/.github/workflows/macos.yml?id=6f6c829f7243bf021fd4348ff203e05b47e39589&amp;follow=1'>macOS CI: brew update (#1002)</a></td><td><img src='//www.gravatar.com/avatar/81e1ef75c8481b89748d2b10a3d702e9?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Axel Huebl
</td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+1</span></td></tr>
<tr><td><span title='2020-05-11 09:33:02 -0700'>2020-05-11</span></td><td><a href='/ansg191/WarpX/commit/Source/Diagnostics/Diagnostics.cpp?id=b18eb4e23ba236a931763444f9698ac3fecb500c&amp;follow=1'>Implement intervals parser for new diagnostics (#1000)</a></td><td><img src='//www.gravatar.com/avatar/6d690c28fa72d321d1d76a5d7ed910c2?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> NeilZaim
</td><td>3</td><td><span class='deletions'>-9</span>/<span class='insertions'>+12</span></td></tr>
<tr><td><span title='2020-05-11 08:53:07 -0700'>2020-05-11</span></td><td><a href='/ansg191/WarpX/commit/Source/Particles/ParticleCreation/SmartCreate.H?id=a08c76c7857d619f39d51053ed97129172ff8799&amp;follow=1'>Add Schwinger process (#784)</a></td><td><img src='//www.gravatar.com/avatar/6d690c28fa72d321d1d76a5d7ed910c2?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> NeilZaim
</td><td>12</td><td><span class='deletions'>-8</span>/<span class='insertions'>+831</span></td></tr>
<tr><td><span title='2020-05-11 08:28:21 -0700'>2020-05-11</span></td><td><a href='/ansg191/WarpX/commit/Source/Particles/Gather/FieldGather.H?id=2320eda825160d39912ef3c831b4a2b50c9b1f78&amp;follow=1'>Device field gather (#998)</a></td><td><img src='//www.gravatar.com/avatar/f450c26e65edf94bd5524836d7028910?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Andrew Myers
</td><td>1</td><td><span class='deletions'>-308</span>/<span class='insertions'>+360</span></td></tr>
<tr><td><span title='2020-05-11 08:01:49 -0700'>2020-05-11</span></td><td><a href='/ansg191/WarpX/commit/Source/Utils/check_interp_points_and_weights.py?id=e2eb322f5856994102237c8903781a5b3f77dd58&amp;follow=1'>Generalize coarsening for MR (#945)</a></td><td><img src='//www.gravatar.com/avatar/f370fc53b073e29cc6e0273d7032ae58?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Edoardo Zoni
</td><td>19</td><td><span class='deletions'>-498</span>/<span class='insertions'>+524</span></td></tr>
<tr><td><span title='2020-05-08 20:32:35 -0700'>2020-05-08</span></td><td><a href='/ansg191/WarpX/commit/Source/Parser/wp_parser_y.cpp?id=ec3c2aab43130d96c599e38474e3467b47a4bfcd&amp;follow=1'>Parser: .c -&gt; .cpp (#999)</a></td><td><img src='//www.gravatar.com/avatar/81e1ef75c8481b89748d2b10a3d702e9?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Axel Huebl
</td><td>6</td><td><span class='deletions'>-3</span>/<span class='insertions'>+2</span></td></tr>
<tr><td><span title='2020-05-08 09:41:22 -0700'>2020-05-08</span></td><td><a href='/ansg191/WarpX/commit/Source/FieldSolver/SpectralSolver/SpectralFieldData.cpp?id=47f91938af6c92f36d234738d267ac18e00842a6&amp;follow=1'>Fix bug for PSATD momentum-conserving runs (#965)</a></td><td><img src='//www.gravatar.com/avatar/b7f8ef466264fedde82bcf5e13962aee?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Remi Lehe
</td><td>3</td><td><span class='deletions'>-3</span>/<span class='insertions'>+41</span></td></tr>
<tr><td><span title='2020-05-08 07:59:56 -0700'>2020-05-08</span></td><td><a href='/ansg191/WarpX/commit/Source/FieldSolver/WarpXPushFieldsEM.cpp?id=792043a3495e36a45b8403258085c7242f3fe30c&amp;follow=1'>remove unused variables from WarpX::EvolveE (#995)</a></td><td><img src='//www.gravatar.com/avatar/f450c26e65edf94bd5524836d7028910?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Andrew Myers
</td><td>1</td><td><span class='deletions'>-19</span>/<span class='insertions'>+1</span></td></tr>
<tr><td><span title='2020-05-08 07:59:20 -0700'>2020-05-08</span></td><td><a href='/ansg191/WarpX/commit/Source/Particles/Deposition/ChargeDeposition.H?id=b29dedb7a513af8f2a1e11dcc2063a49e6086792&amp;follow=1'>remove executable permission from this source file (#994)</a></td><td><img src='//www.gravatar.com/avatar/f450c26e65edf94bd5524836d7028910?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Andrew Myers
</td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+0</span></td></tr>
<tr><td><span title='2020-05-07 17:48:16 -0700'>2020-05-07</span></td><td><a href='/ansg191/WarpX/commit/Source/Diagnostics/ParticleIO.cpp?id=1c0cd9ad96658bc5956d24e70fe82f06598d0d91&amp;follow=1'>Diags: Missing/Broken Includes (#993)</a></td><td><img src='//www.gravatar.com/avatar/81e1ef75c8481b89748d2b10a3d702e9?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Axel Huebl
</td><td>2</td><td><span class='deletions'>-2</span>/<span class='insertions'>+2</span></td></tr>
<tr><td><span title='2020-05-06 16:09:53 -0700'>2020-05-06</span></td><td><a href='/ansg191/WarpX/commit/Docs/source/running_cpp/parameters.rst?id=6fdc3e36eeefcbfe9ee40ec92b8192e5ce3ad290&amp;follow=1'>Update parameters.rst (#990)</a></td><td><img src='//www.gravatar.com/avatar/ef90842ddd2ca9e9f5287b441d99161a?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> lge0303
</td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+18</span></td></tr>
<tr><td><span title='2020-05-06 14:42:52 -0700'>2020-05-06</span></td><td><a href='/ansg191/WarpX/commit/Tools/BatchScripts/batch_summit.sh?id=8605395a06e8db60f3eca2739d912d7922b33571&amp;follow=1'>Docs: Summit openPMD (#989)</a></td><td><img src='//www.gravatar.com/avatar/81e1ef75c8481b89748d2b10a3d702e9?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Axel Huebl
</td><td>4</td><td><span class='deletions'>-3</span>/<span class='insertions'>+46</span></td></tr>
<tr><td><span title='2020-05-06 13:45:28 -0700'>2020-05-06</span></td><td><a href='/ansg191/WarpX/commit/Docs/source/running_cpp/parameters.rst?id=8c56a26f9557b706e83a50331212da58da440f73&amp;follow=1'>Add line in parameters doc (#985)</a></td><td><img src='//www.gravatar.com/avatar/6d690c28fa72d321d1d76a5d7ed910c2?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> NeilZaim
</td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+2</span></td></tr>
<tr><td><span title='2020-05-06 13:43:15 -0700'>2020-05-06</span></td><td><a href='/ansg191/WarpX/commit/Source/Particles/PhysicalParticleContainer.cpp?id=874e2497de8f1d250a6aef31d29d380c631dc538&amp;follow=1'>Load Particles: external_file MPI Support (#956)</a></td><td><img src='//www.gravatar.com/avatar/81e1ef75c8481b89748d2b10a3d702e9?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Axel Huebl
</td><td>5</td><td><span class='deletions'>-95</span>/<span class='insertions'>+186</span></td></tr>
<tr><td><span title='2020-05-06 12:26:34 -0700'>2020-05-06</span></td><td><a href='/ansg191/WarpX/commit/Regression/WarpX-GPU-tests.ini?id=52b43f007ce730ab772a3761d13c3529fbe65899&amp;follow=1'>bump tolerance on two of the gpu tests (#987)</a></td><td><img src='//www.gravatar.com/avatar/f450c26e65edf94bd5524836d7028910?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Andrew Myers
</td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+2</span></td></tr>
<tr><td><span title='2020-05-06 10:37:55 -0700'>2020-05-06</span></td><td><a href='/ansg191/WarpX/commit/Source/Diagnostics/Diagnostics.cpp?id=a1f55e18011d06e975a5bd68ea84badbdfd485cc&amp;follow=1'>Option whether to dump rz modes (#986)</a></td><td><img src='//www.gravatar.com/avatar/ee0b6062a643a0f26f42aee4bf0fa01d?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> MaxThevenet
</td><td>3</td><td><span class='deletions'>-1</span>/<span class='insertions'>+9</span></td></tr>
<tr><td><span title='2020-05-05 17:54:28 -0700'>2020-05-05</span></td><td><a href='/ansg191/WarpX/commit/Source/WarpX.cpp?id=e50f166a7e1cf517fe9383db6c59dbcae0fcea89&amp;follow=1'>Current correction in Fourier space (#675)</a></td><td><img src='//www.gravatar.com/avatar/f370fc53b073e29cc6e0273d7032ae58?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Edoardo Zoni
</td><td>11</td><td><span class='deletions'>-6</span>/<span class='insertions'>+268</span></td></tr>
<tr><td><span title='2020-05-05 17:40:24 -0700'>2020-05-05</span></td><td><a href='/ansg191/WarpX/commit/Source/WarpX.cpp?id=f1fcac8a018c46fe0ae587469b2bf92862110f7a&amp;follow=1'>Switch costs to LayoutData (#970)</a></td><td><img src='//www.gravatar.com/avatar/c985a5ac5756c2527ae7ffc2fee16fcd?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Michael E Rowan
</td><td>10</td><td><span class='deletions'>-42</span>/<span class='insertions'>+31</span></td></tr>
