Added base svelte app

This commit is contained in:
Samuel Ortion 2022-09-08 19:14:10 +02:00
parent 4a0e336e73
commit e7302e0afa
16 changed files with 1458 additions and 132 deletions

132
.gitignore vendored
View File

@ -1,132 +0,0 @@
# ---> Node
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional stylelint cache
.stylelintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# vuepress v2.x temp and cache directory
.temp
.cache
# Docusaurus cache and generated files
.docusaurus
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

24
www/.gitignore vendored Normal file
View File

@ -0,0 +1,24 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
dist
dist-ssr
*.local
# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

3
www/.vscode/extensions.json vendored Normal file
View File

@ -0,0 +1,3 @@
{
"recommendations": ["svelte.svelte-vscode"]
}

13
www/index.html Normal file
View File

@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/off-logo.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>OpenFoodFacts Client</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
</body>
</html>

34
www/jsconfig.json Normal file
View File

@ -0,0 +1,34 @@
{
"compilerOptions": {
"moduleResolution": "Node",
"target": "ESNext",
"module": "ESNext",
/**
* svelte-preprocess cannot figure out whether you have
* a value or a type, so tell TypeScript to enforce using
* `import type` instead of `import` for Types.
*/
"importsNotUsedAsValues": "error",
"isolatedModules": true,
"resolveJsonModule": true,
/**
* To have warnings / errors of the Svelte compiler at the
* correct position, enable source maps by default.
*/
"sourceMap": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"baseUrl": ".",
/**
* Typecheck JS in `.svelte` and `.js` files by default.
* Disable this if you'd like to use dynamic types.
*/
"checkJs": true
},
/**
* Use global.d.ts instead of compilerOptions.types
* to avoid limiting type declarations.
*/
"include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.svelte"]
}

1087
www/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

19
www/package.json Normal file
View File

@ -0,0 +1,19 @@
{
"name": "off-client",
"private": true,
"version": "0.0.0",
"type": "module",
"authors": [
"Samuel ORTION <samuel@ortion.fr>"
],
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
},
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^1.0.2",
"svelte": "^3.49.0",
"vite": "^3.1.0"
}
}

32
www/src/App.svelte Normal file
View File

