Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions pages/src/lib/Primes.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,19 @@
{/if}
</div>
<div class="card-body text-center d-flex flex-column justify-content-center align-items-center">
<div class="row w-100">
<div class="col">
<input
type="range"
id="{id}_toNumber"
bind:value={toNumber}
class="form-range"
min={10_000}
max={1_000_000}
step={10_000}
>
</div>
</div>
{#if !work}
<p>Press <span class="badge text-bg-primary">Start</span> to discover primes.</p>
{:else}
Expand Down
6 changes: 3 additions & 3 deletions pages/src/routes/+page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@
<Instructions />
<div class="row row-cols-sm-2 row-cols-md-3">
<div class="col">
<Primes toNumber={100_000} worker={exWorker} />
<Primes toNumber={200_000} worker={exWorker} />
</div>
<div class="col">
<Primes toNumber={110_000} worker={exWorker} />
<Primes toNumber={250_000} worker={exWorker} />
</div>
<div class="col">
<Primes toNumber={120_000} worker={exWorker} />
<Primes toNumber={300_000} worker={exWorker} />
</div>
</div>
</div>
Expand Down
33 changes: 20 additions & 13 deletions pages/vite.config.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,22 @@
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';
import { defineConfig, type ConfigEnv, type PreviewServer, type ViteDevServer } from 'vite';

export default defineConfig({
plugins: [sveltekit(), {
name: "configure-response-headers",
configureServer: (server) => {
server.middlewares.use((_req, res, next) => {
res.setHeader("Cross-Origin-Embedder-Policy", "require-corp");
res.setHeader("Cross-Origin-Opener-Policy", "same-origin");
next();
});
},
}]
});
function crossOriginIsolationMiddleware(server: PreviewServer | ViteDevServer) {
server.middlewares.use((_req, res, next) => {
res.setHeader("Cross-Origin-Embedder-Policy", "require-corp");
res.setHeader("Cross-Origin-Opener-Policy", "same-origin");
next();
});
}

const withoutCrossOriginIsolation = 'no-coi';

export default function ({ mode }: ConfigEnv) {
return defineConfig({
plugins: [sveltekit(), {
name: "configure-response-headers",
configureServer: mode === withoutCrossOriginIsolation ? undefined : crossOriginIsolationMiddleware,
configurePreviewServer: mode === withoutCrossOriginIsolation ? undefined : crossOriginIsolationMiddleware,
}],
});
};