@ -0,0 +1,32 @@
<script>
import offLogo from './assets/off-logo.svg'
import OFF from './lib/OFF.svelte'
</script>
<main>
<div>
<a href="/">
<img src={offLogo} class="logo" alt="Open Food Facts Logo" />
</a>
</div>
<h1>OpenFoodFacts Client</h1>
<div class="card">
<OFF />
</div>
</main>
<style>
.logo {
height: 6em;
padding: 1.5em;
will-change: filter;
}
.logo:hover {
filter: drop-shadow(0 0 2em #646cffaa);
}
.logo:hover {
filter: drop-shadow(0 0 2em #ff3e00aa);
}
</style>

81
www/src/app.css Normal file
View File

@ -0,0 +1,81 @@
:root {
font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
font-size: 16px;
line-height: 24px;
font-weight: 400;
color-scheme: light dark;
color: rgba(255, 255, 255, 0.87);
background-color: #242424;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-webkit-text-size-adjust: 100%;
}
a {
font-weight: 500;
color: #646cff;
text-decoration: inherit;
}
a:hover {
color: #535bf2;
}
body {
margin: 0;
display: flex;
place-items: center;
min-width: 320px;
min-height: 100vh;
}
h1 {
font-size: 3.2em;
line-height: 1.1;
}
.card {
padding: 2em;
}
#app {
max-width: 1280px;
margin: 0 auto;
padding: 2rem;
text-align: center;
}
button {
border-radius: 8px;
border: 1px solid transparent;
padding: 0.6em 1.2em;
font-size: 1em;
font-weight: 500;
font-family: inherit;
background-color: #1a1a1a;
cursor: pointer;
transition: border-color 0.25s;
}
button:hover {
border-color: #646cff;
}
button:focus,
button:focus-visible {
outline: 4px auto -webkit-focus-ring-color;
}
@media (prefers-color-scheme: light) {
:root {
color: #213547;
background-color: #ffffff;
}
a:hover {
color: #747bff;
}
button {
background-color: #f9f9f9;
}
}

View File

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg width="256" height="400" viewBox="0 0 256 400" version="1.1" id="svg2229" inkscape:version="1.2 (1:1.2+202205241504+da316b6974)" sodipodi:docname="off-logo-vertical-light.svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview id="namedview2231" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" inkscape:showpageshadow="2" inkscape:pageopacity="0.0" inkscape:pagecheckerboard="0" inkscape:deskcolor="#d1d1d1" inkscape:document-units="mm" showgrid="false" inkscape:zoom="0.80354938" inkscape:cx="128.80353" inkscape:cy="561.88208" inkscape:window-width="2560" inkscape:window-height="1440" inkscape:window-x="0" inkscape:window-y="-37" inkscape:window-maximized="1" inkscape:current-layer="layer1"/>
<defs id="defs2226"/>
<g inkscape:label="Calque 1" inkscape:groupmode="layer" id="layer1">
<g id="g2151" transform="translate(-97.204531,-95.12)">
<g id="g2113">
<g id="g2105">
<path class="f" d="m 176.13,171.7 c 0,-27.11 21.97,-49.08 49.08,-49.08 27.11,0 49.08,21.97 49.08,49.08 z" id="path2095" style="fill:#ff8c14"/>
<path class="e" d="m 261.85,171.7 c 0,20.24 -16.4,36.64 -36.64,36.64 -20.24,0 -36.64,-16.4 -36.64,-36.64 z" id="path2097" style="fill:#ffffff"/>
<circle class="h" cx="241.83" cy="140" r="2.7" id="circle2099" style="fill:#8c3c00"/>
<circle class="h" cx="254.98" cy="152.07001" r="2.7" id="circle2101" style="fill:#8c3c00"/>
<circle class="h" cx="240.11" cy="155.02" r="2.7" id="circle2103" style="fill:#8c3c00"/>
</g>
<path d="m 201.41,214.6 -8.72,20.82 11.48,4.81 8.8,-21 c 3.92,1.01 8.02,1.55 12.25,1.55 27.06,0 49.08,-22.02 49.08,-49.08 h -12.44 c 0,20.2 -16.44,36.64 -36.64,36.64 -20.2,0 -36.64,-16.44 -36.64,-36.64 h -12.44 c 0,18.43 10.22,34.51 25.28,42.9 z" id="path2107"/>
<path class="c" d="m 245.51,97.97 c -9.65,0 -18.04,5.38 -22.35,13.3 3.32,3.09 5.83,7.05 7.13,11.52 11.23,-2.52 19.66,-12.45 19.86,-24.39 -1.5,-0.28 -3.05,-0.43 -4.63,-0.43 z" id="path2109" style="fill:#00641e"/>
<path class="d" d="m 205.84,104.44 c -1.91,0 -3.77,0.22 -5.56,0.62 3.07,10.61 12.85,18.37 24.45,18.37 1.91,0 3.77,-0.22 5.56,-0.62 -3.07,-10.61 -12.85,-18.37 -24.45,-18.37 z" id="path2111" style="fill:#00961e"/>
</g>
<g id="g2125">
<path d="m 147.5,423.92 c -3.73,0 -6.98,0.68 -9.73,2.04 -2.76,1.36 -4.87,3.33 -6.35,5.91 -1.48,2.58 -2.22,5.73 -2.22,9.46 v 1.51 h -8.53 v 10.4 h 8.53 v 37.95 h 11.64 v -37.95 h 10.75 v -10.4 h -10.75 v -1.51 c 0,-2.49 0.71,-4.31 2.13,-5.47 1.42,-1.16 3.44,-1.73 6.04,-1.73 0.41,0 0.87,0.02 1.38,0.04 0.5,0.03 1.05,0.1 1.64,0.22 v -10.04 c -0.59,-0.12 -1.32,-0.22 -2.18,-0.31 -0.86,-0.09 -1.64,-0.13 -2.35,-0.13 z" id="path2115"/>
<path d="m 186.06,443.96 c -3.02,-1.45 -6.52,-2.18 -10.49,-2.18 -3.26,0 -6.28,0.53 -9.06,1.6 -2.79,1.07 -5.2,2.53 -7.24,4.4 -2.04,1.87 -3.54,4.07 -4.49,6.62 l 9.51,4.62 c 0.89,-2.13 2.3,-3.88 4.22,-5.24 1.92,-1.36 4.13,-2.04 6.62,-2.04 2.67,0 4.8,0.7 6.4,2.09 1.6,1.39 2.4,3.13 2.4,5.2 v 1.57 l -14.31,2.34 c -3.79,0.59 -6.93,1.6 -9.42,3.02 -2.49,1.42 -4.34,3.19 -5.55,5.29 -1.22,2.1 -1.82,4.49 -1.82,7.15 0,2.66 0.68,5.23 2.04,7.33 1.36,2.1 3.3,3.72 5.82,4.84 2.52,1.12 5.47,1.69 8.84,1.69 2.67,0 5.08,-0.36 7.24,-1.07 2.16,-0.71 4.12,-1.78 5.87,-3.2 0.71,-0.58 1.37,-1.22 2,-1.9 v 5.1 h 11.02 v -32.17 c 0,-3.38 -0.84,-6.37 -2.53,-8.98 -1.69,-2.61 -4.04,-4.64 -7.06,-6.09 z m -3.64,33.55 c -1.01,1.84 -2.44,3.27 -4.31,4.31 -1.87,1.04 -4.01,1.56 -6.44,1.56 -1.9,0 -3.48,-0.49 -4.75,-1.47 -1.27,-0.98 -1.91,-2.3 -1.91,-3.95 0,-1.65 0.56,-3.1 1.69,-4.13 1.12,-1.04 2.84,-1.76 5.15,-2.18 l 12.09,-2.15 v 2.06 c 0,2.13 -0.5,4.12 -1.51,5.95 z" id="path2117"/>
<path d="m 220.34,454.36 c 1.98,-1.21 4.25,-1.82 6.8,-1.82 2.72,0 5.14,0.73 7.24,2.18 2.1,1.45 3.6,3.42 4.49,5.91 l 10.22,-4.53 c -0.95,-2.84 -2.5,-5.33 -4.67,-7.47 -2.16,-2.13 -4.73,-3.81 -7.69,-5.02 -2.96,-1.21 -6.16,-1.82 -9.6,-1.82 -4.86,0 -9.2,1.1 -13.02,3.29 -3.82,2.19 -6.83,5.19 -9.02,8.98 -2.19,3.79 -3.29,8.09 -3.29,12.89 0,4.8 1.11,9.11 3.33,12.93 2.22,3.82 5.23,6.84 9.02,9.06 3.79,2.22 8.12,3.33 12.97,3.33 3.49,0 6.72,-0.61 9.69,-1.82 2.96,-1.21 5.51,-2.9 7.64,-5.07 2.13,-2.16 3.67,-4.61 4.62,-7.33 l -10.22,-4.62 c -0.95,2.49 -2.44,4.47 -4.49,5.95 -2.04,1.48 -4.46,2.22 -7.24,2.22 -2.55,0 -4.81,-0.62 -6.8,-1.87 -1.99,-1.24 -3.54,-2.96 -4.67,-5.15 -1.13,-2.19 -1.69,-4.71 -1.69,-7.55 0,-2.84 0.56,-5.29 1.69,-7.51 1.12,-2.22 2.68,-3.94 4.67,-5.15 z" id="path2119"/>
<path d="m 279.83,481.51 c -1.9,0 -3.45,-0.3 -4.67,-0.89 -1.22,-0.59 -2.1,-1.45 -2.67,-2.58 -0.56,-1.12 -0.84,-2.49 -0.84,-4.09 v -20.71 h 11.11 v -10.4 h -11.11 v -11.02 h -11.73 v 3.73 c 0,2.37 -0.64,4.18 -1.91,5.42 -1.27,1.24 -3.1,1.87 -5.47,1.87 h -0.89 v 10.4 h 8.26 v 21.33 c 0,5.45 1.51,9.67 4.53,12.66 3.02,2.99 7.26,4.49 12.71,4.49 0.89,0 1.87,-0.06 2.93,-0.18 1.07,-0.12 2.01,-0.24 2.84,-0.36 v -9.95 c -0.53,0.06 -1.08,0.12 -1.64,0.18 -0.56,0.06 -1.05,0.09 -1.47,0.09 z" id="path2121"/>
<path d="m 312.5,463.47 -7.73,-2.31 c -1.13,-0.36 -2.12,-0.74 -2.98,-1.16 -0.86,-0.41 -1.53,-0.95 -2,-1.6 -0.47,-0.65 -0.71,-1.39 -0.71,-2.22 0,-1.48 0.56,-2.65 1.69,-3.51 1.12,-0.86 2.67,-1.29 4.62,-1.29 2.43,0 4.62,0.64 6.58,1.91 1.95,1.27 3.35,3.01 4.18,5.2 l 8.89,-4.18 c -1.48,-3.97 -3.97,-7.05 -7.47,-9.24 -3.5,-2.19 -7.52,-3.29 -12.09,-3.29 -3.5,0 -6.59,0.62 -9.29,1.87 -2.7,1.24 -4.8,2.98 -6.31,5.2 -1.51,2.22 -2.27,4.81 -2.27,7.78 0,3.32 1.05,6.21 3.15,8.66 2.1,2.46 5.17,4.25 9.2,5.38 l 7.91,2.22 c 1.07,0.3 2.01,0.67 2.84,1.11 0.83,0.44 1.5,0.98 2,1.6 0.5,0.62 0.76,1.41 0.76,2.35 0,1.54 -0.62,2.79 -1.87,3.73 -1.24,0.95 -2.9,1.42 -4.98,1.42 -2.73,0 -5.2,-0.77 -7.42,-2.31 -2.22,-1.54 -3.95,-3.67 -5.2,-6.4 l -8.8,4.18 c 1.48,4.21 4.13,7.54 7.95,10 3.82,2.46 8.31,3.69 13.46,3.69 3.67,0 6.87,-0.62 9.6,-1.87 2.72,-1.24 4.86,-2.98 6.4,-5.2 1.54,-2.22 2.31,-4.78 2.31,-7.69 0,-3.44 -1.08,-6.34 -3.24,-8.71 -2.16,-2.37 -5.23,-4.15 -9.2,-5.33 z" id="path2123"/>
</g>
<g id="g2135">
<path d="m 158.41,256.54 c -3.85,-2.19 -8.18,-3.29 -12.97,-3.29 -4.79,0 -9.04,1.1 -12.89,3.29 -3.85,2.19 -6.93,5.19 -9.24,8.98 -2.31,3.79 -3.47,8.12 -3.47,12.97 0,4.85 1.16,9.18 3.47,12.97 2.31,3.79 5.41,6.78 9.29,8.98 3.88,2.19 8.16,3.29 12.84,3.29 4.68,0 9.03,-1.1 12.89,-3.29 3.85,-2.19 6.93,-5.18 9.24,-8.98 2.31,-3.79 3.47,-8.12 3.47,-12.97 0,-4.85 -1.14,-9.26 -3.42,-13.02 -2.28,-3.76 -5.35,-6.74 -9.2,-8.93 z M 157.12,286 c -1.16,2.22 -2.73,3.95 -4.71,5.2 -1.99,1.24 -4.31,1.87 -6.98,1.87 -2.67,0 -4.92,-0.62 -6.93,-1.87 -2.02,-1.24 -3.6,-2.98 -4.75,-5.2 -1.16,-2.22 -1.73,-4.72 -1.73,-7.51 0,-2.79 0.58,-5.27 1.73,-7.47 1.16,-2.19 2.74,-3.91 4.75,-5.15 2.01,-1.24 4.32,-1.87 6.93,-1.87 2.61,0 4.99,0.62 6.98,1.87 1.98,1.24 3.55,2.96 4.71,5.15 1.16,2.19 1.73,4.68 1.73,7.47 0,2.79 -0.58,5.29 -1.73,7.51 z" id="path2127"/>
<path d="m 216.23,256.63 c -3.67,-2.25 -7.79,-3.38 -12.35,-3.38 -3.73,0 -7.02,0.73 -9.86,2.18 -2.28,1.16 -4.17,2.7 -5.69,4.61 v -5.72 h -11.02 v 66.12 h 11.73 v -22.42 c 1.43,1.52 3.13,2.74 5.11,3.67 2.93,1.36 6.15,2.04 9.64,2.04 4.68,0 8.86,-1.11 12.53,-3.33 3.67,-2.22 6.58,-5.26 8.71,-9.11 2.13,-3.85 3.2,-8.12 3.2,-12.8 0,-4.68 -1.08,-9.01 -3.24,-12.8 -2.16,-3.79 -5.08,-6.81 -8.75,-9.06 z m -1.87,29.42 c -1.19,2.19 -2.8,3.91 -4.84,5.15 -2.04,1.24 -4.4,1.87 -7.07,1.87 -2.67,0 -4.84,-0.62 -6.89,-1.87 -2.04,-1.24 -3.64,-2.96 -4.8,-5.15 -1.16,-2.19 -1.73,-4.71 -1.73,-7.55 0,-2.84 0.58,-5.27 1.73,-7.47 1.16,-2.19 2.75,-3.91 4.8,-5.15 2.04,-1.24 4.34,-1.87 6.89,-1.87 2.55,0 5.02,0.62 7.07,1.87 2.04,1.24 3.66,2.96 4.84,5.15 1.18,2.19 1.78,4.68 1.78,7.47 0,2.79 -0.59,5.36 -1.78,7.55 z" id="path2129"/>
<path d="m 273.82,260.28 c -2.01,-2.19 -4.46,-3.91 -7.33,-5.15 -2.87,-1.24 -6.21,-1.87 -10,-1.87 -4.56,0 -8.65,1.1 -12.26,3.29 -3.61,2.19 -6.49,5.17 -8.62,8.93 -2.13,3.76 -3.2,8.07 -3.2,12.93 0,4.86 1.04,8.95 3.11,12.8 2.07,3.85 4.99,6.9 8.75,9.15 3.76,2.25 8.13,3.38 13.11,3.38 3.26,0 6.28,-0.5 9.06,-1.51 2.78,-1.01 5.18,-2.4 7.2,-4.18 2.01,-1.78 3.5,-3.82 4.44,-6.13 l -9.42,-4.62 c -1.07,1.9 -2.53,3.41 -4.4,4.53 -1.87,1.13 -4.13,1.69 -6.8,1.69 -2.67,0 -5.02,-0.62 -7.07,-1.87 -2.04,-1.24 -3.59,-3.01 -4.62,-5.29 -0.62,-1.37 -1.01,-2.87 -1.18,-4.49 h 34.81 c 0.24,-0.71 0.4,-1.5 0.49,-2.35 0.09,-0.86 0.13,-1.73 0.13,-2.62 0,-3.26 -0.53,-6.29 -1.6,-9.11 -1.07,-2.81 -2.61,-5.32 -4.62,-7.51 z m -28.98,12.62 c 0.2,-1.02 0.48,-1.97 0.85,-2.84 0.98,-2.31 2.41,-4.09 4.31,-5.33 1.9,-1.24 4.06,-1.87 6.49,-1.87 2.43,0 4.72,0.62 6.53,1.87 1.81,1.24 3.11,2.93 3.91,5.07 0.37,0.97 0.58,2.01 0.65,3.11 h -22.74 z" id="path2131"/>
<path d="m 320.64,255.57 c -2.76,-1.54 -5.91,-2.31 -9.46,-2.31 -3.55,0 -6.44,0.76 -9.02,2.27 -1.99,1.17 -3.54,2.75 -4.67,4.75 v -5.95 h -11.02 v 48.35 h 11.73 v -28.35 c 0,-2.13 0.41,-3.97 1.24,-5.51 0.83,-1.54 1.98,-2.72 3.47,-3.55 1.48,-0.83 3.17,-1.24 5.07,-1.24 1.9,0 3.58,0.42 5.07,1.24 1.48,0.83 2.64,2.01 3.47,3.55 0.83,1.54 1.24,3.38 1.24,5.51 v 28.35 h 11.64 v -31.1 c 0,-3.61 -0.77,-6.8 -2.31,-9.55 -1.54,-2.75 -3.69,-4.9 -6.44,-6.44 z" id="path2133"/>
</g>
<g id="g2149">
<rect class="g" x="100.14" y="321.98001" width="250.13" height="89.129997" rx="14.81" ry="14.81" transform="rotate(-5,225.17358,366.54904)" id="rect2137" style="fill:#ff8714"/>
<g id="g2147">
<path class="e" d="m 121.66,403.19 -4.81,-54.96 37.63,-3.29 0.87,9.96 -26.19,2.29 1.22,13.94 22.5,-1.97 0.87,9.96 -22.5,1.97 1.85,21.1 z" id="path2139" style="fill:#ffffff"/>
<path class="e" d="m 190.58,398.05 c -4.13,0.36 -8.03,-0.02 -11.7,-1.13 -3.67,-1.12 -6.93,-2.85 -9.79,-5.2 -2.86,-2.35 -5.17,-5.18 -6.95,-8.5 -1.78,-3.31 -2.84,-6.99 -3.19,-11.02 -0.35,-4.03 0.05,-7.83 1.2,-11.4 1.15,-3.57 2.93,-6.75 5.34,-9.54 2.41,-2.79 5.32,-5.05 8.74,-6.79 3.42,-1.74 7.21,-2.79 11.4,-3.15 4.18,-0.37 8.1,0 11.77,1.13 3.67,1.12 6.93,2.84 9.78,5.17 2.85,2.33 5.16,5.15 6.91,8.46 1.75,3.32 2.8,6.99 3.16,11.02 0.35,4.03 -0.06,7.84 -1.23,11.41 -1.17,3.57 -2.96,6.76 -5.37,9.58 -2.41,2.81 -5.32,5.09 -8.73,6.82 -3.42,1.74 -7.19,2.79 -11.32,3.15 z m -0.9,-10.33 c 2.51,-0.22 4.79,-0.87 6.86,-1.94 2.06,-1.07 3.83,-2.48 5.32,-4.22 1.48,-1.74 2.57,-3.76 3.26,-6.05 0.69,-2.29 0.92,-4.76 0.69,-7.42 -0.23,-2.66 -0.89,-5.04 -1.96,-7.15 -1.08,-2.11 -2.5,-3.91 -4.26,-5.39 -1.77,-1.48 -3.75,-2.56 -5.97,-3.23 -2.21,-0.67 -4.58,-0.9 -7.09,-0.68 -2.51,0.22 -4.79,0.85 -6.86,1.9 -2.06,1.05 -3.84,2.45 -5.32,4.22 -1.48,1.76 -2.57,3.78 -3.26,6.05 -0.69,2.27 -0.92,4.73 -0.69,7.38 0.23,2.66 0.89,5.05 1.97,7.19 1.08,2.14 2.5,3.93 4.26,5.39 1.76,1.46 3.75,2.53 5.97,3.23 2.22,0.7 4.58,0.94 7.09,0.72 z" id="path2141" style="fill:#ffffff"/>
<path class="e" d="m 253.29,392.56 c -4.13,0.36 -8.03,-0.02 -11.7,-1.13 -3.67,-1.12 -6.93,-2.85 -9.79,-5.2 -2.86,-2.35 -5.17,-5.18 -6.95,-8.5 -1.78,-3.31 -2.84,-6.99 -3.19,-11.02 -0.35,-4.03 0.05,-7.83 1.2,-11.4 1.15,-3.57 2.93,-6.75 5.34,-9.54 2.41,-2.79 5.32,-5.05 8.74,-6.79 3.42,-1.74 7.21,-2.79 11.4,-3.15 4.18,-0.37 8.1,0 11.77,1.13 3.67,1.12 6.93,2.84 9.78,5.17 2.85,2.33 5.16,5.15 6.91,8.46 1.75,3.32 2.8,6.99 3.16,11.02 0.35,4.03 -0.06,7.84 -1.23,11.41 -1.17,3.57 -2.96,6.76 -5.37,9.58 -2.41,2.81 -5.32,5.09 -8.73,6.82 -3.42,1.74 -7.19,2.79 -11.32,3.15 z m -0.9,-10.33 c 2.51,-0.22 4.79,-0.87 6.86,-1.94 2.06,-1.07 3.83,-2.48 5.32,-4.22 1.48,-1.74 2.57,-3.76 3.26,-6.05 0.69,-2.29 0.92,-4.76 0.69,-7.42 -0.23,-2.66 -0.89,-5.04 -1.96,-7.15 -1.08,-2.11 -2.5,-3.91 -4.26,-5.39 -1.77,-1.48 -3.75,-2.56 -5.97,-3.23 -2.21,-0.67 -4.58,-0.9 -7.09,-0.68 -2.51,0.22 -4.79,0.85 -6.86,1.9 -2.06,1.05 -3.84,2.45 -5.32,4.22 -1.48,1.76 -2.57,3.78 -3.26,6.05 -0.69,2.27 -0.92,4.73 -0.69,7.38 0.23,2.66 0.89,5.05 1.97,7.19 1.08,2.14 2.5,3.93 4.26,5.39 1.76,1.46 3.75,2.53 5.97,3.23 2.22,0.7 4.58,0.94 7.09,0.72 z" id="path2143" style="fill:#ffffff"/>
<path class="e" d="m 289.07,388.54 -4.81,-54.96 17.93,-1.57 c 5.95,-0.52 11.22,0.21 15.8,2.19 4.58,1.98 8.26,4.93 11.03,8.85 2.77,3.92 4.39,8.54 4.85,13.85 0.46,5.31 -0.33,10.15 -2.37,14.52 -2.05,4.37 -5.16,7.92 -9.33,10.67 -4.17,2.74 -9.23,4.38 -15.18,4.9 l -17.93,1.57 z m 10.56,-10.96 6.79,-0.59 c 3.59,-0.31 6.62,-1.31 9.1,-2.99 2.48,-1.68 4.33,-3.9 5.55,-6.66 1.22,-2.76 1.68,-5.91 1.37,-9.45 -0.31,-3.59 -1.31,-6.62 -2.99,-9.11 -1.68,-2.48 -3.88,-4.32 -6.62,-5.52 -2.73,-1.2 -5.89,-1.64 -9.48,-1.33 l -6.79,0.59 3.07,35.04 z" id="path2145" style="fill:#ffffff"/>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

BIN
www/src/assets/off-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

@ -0,0 +1,94 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="200"
height="200"
viewBox="0 0 200 200"
version="1.1"
id="svg2229"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
sodipodi:docname="off-logo.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview2231"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="1.7117941"
inkscape:cx="86.458998"
inkscape:cy="109.24211"
inkscape:window-width="1280"
inkscape:window-height="987"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
<defs
id="defs2226" />
<g
inkscape:label="Calque 1"
inkscape:groupmode="layer"
id="layer1">
<g
id="g2113"
transform="translate(-125.215,-69.1)">
<g
id="g2105">
<path
class="f"
d="m 176.13,171.7 c 0,-27.11 21.97,-49.08 49.08,-49.08 27.11,0 49.08,21.97 49.08,49.08 z"
id="path2095"
style="fill:#ff8c14" />
<path
class="e"
d="m 261.85,171.7 c 0,20.24 -16.4,36.64 -36.64,36.64 -20.24,0 -36.64,-16.4 -36.64,-36.64 z"
id="path2097"
style="fill:#ffffff" />
<circle
class="h"
cx="241.83"
cy="140"
r="2.7"
id="circle2099"
style="fill:#8c3c00" />
<circle
class="h"
cx="254.98"
cy="152.07001"
r="2.7"
id="circle2101"
style="fill:#8c3c00" />
<circle
class="h"
cx="240.11"
cy="155.02"
r="2.7"
id="circle2103"
style="fill:#8c3c00" />
</g>
<path
d="m 201.41,214.6 -8.72,20.82 11.48,4.81 8.8,-21 c 3.92,1.01 8.02,1.55 12.25,1.55 27.06,0 49.08,-22.02 49.08,-49.08 h -12.44 c 0,20.2 -16.44,36.64 -36.64,36.64 -20.2,0 -36.64,-16.44 -36.64,-36.64 h -12.44 c 0,18.43 10.22,34.51 25.28,42.9 z"
id="path2107" />
<path
class="c"
d="m 245.51,97.97 c -9.65,0 -18.04,5.38 -22.35,13.3 3.32,3.09 5.83,7.05 7.13,11.52 11.23,-2.52 19.66,-12.45 19.86,-24.39 -1.5,-0.28 -3.05,-0.43 -4.63,-0.43 z"
id="path2109"
style="fill:#00641e" />
<path
class="d"
d="m 205.84,104.44 c -1.91,0 -3.77,0.22 -5.56,0.62 3.07,10.61 12.85,18.37 24.45,18.37 1.91,0 3.77,-0.22 5.56,-0.62 -3.07,-10.61 -12.85,-18.37 -24.45,-18.37 z"
id="path2111"
style="fill:#00961e" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

10
www/src/lib/OFF.svelte Normal file
View File

@ -0,0 +1,10 @@
<script>
let count = 0
const increment = () => {
count += 1
}
</script>
<button on:click={increment}>
count is {count}
</button>

8
www/src/main.js Normal file
View File

@ -0,0 +1,8 @@
import './app.css'
import App from './App.svelte'
const app = new App({
target: document.getElementById('app')
})
export default app

2
www/src/vite-env.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
/// <reference types="svelte" />
/// <reference types="vite/client" />

7
www/vite.config.js Normal file
View File

@ -0,0 +1,7 @@
import { defineConfig } from 'vite'
import { svelte } from '@sveltejs/vite-plugin-svelte'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [svelte()]
})