Compare commits
	
		
			10 Commits
		
	
	
		
			b75c6c2d3f
			...
			2db113a0c5
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 2db113a0c5 | ||
|  | ba79b55481 | ||
|  | 2a65d345f1 | ||
|  | 5294e3f595 | ||
|  | d33751b93c | ||
|  | 3dfb9ed208 | ||
|  | 914c6d12d3 | ||
|  | 742c0e7195 | ||
|  | 2c5813fa3a | ||
|  | fd69d613b1 | 
							
								
								
									
										30
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								.drone.yml
									
									
									
									
									
								
							| @@ -5,32 +5,12 @@ name: default | |||||||
| steps: | steps: | ||||||
|   - name: deploy |   - name: deploy | ||||||
|     image: docker:dind |     image: docker:dind | ||||||
|     volumes: |  | ||||||
|       - name: docker |  | ||||||
|         path: /var/run/docker.sock |  | ||||||
|       - name: pegaz |  | ||||||
|         path: /opt/pegaz |  | ||||||
|     environment: |  | ||||||
|       CI_DOMAIN: |  | ||||||
|         from_secret: CI_DOMAIN |  | ||||||
|     commands: |     commands: | ||||||
|     - apk add --upgrade npm bash findutils rsync sed |     - apk add --upgrade npm bash findutils rsync sed | ||||||
|       - source /opt/pegaz/config.sh |     - WORKDIR="/var/docker-web/apps/$DRONE_REPO_NAME" | ||||||
|       - adduser -D $USERNAME |  | ||||||
|       - WORKDIR="/opt/pegaz/services/$DRONE_REPO_NAME" |  | ||||||
|     - rm -rf $WORKDIR |     - rm -rf $WORKDIR | ||||||
|       - su $USERNAME -c "mkdir $WORKDIR" |     - mkdir $WORKDIR | ||||||
|       - su $USERNAME -c "rsync -av --exclude  ./node_modules /drone/src/ $WORKDIR" |     - rsync -av --exclude  ./node_modules /drone/src/ $WORKDIR | ||||||
|     - cd $WORKDIR |     - cd $WORKDIR | ||||||
|       - npm install |     - npm ci | ||||||
|       - '[[ -f config.sh ]] && sed -i "s|DOMAIN=.*|DOMAIN=\"$CI_DOMAIN\"|g" config.sh' |     - bash /var/docker-web/src/cli.sh up $DRONE_REPO_NAME | ||||||
|       - '[[ -f .env ]] && sed -i "s|DOMAIN=.*|DOMAIN=\"$CI_DOMAIN\"|g" .env' |  | ||||||
|       - bash /opt/pegaz/cli.pegaz.sh up $DRONE_REPO_NAME |  | ||||||
|  |  | ||||||
| volumes: |  | ||||||
|   - name: pegaz |  | ||||||
|     host: |  | ||||||
|       path: /opt/pegaz |  | ||||||
|   - name: docker |  | ||||||
|     host: |  | ||||||
|       path: /var/run/docker.sock |  | ||||||
|   | |||||||
							
								
								
									
										36
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								Dockerfile
									
									
									
									
									
								
							| @@ -1,39 +1,37 @@ | |||||||
| # see https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact | ARG NODE_VERSION=node:16.14.2-alpine | ||||||
| ARG NODE_VERSION=node:16.14.2 | # 1 - INSTALL | ||||||
|  | FROM $NODE_VERSION AS install | ||||||
|  |  | ||||||
| FROM $NODE_VERSION AS dependency-base |  | ||||||
|  |  | ||||||
| # create destination directory |  | ||||||
| RUN mkdir -p /app | RUN mkdir -p /app | ||||||
| WORKDIR /app | WORKDIR /app | ||||||
|  |  | ||||||
| # copy the app, note .dockerignore |  | ||||||
| COPY package.json . | COPY package.json . | ||||||
| COPY package-lock.json . | COPY package-lock.json . | ||||||
|  | COPY config.sh . | ||||||
| RUN npm ci | RUN npm ci | ||||||
|  |  | ||||||
| FROM dependency-base AS production-base | # 2 - CONFIGURE | ||||||
|  | FROM install AS configure | ||||||
|  |  | ||||||
| # build will also take care of building |  | ||||||
| # if necessary |  | ||||||
| COPY . . | COPY . . | ||||||
|  | COPY config.sh . | ||||||
|  |  | ||||||
|  | # avoid conflict with nuxt build: | ||||||
|  | RUN sed -i "s|PORT=.*||g" config.sh | ||||||
|  |  | ||||||
| RUN npm run build | RUN npm run build | ||||||
|  |  | ||||||
|  | # 3 - PRODUCTION | ||||||
| FROM $NODE_VERSION AS production | FROM $NODE_VERSION AS production | ||||||
|  |  | ||||||
| COPY --from=production-base /app/.output /app/.output | WORKDIR /app | ||||||
|  |  | ||||||
|  | COPY --from=install /app/node_modules /app/node_modules | ||||||
|  | COPY --from=configure /app /app | ||||||
|  |  | ||||||
| # Service hostname |  | ||||||
| ENV NUXT_HOST=0.0.0.0 | ENV NUXT_HOST=0.0.0.0 | ||||||
|  |  | ||||||
| # Service version |  | ||||||
| ARG NUXT_APP_VERSION | ARG NUXT_APP_VERSION | ||||||
| ENV NUXT_APP_VERSION=${NUXT_APP_VERSION} | ENV NUXT_APP_VERSION=${NUXT_APP_VERSION} | ||||||
|  |  | ||||||
| ENV DATABASE_URL=file:./db.sqlite |  | ||||||
|  |  | ||||||
| # Run in production mode |  | ||||||
| ENV NODE_ENV=production | ENV NODE_ENV=production | ||||||
|  |  | ||||||
| # start the app | CMD source config.sh && node .output/server/index.mjs | ||||||
| CMD [ "node", "/app/.output/server/index.mjs" ] |  | ||||||
|   | |||||||
| @@ -1,8 +1,8 @@ | |||||||
| # TODO | # TODO | ||||||
|  |  | ||||||
| - [ ] fixed header with links on scroll | - [ ] fixed header with links on scroll | ||||||
| - [ ] anim pegaz create ?? | - [ ] anim docker-web create ?? | ||||||
| - [ ] presentation de l'arborecense - doc du code | - [x] presentation de l'arborecense - doc du code | ||||||
| - [ ] command line guide - doc du CLI | - [ ] command line guide - doc du CLI | ||||||
| - [ ] configuration file ? | - [ ] configuration file ? | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										12
									
								
								app.vue
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								app.vue
									
									
									
									
									
								
							| @@ -1,21 +1,21 @@ | |||||||
| <template> | <template> | ||||||
|   <div> |   <div> | ||||||
|     <Head> |     <Head> | ||||||
|       <Title>Pegaz - docker-compose cli superset</Title> |       <Title>docker-web - docker-compose cli superset</Title> | ||||||
|       <Meta charset="UTF-8" /> |       <Meta charset="UTF-8" /> | ||||||
|       <Meta name="viewport" content="width=device-width" /> |       <Meta name="viewport" content="width=device-width" /> | ||||||
|       <Link |       <Link | ||||||
|         rel="icon" |         rel="icon" | ||||||
|         type="image/svg+xml" |         type="image/svg+xml" | ||||||
|         href="https://raw.githubusercontent.com/valerebron/pegaz/master/docs/pegaz.svg" |         href="https://raw.githubusercontent.com/docker-web/docker-web/master/logo.svg" | ||||||
|       /> |       /> | ||||||
|       <Link rel="canonical" href="https://pegaz.dev" /> |       <Link rel="canonical" href="https://docker-web.com" /> | ||||||
|       <Meta property="og:title" content="pegaz, deploy stack on the go" /> |       <Meta property="og:title" content="docker-web, deploy stack on the go" /> | ||||||
|       <Meta |       <Meta | ||||||
|         property="og:image" |         property="og:image" | ||||||
|         content="https://raw.githubusercontent.com/valerebron/pegaz/master/docs/pegaz.svg" |         content="https://raw.githubusercontent.com/docker-web/docker-web/master/logo.svg" | ||||||
|       /> |       /> | ||||||
|       <Meta property="og:site_name" content="Pegaz" /> |       <Meta property="og:site_name" content="docker-web" /> | ||||||
|       <Meta name="description" content="Extending docker-compose functionalities and control multiple docker-compose.yml configurations"/> |       <Meta name="description" content="Extending docker-compose functionalities and control multiple docker-compose.yml configurations"/> | ||||||
|       <Meta name="viewport" content="width=device-width, initial-scale=1.0" /> |       <Meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||||
|     </Head> |     </Head> | ||||||
|   | |||||||
| @@ -3,8 +3,8 @@ export default { | |||||||
|   data: () => ({ |   data: () => ({ | ||||||
|     apps: [ |     apps: [ | ||||||
|       { |       { | ||||||
|         name: 'Deluge', |         name: 'Transmission', | ||||||
|         component: resolveComponent('SvgDeluge') |         component: resolveComponent('SvgTransmission') | ||||||
|       }, |       }, | ||||||
|       { |       { | ||||||
|         name: 'Drone', |         name: 'Drone', | ||||||
| @@ -33,10 +33,6 @@ export default { | |||||||
|       { |       { | ||||||
|         name: 'Penpot', |         name: 'Penpot', | ||||||
|         component: resolveComponent('SvgPenpot') |         component: resolveComponent('SvgPenpot') | ||||||
|       }, |  | ||||||
|       { |  | ||||||
|         name: 'Radio', |  | ||||||
|         component: resolveComponent('SvgRadio') |  | ||||||
|       } |       } | ||||||
|     ] |     ] | ||||||
|   }) |   }) | ||||||
| @@ -52,7 +48,7 @@ export default { | |||||||
|       <li v-for="app in apps" :key="app" class="m-4"> |       <li v-for="app in apps" :key="app" class="m-4"> | ||||||
|         <a |         <a | ||||||
|           :href=" |           :href=" | ||||||
|             'https://github.com/valerebron/pegaz/tree/master/services/' + |             'https://github.com/docker-web/docker-web/tree/master/apps/' + | ||||||
|               app.name.toLowerCase() |               app.name.toLowerCase() | ||||||
|           " |           " | ||||||
|           :title="app.name" |           :title="app.name" | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ export default { | |||||||
|   data: () => ({ |   data: () => ({ | ||||||
|     terminalContent: '', |     terminalContent: '', | ||||||
|     penpotClass: [], |     penpotClass: [], | ||||||
|     delugeClass: [], |     plausibleClass: [], | ||||||
|     folderClass: [], |     folderClass: [], | ||||||
|     storjClass: [], |     storjClass: [], | ||||||
|     progressBarClass: [], |     progressBarClass: [], | ||||||
| @@ -27,7 +27,7 @@ export default { | |||||||
|       this.isDemonstrationEnded = false |       this.isDemonstrationEnded = false | ||||||
|       this.terminalContent = '' |       this.terminalContent = '' | ||||||
|       this.folderClass = this.storjClass = this.downClass |       this.folderClass = this.storjClass = this.downClass | ||||||
|       this.penpotClass = this.delugeClass = this.giteaClass = [...this.upClass, 'rounded-xl'] |       this.penpotClass = this.plausibleClass = this.giteaClass = [...this.upClass, 'rounded-xl'] | ||||||
|  |  | ||||||
|       this.storjClass = ['hidden'] |       this.storjClass = ['hidden'] | ||||||
|       this.progressBarClass = ['opacity-0'] |       this.progressBarClass = ['opacity-0'] | ||||||
| @@ -42,20 +42,20 @@ export default { | |||||||
|       let i = 0 |       let i = 0 | ||||||
|  |  | ||||||
|       this.timer = setInterval(async () => { |       this.timer = setInterval(async () => { | ||||||
|         // pegaz backup |         // docker-web backup | ||||||
|         if (i === 0) { |         if (i === 0) { | ||||||
|           const cmd = '$ pegaz backup\n' |           const cmd = '$ docker-web backup\n' | ||||||
|           for (const y in cmd) { |           for (const y in cmd) { | ||||||
|             this.terminalContent += cmd[y] |             this.terminalContent += cmd[y] | ||||||
|             await this.delay(20) |             await this.delay(20) | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|         if (i === 1) { |         if (i === 1) { | ||||||
|           this.penpotClass = this.delugeClass = this.giteaClass = [...this.upClass, ...this.pauseClass] |           this.penpotClass = this.plausibleClass = this.giteaClass = [...this.upClass, ...this.pauseClass] | ||||||
|         } |         } | ||||||
|         if (i === 2) { |         if (i === 2) { | ||||||
|           this.penpotClass = [...this.compressingClass, ...this.pauseClass, 'rounded-l-xl', 'rounded-r-none'] |           this.penpotClass = [...this.compressingClass, ...this.pauseClass, 'rounded-l-xl', 'rounded-r-none'] | ||||||
|           this.delugeClass = [...this.compressingClass, ...this.pauseClass, 'rounded-r-xl', 'rounded-l-none'] |           this.plausibleClass = [...this.compressingClass, ...this.pauseClass, 'rounded-r-xl', 'rounded-l-none'] | ||||||
|           this.giteaClass = [...this.compressingClass, ...this.pauseClass] |           this.giteaClass = [...this.compressingClass, ...this.pauseClass] | ||||||
|           this.startApps = 'w-16' |           this.startApps = 'w-16' | ||||||
|         } |         } | ||||||
| @@ -75,7 +75,7 @@ export default { | |||||||
|         if (i === 4) { this.terminalContent += 'Unpausing apps ... done\n' } |         if (i === 4) { this.terminalContent += 'Unpausing apps ... done\n' } | ||||||
|         if (i === 5) { this.terminalContent += '[√] apps backup done\n' } |         if (i === 5) { this.terminalContent += '[√] apps backup done\n' } | ||||||
|  |  | ||||||
|         // pegaz restore |         // docker-web restore | ||||||
|  |  | ||||||
|         // this.progressClass = 'w-0' |         // this.progressClass = 'w-0' | ||||||
|         // this.startApps = 'w-full' |         // this.startApps = 'w-full' | ||||||
| @@ -84,7 +84,7 @@ export default { | |||||||
|         if (i === 7) { this.progressClass = 'w-0' } |         if (i === 7) { this.progressClass = 'w-0' } | ||||||
|  |  | ||||||
|         if (i === 8) { |         if (i === 8) { | ||||||
|           const cmd = '$ pegaz restore\n' |           const cmd = '$ docker-web restore\n' | ||||||
|           for (const y in cmd) { |           for (const y in cmd) { | ||||||
|             this.terminalContent += cmd[y] |             this.terminalContent += cmd[y] | ||||||
|             await this.delay(20) |             await this.delay(20) | ||||||
| @@ -101,12 +101,12 @@ export default { | |||||||
|         } |         } | ||||||
|         if (i === 11) { |         if (i === 11) { | ||||||
|           this.penpotClass = [...this.upClass, ...this.pauseClass] |           this.penpotClass = [...this.upClass, ...this.pauseClass] | ||||||
|           this.delugeClass = [...this.upClass, ...this.pauseClass] |           this.plausibleClass = [...this.upClass, ...this.pauseClass] | ||||||
|           this.giteaClass = [...this.upClass, ...this.pauseClass] |           this.giteaClass = [...this.upClass, ...this.pauseClass] | ||||||
|         } |         } | ||||||
|         if (i === 13) { |         if (i === 13) { | ||||||
|           this.penpotClass = [...this.upClass] |           this.penpotClass = [...this.upClass] | ||||||
|           this.delugeClass = [...this.upClass] |           this.plausibleClass = [...this.upClass] | ||||||
|           this.giteaClass = [...this.upClass] |           this.giteaClass = [...this.upClass] | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @@ -132,7 +132,7 @@ export default { | |||||||
|   <h2 class="title"> |   <h2 class="title"> | ||||||
|     Backup & restore |     Backup & restore | ||||||
|   </h2> |   </h2> | ||||||
|   <section class="pegaz-section"> |   <section class="docker-web-section"> | ||||||
|     <Terminal :terminal-content="terminalContent" /> |     <Terminal :terminal-content="terminalContent" /> | ||||||
|     <div |     <div | ||||||
|       class="flex flex-col items-center md:w-3/4 lg:w-1/2 h-20 relative rounded-b-xl transition-all" |       class="flex flex-col items-center md:w-3/4 lg:w-1/2 h-20 relative rounded-b-xl transition-all" | ||||||
| @@ -141,9 +141,9 @@ export default { | |||||||
|         class="flex transition-all justify-center duration-1000" |         class="flex transition-all justify-center duration-1000" | ||||||
|         :class="startApps" |         :class="startApps" | ||||||
|       > |       > | ||||||
|         <SvgPenpot :class="penpotClass" class="app--backup" /> |         <SvgGitea :class="penpotClass" class="app--backup" /> | ||||||
|         <SvgGitea :class="giteaClass" class="app--backup hidden md:block" /> |         <SvgDrone :class="giteaClass" class="app--backup hidden md:block" /> | ||||||
|         <SvgDeluge :class="delugeClass" class="app--backup" /> |         <SvgPlausible :class="plausibleClass" class="app--backup" /> | ||||||
|       </div> |       </div> | ||||||
|       <div :class="endApps"> |       <div :class="endApps"> | ||||||
|         <div class="app" :class="folderClass"> |         <div class="app" :class="folderClass"> | ||||||
|   | |||||||
| @@ -75,7 +75,7 @@ export default { | |||||||
|         // nextcloud |         // nextcloud | ||||||
|         // up |         // up | ||||||
|         if (i === 0) { |         if (i === 0) { | ||||||
|           const cmd = '$ pegaz up nextcloud\n' |           const cmd = '$ docker-web up nextcloud\n' | ||||||
|           for (const y in cmd) { |           for (const y in cmd) { | ||||||
|             this.terminalContent += cmd[y] |             this.terminalContent += cmd[y] | ||||||
|             await delay(20) |             await delay(20) | ||||||
| @@ -106,7 +106,7 @@ export default { | |||||||
|         // jellyfin |         // jellyfin | ||||||
|         // up |         // up | ||||||
|         if (i === 11) { |         if (i === 11) { | ||||||
|           const cmd = '$ pegaz up jellyfin\n' |           const cmd = '$ docker-web up jellyfin\n' | ||||||
|           for (const y in cmd) { |           for (const y in cmd) { | ||||||
|             this.terminalContent += cmd[y] |             this.terminalContent += cmd[y] | ||||||
|             await delay(20) |             await delay(20) | ||||||
| @@ -136,7 +136,7 @@ export default { | |||||||
|  |  | ||||||
|         // nextcloud down |         // nextcloud down | ||||||
|         if (i === 23) { |         if (i === 23) { | ||||||
|           const cmd = '$ pegaz down nextcloud\n' |           const cmd = '$ docker-web down\n' | ||||||
|           for (const y in cmd) { |           for (const y in cmd) { | ||||||
|             this.terminalContent += cmd[y] |             this.terminalContent += cmd[y] | ||||||
|             await delay(20) |             await delay(20) | ||||||
| @@ -145,15 +145,18 @@ export default { | |||||||
|         if (i === 24) this.terminalContent += 'Stopping nextcloud ... done\n' |         if (i === 24) this.terminalContent += 'Stopping nextcloud ... done\n' | ||||||
|         if (i === 25) this.terminalContent += '[√] Removing nextcloud ... done\n' |         if (i === 25) this.terminalContent += '[√] Removing nextcloud ... done\n' | ||||||
|         if (i === 26) this.nextcloudClass = downClass |         if (i === 26) this.nextcloudClass = downClass | ||||||
|         if (i === 27) this.isDemonstrationEnded = true |         if (i === 27) this.terminalContent += 'Stopping jellyfin ... done\n' | ||||||
|  |         if (i === 28) this.terminalContent += '[√] Removing jellyfin ... done\n' | ||||||
|  |         if (i === 29) this.jellyfinClass = downClass | ||||||
|  |         if (i === 30) this.isDemonstrationEnded = true | ||||||
|  |  | ||||||
|         i += 1 |         i += 1 | ||||||
|         // i = 5 |         // i = 5 | ||||||
|  |  | ||||||
|         // if (i === 30) clearInterval(this.timer) |         // if (i === 30) clearInterval(this.timer) | ||||||
|         if (i === 30) this.terminalContent = '' |         if (i === 33) this.terminalContent = '' | ||||||
|         if (i === 30) this.jellyfinClass = downClass |         if (i === 33) this.jellyfinClass = downClass | ||||||
|         if (i === 30) i = 0 |         if (i === 33) i = 0 | ||||||
|       }, 700) |       }, 700) | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
| @@ -161,7 +164,7 @@ export default { | |||||||
| </script> | </script> | ||||||
|  |  | ||||||
| <template> | <template> | ||||||
|   <section class="pegaz-section"> |   <section class="docker-web-section"> | ||||||
|     <Terminal :terminal-content="terminalContent" /> |     <Terminal :terminal-content="terminalContent" /> | ||||||
|     <div |     <div | ||||||
|       class="bg-slate-400 flex flex-col items-center relative rounded-2xl w-full m-0 md:min-w-fit max-w-2xl md:-ml-8 md:z-0 overflow-hidden" |       class="bg-slate-400 flex flex-col items-center relative rounded-2xl w-full m-0 md:min-w-fit max-w-2xl md:-ml-8 md:z-0 overflow-hidden" | ||||||
|   | |||||||
| @@ -1,7 +1,7 @@ | |||||||
| <template> | <template> | ||||||
|   <section class="container mx-auto max-w-4xl"> |   <section class="container mx-auto max-w-4xl"> | ||||||
|     <p class="text-2xl md:text-center my-20"> |     <p class="text-2xl md:text-center my-20"> | ||||||
|       In extending <b>docker-compose</b> functionalities, pegaz let you control |       In extending <b>docker-compose</b> functionalities, docker-web let you control | ||||||
|       <b>multiple</b> docker-compose.yml <b>configurations</b>. |       <b>multiple</b> docker-compose.yml <b>configurations</b>. | ||||||
|     </p> |     </p> | ||||||
|     <div class="my-20"> |     <div class="my-20"> | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ | |||||||
| const isClicked = ref(false) | const isClicked = ref(false) | ||||||
| const copyToClipBoard = () => { | const copyToClipBoard = () => { | ||||||
|   navigator.clipboard |   navigator.clipboard | ||||||
|     .writeText('curl -sL get.pegaz.dev | sudo bash') |     .writeText('curl -sL get.docker-web.com | sudo bash') | ||||||
|     .then(() => { |     .then(() => { | ||||||
|       isClicked.value = true |       isClicked.value = true | ||||||
|       setTimeout(() => { |       setTimeout(() => { | ||||||
| @@ -15,7 +15,7 @@ const copyToClipBoard = () => { | |||||||
| <template> | <template> | ||||||
|   <section class="py-4 sm:flex justify-center items-center"> |   <section class="py-4 sm:flex justify-center items-center"> | ||||||
|     <a |     <a | ||||||
|       href="https://github.com/valerebron/pegaz" |       href="https://github.com/docker-web/docker-web" | ||||||
|       target="_blank" |       target="_blank" | ||||||
|       class="py-4 px-6 h-14 leading-6 flex justify-center bg-indigo-600 text-white text-lg capitalize font-semibold mb-4 sm:mb-0 rounded-xl shadow-md hover:bg-indigo-500 focus:outline-none focus:ring-4 hover:ring-indigo-200 focus:ring-indigo-300 focus:ring-opacity-100 transition-all" |       class="py-4 px-6 h-14 leading-6 flex justify-center bg-indigo-600 text-white text-lg capitalize font-semibold mb-4 sm:mb-0 rounded-xl shadow-md hover:bg-indigo-500 focus:outline-none focus:ring-4 hover:ring-indigo-200 focus:ring-indigo-300 focus:ring-opacity-100 transition-all" | ||||||
|     > |     > | ||||||
| @@ -24,7 +24,7 @@ const copyToClipBoard = () => { | |||||||
|     <div |     <div | ||||||
|       class="font-mono bg-neutral-900 text-neutral-50 rounded-xl flex justify-between items-center pl-3 pr-4 py-4 sm:ml-4 border border-transparent text-base shadow-primary-700 relative" |       class="font-mono bg-neutral-900 text-neutral-50 rounded-xl flex justify-between items-center pl-3 pr-4 py-4 sm:ml-4 border border-transparent text-base shadow-primary-700 relative" | ||||||
|     > |     > | ||||||
|       <span class="select-all"> curl -L get.pegaz.dev | sudo bash </span> |       <span class="select-all"> curl -L get.docker-web.com | sudo bash </span> | ||||||
|       <SvgClipboard |       <SvgClipboard | ||||||
|         class="ml-3 cursor-pointer" |         class="ml-3 cursor-pointer" | ||||||
|         :class="{ 'animate-ping': isClicked }" |         :class="{ 'animate-ping': isClicked }" | ||||||
|   | |||||||
| @@ -1,20 +1,20 @@ | |||||||
| <template> | <template> | ||||||
|   <section> |   <section> | ||||||
|     <div class="flex justify-center -ml-24 animate-slide"> |     <div class="flex justify-center -ml-24 animate-slide"> | ||||||
|       <div class="py-4 mr-3 animate-fadeout opacity-0"> |       <div class="py-4 mr-14 animate-fadeout opacity-0"> | ||||||
|         <div class="bg-gray-400 h-px w-16 my-3 block" /> |         <div class="bg-gray-400 h-px w-16 my-16 block" /> | ||||||
|         <div class="bg-gray-400 h-px w-16 my-3 translate-x-3 block" /> |         <div class="bg-gray-400 h-px w-16 my-16 translate-x-3 block" /> | ||||||
|         <div class="bg-gray-400 h-px w-16 my-3 translate-x-1 block" /> |         <div class="bg-gray-400 h-px w-16 my-16 translate-x-1 block" /> | ||||||
|         <div class="bg-gray-400 h-px w-16 my-3 translate-x-6 block" /> |         <div class="bg-gray-400 h-px w-16 my-16 translate-x-6 block" /> | ||||||
|       </div> |       </div> | ||||||
|       <SvgPegaz /> |       <SvgDockerWeb /> | ||||||
|     </div> |     </div> | ||||||
|     <div class="text-center py-4"> |     <div class="text-center py-4"> | ||||||
|       <h1 class="text-5xl font-bold leading-relaxed"> |       <h1 class="text-5xl font-bold leading-relaxed"> | ||||||
|         Pegaz |         docker-web | ||||||
|       </h1> |       </h1> | ||||||
|       <h2 class="text-3xl text-center"> |       <h2 class="text-3xl text-center text-slate-400"> | ||||||
|         docker-compose cli superset |         hackable self-hosting | ||||||
|       </h2> |       </h2> | ||||||
|     </div> |     </div> | ||||||
|   </section> |   </section> | ||||||
|   | |||||||
| @@ -1,47 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <svg viewBox="0 0 250 356.285" xmlns="http://www.w3.org/2000/svg"> |  | ||||||
|     <g style="display: inline"> |  | ||||||
|       <g style="display: inline"> |  | ||||||
|         <path |  | ||||||
|           d="m24.01 2.885 11.91 18.223c7.631 11.674-.394 24.297-11.92 24.297-11.525 0-19.563-12.627-11.925-24.294z" |  | ||||||
|           style=" |  | ||||||
|             fill: #4c90e8; |  | ||||||
|             fill-opacity: 1; |  | ||||||
|             fill-rule: evenodd; |  | ||||||
|             stroke: #094491; |  | ||||||
|             stroke-width: 3.19037; |  | ||||||
|             stroke-miterlimit: 4; |  | ||||||
|             stroke-dasharray: none; |  | ||||||
|             stroke-opacity: 1; |  | ||||||
|           " |  | ||||||
|           transform="translate(-56.804 .22) scale(7.57587)" |  | ||||||
|         /> |  | ||||||
|       </g> |  | ||||||
|       <path |  | ||||||
|         d="M28.25 24.077c-6.514-2.656-9.932 4.13-8.845 7.3 2.364 6.897 11.278 8.624 17.862-2.865 0 0 .07 1.386.14 2.046.883 8.377-6.163 13.71-13.303 13.605-7.14-.104-9.32-2.877-11.425-6.069-3.413-5.178-2.561-13.615 2.028-17.56 5.238-4.33 11.004-2.019 13.542 3.543z" |  | ||||||
|         style=" |  | ||||||
|           display: inline; |  | ||||||
|           fill: #094491; |  | ||||||
|           fill-opacity: 1; |  | ||||||
|           fill-rule: evenodd; |  | ||||||
|           stroke-width: 0.436583; |  | ||||||
|           stroke-miterlimit: 4; |  | ||||||
|           stroke-dasharray: none; |  | ||||||
|           stroke-opacity: 1; |  | ||||||
|         " |  | ||||||
|         transform="translate(-56.804 .22) scale(7.57587)" |  | ||||||
|       /> |  | ||||||
|       <path |  | ||||||
|         d="M24.158 21.569c-7.295.177-8.68 8.584-6.66 12.185 2.81 5.006 7.073 5.969 12.906 4.12-3.33 3.622-10.166 4.58-14.81-.592-3.194-3.56-3.473-8.526-1.256-12.674 2.217-4.149 6.638-5.302 9.82-3.04z" |  | ||||||
|         style=" |  | ||||||
|           fill: #83b8f9; |  | ||||||
|           fill-opacity: 1; |  | ||||||
|           fill-rule: evenodd; |  | ||||||
|           stroke: none; |  | ||||||
|           stroke-width: 1.07658; |  | ||||||
|         " |  | ||||||
|         transform="translate(-56.804 .22) scale(7.57587)" |  | ||||||
|       /> |  | ||||||
|     </g> |  | ||||||
|   </svg> |  | ||||||
| </template> |  | ||||||
							
								
								
									
										32
									
								
								components/svg/docker-web.vue
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										32
									
								
								components/svg/docker-web.vue
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,32 @@ | |||||||
|  | <template> | ||||||
|  |   <svg width="111.83958mm" height="111.83958mm" viewBox="0 0 111.83957 111.83957" version="1.1" id="svg1" | ||||||
|  |     inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)" sodipodi:docname="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"> | ||||||
|  |     <g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(-49.080209,-92.580211)"> | ||||||
|  |       <g id="g2" transform="matrix(5.5108247,0,0,5.5108247,118.69148,125.59682)" style="display:inline;fill:#ffffff"> | ||||||
|  |         <g style="display:inline;fill:#0062f8;fill-opacity:0.446602" | ||||||
|  |           transform="matrix(0.61412638,0,0,0.61412638,-46.767414,1.3479387)" id="g1236-3-3-2"> | ||||||
|  |           <circle | ||||||
|  |             style="display:inline;fill:#0062f8;fill-opacity:0.446602;stroke:none;stroke-width:302.362;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:161.197;stroke-opacity:1" | ||||||
|  |             id="path1180-2-6-6-9" cx="72.107216" cy="4.5725055" r="9.6730785" /> | ||||||
|  |           <circle | ||||||
|  |             style="display:inline;fill:#0062f8;fill-opacity:0.446602;stroke:none;stroke-width:428.643;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:161.197;stroke-opacity:1" | ||||||
|  |             id="path1180-9-7-7-1" cx="72.107216" cy="4.5725055" r="13.713011" /> | ||||||
|  |           <circle | ||||||
|  |             style="display:inline;fill:#0062f8;fill-opacity:0.446602;stroke:none;stroke-width:516.481;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:161.197;stroke-opacity:1" | ||||||
|  |             id="path1180-1-5-5-27" cx="72.107216" cy="4.5725055" r="16.523087" /> | ||||||
|  |         </g> | ||||||
|  |         <path inkscape:connector-curvature="0" style="display:inline;fill:#ffffff;stroke-width:0.433462" | ||||||
|  |           id="path881-7-5-5-0" | ||||||
|  |           d="m 3.9199448,3.7220977 c -0.0282,-0.02295 -0.29172,-0.221932 -0.84699,-0.221932 -0.13871,0 -0.28565,0.013 -0.4378,0.0377 -0.10749,-0.738187 -0.71564,-1.097959 -0.74382,-1.113996 l -0.14954,-0.08669 -0.0984,0.142176 c -0.12298,0.190471 -0.21255,0.400537 -0.26484,0.621149 -0.0997,0.421326 -0.039,0.816643 0.17468,1.155612 -0.25834,0.143476 -0.67013003,0.181186 -0.75596003,0.182051 H -6.0544552 c -0.17908,7.09e-4 -0.32415,0.145584 -0.3251,0.324667 0.12299,0.569402 0.12059,0.553034 0.31955,1.075789 0.23623,0.619849 0.58734,1.076285 1.04421,1.356736 0.51191,0.31426 1.34546,0.494146 2.28694,0.494146 0.4404,0 0.87993,-0.03991 1.27004,-0.115302 0.61422,-0.118332 1.17252,-0.321625 1.65843,-0.602942 0.42468,-0.246154 0.80673,-0.559405 1.13134,-0.927608 0.54269,-0.615519 0.68368,-0.724924 1.08704,-1.222306 0.0325,0.0015 0.0641,0.002 0.0958,0.002 0.59428,0 0.96012,-0.238404 1.16168,-0.437793 0.2189,-0.216731 0.29692,-0.432597 0.30516,-0.456436 l 0.0421,-0.124838 z" | ||||||
|  |           sodipodi:nodetypes="cscccccccccccsccccscccc" /> | ||||||
|  |         <path | ||||||
|  |           style="font-weight:bold;font-size:3.06667px;font-family:Comfortaa;-inkscape-font-specification:'Comfortaa Bold';letter-spacing:0px;display:inline;fill:#ffffff;stroke-width:1.51181" | ||||||
|  |           d="m -6.3933452,1.1512817 h 0.55254 l 0.38633,1.624676 0.38333,-1.624676 h 0.55553 l 0.38334,1.624676 0.38633,-1.624676 h 0.54804 l -0.52708,2.235614 h -0.66484 l -0.4058,-1.699546 -0.4013,1.699546 h -0.66485 z m 5.11361,1.392579 v 0.152735 h -1.25332 q 0.0195,0.188672 0.13626,0.283008 0.1168,0.09434 0.32643,0.09434 0.16921,0 0.3459,-0.04941 0.17819,-0.05091 0.36537,-0.152735 v 0.413282 q -0.19017,0.07187 -0.38034,0.107813 -0.19017,0.03743 -0.38034,0.03743 -0.45521,0 -0.70827,-0.2306 -0.25156,-0.232096 -0.25156,-0.64987 0,-0.410287 0.24707,-0.645378 0.24857,-0.235092 0.68281,-0.235092 0.39532,0 0.6319,0.238086 0.23809,0.238087 0.23809,0.636394 z m -0.55104,-0.17819 q 0,-0.152735 -0.0898,-0.245573 -0.0883,-0.09434 -0.23209,-0.09434 -0.15573,0 -0.25306,0.08835 -0.0973,0.08685 -0.12129,0.251563 z m 1.84928,0.675326 q 0.17221,0 0.26205,-0.125781 0.0913,-0.125782 0.0913,-0.365365 0,-0.239584 -0.0913,-0.365365 -0.0898,-0.125782 -0.26205,-0.125782 -0.1722,0 -0.26503,0.127279 -0.0914,0.125782 -0.0914,0.363868 0,0.238086 0.0914,0.365365 0.0928,0.125781 0.26503,0.125781 z m -0.35638,-1.085613 q 0.11081,-0.146745 0.24558,-0.215625 0.13476,-0.07038 0.30996,-0.07038 0.30996,0 0.50910997,0.24707 0.19916,0.245574 0.19916,0.6334 0,0.387826 -0.19916,0.634896 -0.19914997,0.245573 -0.50910997,0.245573 -0.1752,0 -0.30996,-0.06888 -0.13477,-0.07038 -0.24558,-0.217122 v 0.242578 h -0.53606 v -2.32995 h 0.53606 z" | ||||||
|  |           id="text2-6-9" aria-label="Web" /> | ||||||
|  |       </g> | ||||||
|  |     </g> | ||||||
|  |   </svg> | ||||||
|  | </template> | ||||||
| @@ -1,65 +0,0 @@ | |||||||
| <template> |  | ||||||
|   <svg |  | ||||||
|     xmlns:dc="http://purl.org/dc/elements/1.1/" |  | ||||||
|     xmlns:cc="http://creativecommons.org/ns#" |  | ||||||
|     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |  | ||||||
|     xmlns:svg="http://www.w3.org/2000/svg" |  | ||||||
|     xmlns="http://www.w3.org/2000/svg" |  | ||||||
|     xmlns:xlink="http://www.w3.org/1999/xlink" |  | ||||||
|     xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |  | ||||||
|     xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |  | ||||||
|     width="51.180511mm" |  | ||||||
|     height="34.942585mm" |  | ||||||
|     viewBox="0 0 51.180511 34.942585" |  | ||||||
|     version="1.1" |  | ||||||
|     id="svg5807" |  | ||||||
|     inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" |  | ||||||
|     sodipodi:docname="pegaz.svg" |  | ||||||
|   > |  | ||||||
|     <defs id="defs5801"> |  | ||||||
|       <linearGradient inkscape:collect="always" id="linearGradient5890"> |  | ||||||
|         <stop |  | ||||||
|           style="stop-color: #322eeb; stop-opacity: 1" |  | ||||||
|           offset="0" |  | ||||||
|           id="stop5886" |  | ||||||
|         /> |  | ||||||
|         <stop |  | ||||||
|           style="stop-color: #702fff; stop-opacity: 1" |  | ||||||
|           offset="1" |  | ||||||
|           id="stop5888" |  | ||||||
|         /> |  | ||||||
|       </linearGradient> |  | ||||||
|       <linearGradient |  | ||||||
|         inkscape:collect="always" |  | ||||||
|         xlink:href="#linearGradient5890" |  | ||||||
|         id="linearGradient5892" |  | ||||||
|         x1="37.362221" |  | ||||||
|         y1="294.65009" |  | ||||||
|         x2="19.9897" |  | ||||||
|         y2="279.14844" |  | ||||||
|         gradientUnits="userSpaceOnUse" |  | ||||||
|         gradientTransform="matrix(3.7795276,0,0,3.7795276,18.897638,-1009.3508)" |  | ||||||
|       /> |  | ||||||
|     </defs> |  | ||||||
|     <g |  | ||||||
|       inkscape:label="Layer 1" |  | ||||||
|       inkscape:groupmode="layer" |  | ||||||
|       id="layer1" |  | ||||||
|       transform="translate(5,-267.05741)" |  | ||||||
|     > |  | ||||||
|       <path |  | ||||||
|         style=" |  | ||||||
|           display: inline; |  | ||||||
|           fill: url(#linearGradient5892); |  | ||||||
|           fill-opacity: 1; |  | ||||||
|           stroke-width: 0.99665797; |  | ||||||
|         " |  | ||||||
|         d="m 135.29297,18.898438 c -15.90988,0.449723 -22.89844,21.96289 -22.89844,21.96289 -4.74107,-8.737181 -16.406391,-9.600018 -19.919921,-9.662109 l -59.322265,-0.002 c -4.8e-4,0.0038 -9.09e-4,0.0081 -0.002,0.01563 l -14.199219,-0.03711 c -0.02646,0.250205 -0.04434,0.501031 -0.05273,0.751953 0.0079,7.377147 7.711797,13.530744 17.759765,14.185547 l 31.982422,0.0625 v -0.0039 l 14.494141,0.02539 c 1.363124,0.02268 2.456124,1.13466 2.457031,2.498046 0,1.377638 -1.11455,2.495694 -2.492188,2.5 v 0.002 H 68.640625 v -0.02148 H 37.486328 c -0.606153,0 -0.256172,3.8e-5 -0.822266,0 v 0.002 c 0.0093,7.37642 7.74982,14.323771 17.796876,14.978516 0,0 1.558206,0.0032 1.628906,0.0039 0.544082,0.0038 2.013817,0.01758 12.535156,0.01758 0.01247,7.56e-4 0.02464,0.0032 0.03711,0.0039 0,0 1.917481,0.01953 14.4375,0.01953 1.377676,0.0038 2.492188,1.122324 2.492188,2.5 0,1.294601 -0.988167,2.347277 -2.25,2.474609 h -12.701172 -2 -14.195313 v 0.01563 c 0.0068,6.466999 5.958335,12.601876 14.195313,14.458985 l 2,0.490234 c 5.267465,0.03335 10.535418,0.004 15.802734,0.05859 -16.81854,0.0076 11.125029,0.002 14.15625,0.002 l 3.25,0.210937 9.2832,8.482422 c 16.74585,9.688082 31.23828,11.119142 31.23828,11.119142 0,0 11.90291,15.36174 29.47461,1.06836 1.55626,-1.26588 0.0137,-2.98828 0.0137,-2.98828 L 127.49414,40.861328 Z M 36.664062,51.177734 c -8.319917,0 -13.595359,-9.23e-4 -14.050781,-0.002 v 0.002 c -0.430261,-5.67e-4 4.377264,-3.4e-4 14.050781,0 z M 141.93945,29.009766 c -5.87501,2.187477 -8.125,11.9375 -8.125,11.9375 l 3.8125,5.125 z" |  | ||||||
|         id="rect269-7-1-0" |  | ||||||
|         inkscape:connector-curvature="0" |  | ||||||
|         sodipodi:nodetypes="ccccccccccccccccscccccccscccccccccccccccccccccccc" |  | ||||||
|         transform="matrix(0.26458333,0,0,0.26458333,-5,267.05741)" |  | ||||||
|       /> |  | ||||||
|     </g> |  | ||||||
|   </svg> |  | ||||||
| </template> |  | ||||||
							
								
								
									
										110
									
								
								components/svg/transmission.vue
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										110
									
								
								components/svg/transmission.vue
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,110 @@ | |||||||
|  | <template> | ||||||
|  |   <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" height="800" width="1200" | ||||||
|  |     viewBox="-6.659355 -11.5136 57.71441 69.0816"> | ||||||
|  |     <defs> | ||||||
|  |       <linearGradient id="j"> | ||||||
|  |         <stop offset="0" /> | ||||||
|  |         <stop offset="1" stop-opacity="0" /> | ||||||
|  |       </linearGradient> | ||||||
|  |       <linearGradient id="i"> | ||||||
|  |         <stop offset="0" stop-color="#f9f9f9" /> | ||||||
|  |         <stop offset="1" stop-color="#eeeeec" stop-opacity=".6204" /> | ||||||
|  |       </linearGradient> | ||||||
|  |       <linearGradient id="h"> | ||||||
|  |         <stop offset="0" stop-color="#787b76" /> | ||||||
|  |         <stop offset=".8713" stop-color="#babcb9" /> | ||||||
|  |         <stop offset="1" stop-color="#787b76" /> | ||||||
|  |       </linearGradient> | ||||||
|  |       <linearGradient id="f"> | ||||||
|  |         <stop offset="0" stop-color="#fff" /> | ||||||
|  |         <stop offset="1" stop-color="#fff" stop-opacity="0" /> | ||||||
|  |       </linearGradient> | ||||||
|  |       <linearGradient id="e"> | ||||||
|  |         <stop offset="0" stop-color="#c00" /> | ||||||
|  |         <stop offset=".3651" stop-color="#ef0000" /> | ||||||
|  |         <stop offset="1" stop-color="#a00" /> | ||||||
|  |       </linearGradient> | ||||||
|  |       <linearGradient id="g"> | ||||||
|  |         <stop offset="0" stop-color="#f0f2ef" /> | ||||||
|  |         <stop offset="1" stop-color="#cdd1c8" /> | ||||||
|  |       </linearGradient> | ||||||
|  |       <linearGradient id="d"> | ||||||
|  |         <stop offset="0" stop-color="#888a85" /> | ||||||
|  |         <stop offset="1" stop-color="#2e3436" /> | ||||||
|  |       </linearGradient> | ||||||
|  |       <linearGradient id="c"> | ||||||
|  |         <stop offset="0" stop-color="#555753" /> | ||||||
|  |         <stop offset="1" stop-color="#2e3436" /> | ||||||
|  |       </linearGradient> | ||||||
|  |       <linearGradient id="b"> | ||||||
|  |         <stop offset="0" stop-color="#2e3436" /> | ||||||
|  |         <stop offset="1" stop-color="#2e3436" stop-opacity="0" /> | ||||||
|  |       </linearGradient> | ||||||
|  |       <linearGradient id="a"> | ||||||
|  |         <stop offset="0" stop-color="#babdb6" /> | ||||||
|  |         <stop offset=".133" stop-color="#eeeeec" /> | ||||||
|  |         <stop offset="1" stop-color="#babdb6" /> | ||||||
|  |       </linearGradient> | ||||||
|  |       <linearGradient gradientUnits="userSpaceOnUse" y2="19.4657" x2="23.7386" y1="4.1566" x1="23.7386" id="t" | ||||||
|  |         xlink:href="#a" /> | ||||||
|  |       <linearGradient gradientUnits="userSpaceOnUse" y2="22.6325" x2="23.6881" y1="30.0572" x1="23.7323" id="u" | ||||||
|  |         xlink:href="#b" /> | ||||||
|  |       <linearGradient gradientUnits="userSpaceOnUse" y2="36.358" x2="23.9375" y1="30.6169" x1="23.9375" id="n" | ||||||
|  |         xlink:href="#c" /> | ||||||
|  |       <linearGradient gradientUnits="userSpaceOnUse" y2="23.9395" x2="20.5631" y1="32.248" x1="20.7711" id="o" | ||||||
|  |         xlink:href="#d" /> | ||||||
|  |       <linearGradient gradientUnits="userSpaceOnUse" y2="9" x2="14.8125" y1="5.6244" x1="14.8125" id="p" | ||||||
|  |         xlink:href="#e" /> | ||||||
|  |       <linearGradient gradientUnits="userSpaceOnUse" y2="10.0086" x2="24.0405" y1="5.069" x1="24.0405" id="q" | ||||||
|  |         xlink:href="#f" /> | ||||||
|  |       <linearGradient gradientUnits="userSpaceOnUse" y2="24" x2="14.125" y1="33.125" x1="13.625" id="m" | ||||||
|  |         xlink:href="#g" /> | ||||||
|  |       <linearGradient gradientUnits="userSpaceOnUse" y2="42.5" x2="10.1875" y1="20.25" x1="10.1875" id="l" | ||||||
|  |         xlink:href="#h" /> | ||||||
|  |       <linearGradient gradientUnits="userSpaceOnUse" y2="17.0709" x2="23.9367" y1="35.9587" x1="24.7188" id="r" | ||||||
|  |         xlink:href="#i" /> | ||||||
|  |       <linearGradient gradientUnits="userSpaceOnUse" y2="21.8143" x2="18.3125" y1="20.7438" x1="18.3125" id="s" | ||||||
|  |         xlink:href="#j" /> | ||||||
|  |       <filter height="1.2799" y="-.14" width="1.0595" x="-.0298" id="k"> | ||||||
|  |         <feGaussianBlur stdDeviation=".5197" /> | ||||||
|  |       </filter> | ||||||
|  |     </defs> | ||||||
|  |     <g transform="translate(-1.7528 -3.1044)"> | ||||||
|  |       <rect ry="2.2981" rx="2.2981" y="39" x="3" height="8.9116" width="41.9013" opacity=".2824" fill="#2e3436" | ||||||
|  |         filter="url(#k)" /> | ||||||
|  |       <path | ||||||
|  |         d="M10 16.5938c-1.1804-.045-2.3598.978-2.4688 2.2187-.888 7.2876-2.2042 14.591-2.875 21.875V43.75c.0338 1.5795 1.071 2.642 2.2188 2.8438H41.5c.979-.0246 2.065-.7038 2.0313-2v-3.9376l-3.125-21.2187c-.2539-1.3018-1.3668-2.6848-2.9063-2.8438z" | ||||||
|  |         fill="url(#l)" fill-rule="evenodd" stroke="#555753" /> | ||||||
|  |       <path | ||||||
|  |         d="M10.6019 39.6246c-1.1297-.1225-1.9285-.8636-1.9005-2.2236l1.9005-15.9933c.292-1.0683.985-1.9224 2.079-1.9193h21.9246c1.0863-.0326 2.1726.7204 2.457 1.6163l2.416 16.133c.057 1.469-.5475 2.3194-1.5654 2.2859z" | ||||||
|  |         fill="url(#m)" fill-rule="evenodd" stroke="#555753" /> | ||||||
|  |       <path d="M20.4688 20.4375l-2.0626 12.0313h-2.9687l8.0313 5.1562 8.9687-5.1563h-2.9688l-1.875-12.0312z" | ||||||
|  |         fill="url(#n)" fill-rule="evenodd" stroke="url(#o)" /> | ||||||
|  |       <rect ry="1.9855" rx="5.0159" y="4.5135" x="8.4848" height="6.0609" width="31.1132" fill="url(#p)" | ||||||
|  |         stroke="#930000" stroke-linecap="round" stroke-linejoin="round" /> | ||||||
|  |       <rect ry="1.2783" rx="1.8339" y="5.569" x="9.5004" height="3.9396" width="29.0803" opacity=".5833" fill="none" | ||||||
|  |         stroke="url(#q)" stroke-linecap="round" stroke-linejoin="round" /> | ||||||
|  |       <path | ||||||
|  |         d="M10.593 17.5722c-1.1188-.042-2.2367.9145-2.34 2.0748L5.4687 39.7228c.011.125.031.2569.0593.3799v2.8638c.032 1.477 1.015 2.4414 2.103 2.63h32.8483c.928-.0229 1.9276-.6288 1.8956-1.841v-3.682c.0073-.0285.0236-.0596.0297-.0877l-.0297-.2046v-.2045h-.0296l-2.9027-19.3745c-.2406-1.2173-1.2954-2.4813-2.7546-2.63z" | ||||||
|  |         opacity=".2454" fill="none" stroke="url(#r)" /> | ||||||
|  |       <path | ||||||
|  |         d="M10.2102 29.9558L12.048 22l24.0302.058 1.7797 8.9862-1.1767-9.0746c-.221-1.0017-.7513-1.9696-1.7236-1.9445l-21.9203-.0442c-1.4304-.0442-1.7118.8839-2.0373 1.9887z" | ||||||
|  |         opacity=".2083" fill="url(#s)" fill-rule="evenodd" /> | ||||||
|  |       <rect ry="1.0763" rx="1.0763" y="3.6044" x="20.4837" height="25.9701" width="7.0964" fill="url(#t)" | ||||||
|  |         stroke="#888a85" stroke-linecap="round" stroke-linejoin="round" /> | ||||||
|  |       <rect ry="1.0763" rx="1.0763" y="22.0138" x="19.9758" height="8.0433" width="8.1317" fill="url(#u)" /> | ||||||
|  |       <path d="M11.4234 41.4863h28.1104" opacity=".4352" fill="none" stroke="#fff" stroke-linecap="round" /> | ||||||
|  |       <rect ry="1.0763" rx="1.0763" y="4.6321" x="21.4282" height="23.9371" width="5.1519" opacity=".2269" fill="none" | ||||||
|  |         stroke="#fff" stroke-linecap="round" stroke-linejoin="round" /> | ||||||
|  |       <g opacity=".6204" fill="none" stroke-linecap="round"> | ||||||
|  |         <path d="M20.4375 30.5H27.5" stroke="#888a85" /> | ||||||
|  |         <path d="M19.961 32.5h8.0155" opacity=".6806" stroke="#888a85" /> | ||||||
|  |         <path d="M20.2735 31.5h7.453" stroke="#5d5d5c" /> | ||||||
|  |         <path d="M19.87 33.4887h8.2713" opacity=".6806" stroke="#5d5d5c" /> | ||||||
|  |       </g> | ||||||
|  |       <path d="M14.3814 31.5137h3.1378m12.9248-.0625h3.1377" fill="none" stroke="#fff" stroke-linecap="round" /> | ||||||
|  |       <ellipse ry="1.0828" rx="1.1932" cy="42.1885" cx="9.8553" transform="matrix(.42163 0 0 .4766 5.3635 21.3923)" | ||||||
|  |         opacity=".335" fill="#fff" /> | ||||||
|  |     </g> | ||||||
|  |   </svg> | ||||||
|  | </template> | ||||||
| @@ -1,4 +1,4 @@ | |||||||
| #!/bin/bash | #!/bin/bash | ||||||
| export DOMAIN="pegaz.domain.com" | export DOMAIN="docker-web.com" | ||||||
| export PORT="7755" | export PORT="7755" | ||||||
| export REDIRECTIONS="get.$DOMAIN->https://raw.githubusercontent.com/valerebron/pegaz/master/get.pegaz.sh" | export REDIRECTIONS="get.$DOMAIN->https://raw.githubusercontent.com/docker-web/docker-web/master/install.sh" | ||||||
|   | |||||||
| @@ -1,136 +0,0 @@ | |||||||
|  |  | ||||||
| <!doctype html> |  | ||||||
| <html lang="en"> |  | ||||||
|  |  | ||||||
| <head> |  | ||||||
|     <title>Code coverage report for add.vue</title> |  | ||||||
|     <meta charset="utf-8" /> |  | ||||||
|     <link rel="stylesheet" href="prettify.css" /> |  | ||||||
|     <link rel="stylesheet" href="base.css" /> |  | ||||||
|     <link rel="shortcut icon" type="image/x-icon" href="favicon.png" /> |  | ||||||
|     <meta name="viewport" content="width=device-width, initial-scale=1" /> |  | ||||||
|     <style type='text/css'> |  | ||||||
|         .coverage-summary .sorter { |  | ||||||
|             background-image: url(sort-arrow-sprite.png); |  | ||||||
|         } |  | ||||||
|     </style> |  | ||||||
| </head> |  | ||||||
|      |  | ||||||
| <body> |  | ||||||
| <div class='wrapper'> |  | ||||||
|     <div class='pad1'> |  | ||||||
|         <h1><a href="index.html">All files</a> add.vue</h1> |  | ||||||
|         <div class='clearfix'> |  | ||||||
|              |  | ||||||
|             <div class='fl pad1y space-right2'> |  | ||||||
|                 <span class="strong">0% </span> |  | ||||||
|                 <span class="quiet">Statements</span> |  | ||||||
|                 <span class='fraction'>0/17</span> |  | ||||||
|             </div> |  | ||||||
|          |  | ||||||
|              |  | ||||||
|             <div class='fl pad1y space-right2'> |  | ||||||
|                 <span class="strong">0% </span> |  | ||||||
|                 <span class="quiet">Branches</span> |  | ||||||
|                 <span class='fraction'>0/1</span> |  | ||||||
|             </div> |  | ||||||
|          |  | ||||||
|              |  | ||||||
|             <div class='fl pad1y space-right2'> |  | ||||||
|                 <span class="strong">0% </span> |  | ||||||
|                 <span class="quiet">Functions</span> |  | ||||||
|                 <span class='fraction'>0/1</span> |  | ||||||
|             </div> |  | ||||||
|          |  | ||||||
|              |  | ||||||
|             <div class='fl pad1y space-right2'> |  | ||||||
|                 <span class="strong">0% </span> |  | ||||||
|                 <span class="quiet">Lines</span> |  | ||||||
|                 <span class='fraction'>0/17</span> |  | ||||||
|             </div> |  | ||||||
|          |  | ||||||
|              |  | ||||||
|         </div> |  | ||||||
|         <p class="quiet"> |  | ||||||
|             Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block. |  | ||||||
|         </p> |  | ||||||
|         <template id="filterTemplate"> |  | ||||||
|             <div class="quiet"> |  | ||||||
|                 Filter: |  | ||||||
|                 <input oninput="onInput()" type="search" id="fileSearch"> |  | ||||||
|             </div> |  | ||||||
|         </template> |  | ||||||
|     </div> |  | ||||||
|     <div class='status-line low'></div> |  | ||||||
|     <pre><table class="coverage"> |  | ||||||
| <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a> |  | ||||||
| <a name='L2'></a><a href='#L2'>2</a> |  | ||||||
| <a name='L3'></a><a href='#L3'>3</a> |  | ||||||
| <a name='L4'></a><a href='#L4'>4</a> |  | ||||||
| <a name='L5'></a><a href='#L5'>5</a> |  | ||||||
| <a name='L6'></a><a href='#L6'>6</a> |  | ||||||
| <a name='L7'></a><a href='#L7'>7</a> |  | ||||||
| <a name='L8'></a><a href='#L8'>8</a> |  | ||||||
| <a name='L9'></a><a href='#L9'>9</a> |  | ||||||
| <a name='L10'></a><a href='#L10'>10</a> |  | ||||||
| <a name='L11'></a><a href='#L11'>11</a> |  | ||||||
| <a name='L12'></a><a href='#L12'>12</a> |  | ||||||
| <a name='L13'></a><a href='#L13'>13</a> |  | ||||||
| <a name='L14'></a><a href='#L14'>14</a> |  | ||||||
| <a name='L15'></a><a href='#L15'>15</a> |  | ||||||
| <a name='L16'></a><a href='#L16'>16</a> |  | ||||||
| <a name='L17'></a><a href='#L17'>17</a> |  | ||||||
| <a name='L18'></a><a href='#L18'>18</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ><template></span></span></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  <form @submit.prevent="addTodoAndClear()"></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >    <input v-model="newTodo" type="text" class="p-4 w-full" placeholder="write a new todo ..."></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  </form></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" ></template></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" ></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" ><script lang="ts" setup></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >import { useTodoStore } from '~~/stores/TodoStore'</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >const store = useTodoStore()</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >const newTodo = ref('')</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >const addTodoAndClear = () => {</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  if (newTodo.value.length !== 0) {</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >    store.addTodo(newTodo.value)</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >    newTodo.value = ''</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  }</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >}</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" ></script></span> |  | ||||||
|  </pre></td></tr></table></pre> |  | ||||||
|  |  | ||||||
|                 <div class='push'></div><!-- for sticky footer --> |  | ||||||
|             </div><!-- /wrapper --> |  | ||||||
|             <div class='footer quiet pad2 space-top1 center small'> |  | ||||||
|                 Code coverage generated by |  | ||||||
|                 <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a> |  | ||||||
|                 at 2023-03-01T07:48:52.713Z |  | ||||||
|             </div> |  | ||||||
|         <script src="prettify.js"></script> |  | ||||||
|         <script> |  | ||||||
|             window.onload = function () { |  | ||||||
|                 prettyPrint(); |  | ||||||
|             }; |  | ||||||
|         </script> |  | ||||||
|         <script src="sorter.js"></script> |  | ||||||
|         <script src="block-navigation.js"></script> |  | ||||||
|     </body> |  | ||||||
| </html> |  | ||||||
|      |  | ||||||
| @@ -1,224 +0,0 @@ | |||||||
| body, html { |  | ||||||
|   margin:0; padding: 0; |  | ||||||
|   height: 100%; |  | ||||||
| } |  | ||||||
| body { |  | ||||||
|     font-family: Helvetica Neue, Helvetica, Arial; |  | ||||||
|     font-size: 14px; |  | ||||||
|     color:#333; |  | ||||||
| } |  | ||||||
| .small { font-size: 12px; } |  | ||||||
| *, *:after, *:before { |  | ||||||
|   -webkit-box-sizing:border-box; |  | ||||||
|      -moz-box-sizing:border-box; |  | ||||||
|           box-sizing:border-box; |  | ||||||
|   } |  | ||||||
| h1 { font-size: 20px; margin: 0;} |  | ||||||
| h2 { font-size: 14px; } |  | ||||||
| pre { |  | ||||||
|     font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; |  | ||||||
|     margin: 0; |  | ||||||
|     padding: 0; |  | ||||||
|     -moz-tab-size: 2; |  | ||||||
|     -o-tab-size:  2; |  | ||||||
|     tab-size: 2; |  | ||||||
| } |  | ||||||
| a { color:#0074D9; text-decoration:none; } |  | ||||||
| a:hover { text-decoration:underline; } |  | ||||||
| .strong { font-weight: bold; } |  | ||||||
| .space-top1 { padding: 10px 0 0 0; } |  | ||||||
| .pad2y { padding: 20px 0; } |  | ||||||
| .pad1y { padding: 10px 0; } |  | ||||||
| .pad2x { padding: 0 20px; } |  | ||||||
| .pad2 { padding: 20px; } |  | ||||||
| .pad1 { padding: 10px; } |  | ||||||
| .space-left2 { padding-left:55px; } |  | ||||||
| .space-right2 { padding-right:20px; } |  | ||||||
| .center { text-align:center; } |  | ||||||
| .clearfix { display:block; } |  | ||||||
| .clearfix:after { |  | ||||||
|   content:''; |  | ||||||
|   display:block; |  | ||||||
|   height:0; |  | ||||||
|   clear:both; |  | ||||||
|   visibility:hidden; |  | ||||||
|   } |  | ||||||
| .fl { float: left; } |  | ||||||
| @media only screen and (max-width:640px) { |  | ||||||
|   .col3 { width:100%; max-width:100%; } |  | ||||||
|   .hide-mobile { display:none!important; } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .quiet { |  | ||||||
|   color: #7f7f7f; |  | ||||||
|   color: rgba(0,0,0,0.5); |  | ||||||
| } |  | ||||||
| .quiet a { opacity: 0.7; } |  | ||||||
|  |  | ||||||
| .fraction { |  | ||||||
|   font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; |  | ||||||
|   font-size: 10px; |  | ||||||
|   color: #555; |  | ||||||
|   background: #E8E8E8; |  | ||||||
|   padding: 4px 5px; |  | ||||||
|   border-radius: 3px; |  | ||||||
|   vertical-align: middle; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| div.path a:link, div.path a:visited { color: #333; } |  | ||||||
| table.coverage { |  | ||||||
|   border-collapse: collapse; |  | ||||||
|   margin: 10px 0 0 0; |  | ||||||
|   padding: 0; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| table.coverage td { |  | ||||||
|   margin: 0; |  | ||||||
|   padding: 0; |  | ||||||
|   vertical-align: top; |  | ||||||
| } |  | ||||||
| table.coverage td.line-count { |  | ||||||
|     text-align: right; |  | ||||||
|     padding: 0 5px 0 20px; |  | ||||||
| } |  | ||||||
| table.coverage td.line-coverage { |  | ||||||
|     text-align: right; |  | ||||||
|     padding-right: 10px; |  | ||||||
|     min-width:20px; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| table.coverage td span.cline-any { |  | ||||||
|     display: inline-block; |  | ||||||
|     padding: 0 5px; |  | ||||||
|     width: 100%; |  | ||||||
| } |  | ||||||
| .missing-if-branch { |  | ||||||
|     display: inline-block; |  | ||||||
|     margin-right: 5px; |  | ||||||
|     border-radius: 3px; |  | ||||||
|     position: relative; |  | ||||||
|     padding: 0 4px; |  | ||||||
|     background: #333; |  | ||||||
|     color: yellow; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .skip-if-branch { |  | ||||||
|     display: none; |  | ||||||
|     margin-right: 10px; |  | ||||||
|     position: relative; |  | ||||||
|     padding: 0 4px; |  | ||||||
|     background: #ccc; |  | ||||||
|     color: white; |  | ||||||
| } |  | ||||||
| .missing-if-branch .typ, .skip-if-branch .typ { |  | ||||||
|     color: inherit !important; |  | ||||||
| } |  | ||||||
| .coverage-summary { |  | ||||||
|   border-collapse: collapse; |  | ||||||
|   width: 100%; |  | ||||||
| } |  | ||||||
| .coverage-summary tr { border-bottom: 1px solid #bbb; } |  | ||||||
| .keyline-all { border: 1px solid #ddd; } |  | ||||||
| .coverage-summary td, .coverage-summary th { padding: 10px; } |  | ||||||
| .coverage-summary tbody { border: 1px solid #bbb; } |  | ||||||
| .coverage-summary td { border-right: 1px solid #bbb; } |  | ||||||
| .coverage-summary td:last-child { border-right: none; } |  | ||||||
| .coverage-summary th { |  | ||||||
|   text-align: left; |  | ||||||
|   font-weight: normal; |  | ||||||
|   white-space: nowrap; |  | ||||||
| } |  | ||||||
| .coverage-summary th.file { border-right: none !important; } |  | ||||||
| .coverage-summary th.pct { } |  | ||||||
| .coverage-summary th.pic, |  | ||||||
| .coverage-summary th.abs, |  | ||||||
| .coverage-summary td.pct, |  | ||||||
| .coverage-summary td.abs { text-align: right; } |  | ||||||
| .coverage-summary td.file { white-space: nowrap;  } |  | ||||||
| .coverage-summary td.pic { min-width: 120px !important;  } |  | ||||||
| .coverage-summary tfoot td { } |  | ||||||
|  |  | ||||||
| .coverage-summary .sorter { |  | ||||||
|     height: 10px; |  | ||||||
|     width: 7px; |  | ||||||
|     display: inline-block; |  | ||||||
|     margin-left: 0.5em; |  | ||||||
|     background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; |  | ||||||
| } |  | ||||||
| .coverage-summary .sorted .sorter { |  | ||||||
|     background-position: 0 -20px; |  | ||||||
| } |  | ||||||
| .coverage-summary .sorted-desc .sorter { |  | ||||||
|     background-position: 0 -10px; |  | ||||||
| } |  | ||||||
| .status-line {  height: 10px; } |  | ||||||
| /* yellow */ |  | ||||||
| .cbranch-no { background: yellow !important; color: #111; } |  | ||||||
| /* dark red */ |  | ||||||
| .red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } |  | ||||||
| .low .chart { border:1px solid #C21F39 } |  | ||||||
| .highlighted, |  | ||||||
| .highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ |  | ||||||
|   background: #C21F39 !important; |  | ||||||
| } |  | ||||||
| /* medium red */ |  | ||||||
| .cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } |  | ||||||
| /* light red */ |  | ||||||
| .low, .cline-no { background:#FCE1E5 } |  | ||||||
| /* light green */ |  | ||||||
| .high, .cline-yes { background:rgb(230,245,208) } |  | ||||||
| /* medium green */ |  | ||||||
| .cstat-yes { background:rgb(161,215,106) } |  | ||||||
| /* dark green */ |  | ||||||
| .status-line.high, .high .cover-fill { background:rgb(77,146,33) } |  | ||||||
| .high .chart { border:1px solid rgb(77,146,33) } |  | ||||||
| /* dark yellow (gold) */ |  | ||||||
| .status-line.medium, .medium .cover-fill { background: #f9cd0b; } |  | ||||||
| .medium .chart { border:1px solid #f9cd0b; } |  | ||||||
| /* light yellow */ |  | ||||||
| .medium { background: #fff4c2; } |  | ||||||
|  |  | ||||||
| .cstat-skip { background: #ddd; color: #111; } |  | ||||||
| .fstat-skip { background: #ddd; color: #111 !important; } |  | ||||||
| .cbranch-skip { background: #ddd !important; color: #111; } |  | ||||||
|  |  | ||||||
| span.cline-neutral { background: #eaeaea; } |  | ||||||
|  |  | ||||||
| .coverage-summary td.empty { |  | ||||||
|     opacity: .5; |  | ||||||
|     padding-top: 4px; |  | ||||||
|     padding-bottom: 4px; |  | ||||||
|     line-height: 1; |  | ||||||
|     color: #888; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| .cover-fill, .cover-empty { |  | ||||||
|   display:inline-block; |  | ||||||
|   height: 12px; |  | ||||||
| } |  | ||||||
| .chart { |  | ||||||
|   line-height: 0; |  | ||||||
| } |  | ||||||
| .cover-empty { |  | ||||||
|     background: white; |  | ||||||
| } |  | ||||||
| .cover-full { |  | ||||||
|     border-right: none !important; |  | ||||||
| } |  | ||||||
| pre.prettyprint { |  | ||||||
|     border: none !important; |  | ||||||
|     padding: 0 !important; |  | ||||||
|     margin: 0 !important; |  | ||||||
| } |  | ||||||
| .com { color: #999 !important; } |  | ||||||
| .ignore-none { color: #999; font-weight: normal; } |  | ||||||
|  |  | ||||||
| .wrapper { |  | ||||||
|   min-height: 100%; |  | ||||||
|   height: auto !important; |  | ||||||
|   height: 100%; |  | ||||||
|   margin: 0 auto -48px; |  | ||||||
| } |  | ||||||
| .footer, .push { |  | ||||||
|   height: 48px; |  | ||||||
| } |  | ||||||
| @@ -1,87 +0,0 @@ | |||||||
| /* eslint-disable */ |  | ||||||
| var jumpToCode = (function init() { |  | ||||||
|     // Classes of code we would like to highlight in the file view |  | ||||||
|     var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; |  | ||||||
|  |  | ||||||
|     // Elements to highlight in the file listing view |  | ||||||
|     var fileListingElements = ['td.pct.low']; |  | ||||||
|  |  | ||||||
|     // We don't want to select elements that are direct descendants of another match |  | ||||||
|     var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` |  | ||||||
|  |  | ||||||
|     // Selecter that finds elements on the page to which we can jump |  | ||||||
|     var selector = |  | ||||||
|         fileListingElements.join(', ') + |  | ||||||
|         ', ' + |  | ||||||
|         notSelector + |  | ||||||
|         missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` |  | ||||||
|  |  | ||||||
|     // The NodeList of matching elements |  | ||||||
|     var missingCoverageElements = document.querySelectorAll(selector); |  | ||||||
|  |  | ||||||
|     var currentIndex; |  | ||||||
|  |  | ||||||
|     function toggleClass(index) { |  | ||||||
|         missingCoverageElements |  | ||||||
|             .item(currentIndex) |  | ||||||
|             .classList.remove('highlighted'); |  | ||||||
|         missingCoverageElements.item(index).classList.add('highlighted'); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     function makeCurrent(index) { |  | ||||||
|         toggleClass(index); |  | ||||||
|         currentIndex = index; |  | ||||||
|         missingCoverageElements.item(index).scrollIntoView({ |  | ||||||
|             behavior: 'smooth', |  | ||||||
|             block: 'center', |  | ||||||
|             inline: 'center' |  | ||||||
|         }); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     function goToPrevious() { |  | ||||||
|         var nextIndex = 0; |  | ||||||
|         if (typeof currentIndex !== 'number' || currentIndex === 0) { |  | ||||||
|             nextIndex = missingCoverageElements.length - 1; |  | ||||||
|         } else if (missingCoverageElements.length > 1) { |  | ||||||
|             nextIndex = currentIndex - 1; |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         makeCurrent(nextIndex); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     function goToNext() { |  | ||||||
|         var nextIndex = 0; |  | ||||||
|  |  | ||||||
|         if ( |  | ||||||
|             typeof currentIndex === 'number' && |  | ||||||
|             currentIndex < missingCoverageElements.length - 1 |  | ||||||
|         ) { |  | ||||||
|             nextIndex = currentIndex + 1; |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         makeCurrent(nextIndex); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     return function jump(event) { |  | ||||||
|         if ( |  | ||||||
|             document.getElementById('fileSearch') === document.activeElement && |  | ||||||
|             document.activeElement != null |  | ||||||
|         ) { |  | ||||||
|             // if we're currently focused on the search input, we don't want to navigate |  | ||||||
|             return; |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         switch (event.which) { |  | ||||||
|             case 78: // n |  | ||||||
|             case 74: // j |  | ||||||
|                 goToNext(); |  | ||||||
|                 break; |  | ||||||
|             case 66: // b |  | ||||||
|             case 75: // k |  | ||||||
|             case 80: // p |  | ||||||
|                 goToPrevious(); |  | ||||||
|                 break; |  | ||||||
|         } |  | ||||||
|     }; |  | ||||||
| })(); |  | ||||||
| window.addEventListener('keydown', jumpToCode); |  | ||||||
| @@ -1,108 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> |  | ||||||
| <coverage generated="1677656932716" clover="3.2.0"> |  | ||||||
|   <project timestamp="1677656932717" name="All files"> |  | ||||||
|     <metrics statements="93" coveredstatements="0" conditionals="3" coveredconditionals="0" methods="3" coveredmethods="0" elements="99" coveredelements="0" complexity="0" loc="93" ncloc="93" packages="1" files="3" classes="3"/> |  | ||||||
|     <file name="add.vue" path="/home/valere/sidebase/components/todo/add.vue"> |  | ||||||
|       <metrics statements="17" coveredstatements="0" conditionals="1" coveredconditionals="0" methods="1" coveredmethods="0"/> |  | ||||||
|       <line num="1" count="0" type="cond" truecount="0" falsecount="1"/> |  | ||||||
|       <line num="2" count="0" type="stmt"/> |  | ||||||
|       <line num="3" count="0" type="stmt"/> |  | ||||||
|       <line num="4" count="0" type="stmt"/> |  | ||||||
|       <line num="5" count="0" type="stmt"/> |  | ||||||
|       <line num="6" count="0" type="stmt"/> |  | ||||||
|       <line num="7" count="0" type="stmt"/> |  | ||||||
|       <line num="8" count="0" type="stmt"/> |  | ||||||
|       <line num="9" count="0" type="stmt"/> |  | ||||||
|       <line num="10" count="0" type="stmt"/> |  | ||||||
|       <line num="11" count="0" type="stmt"/> |  | ||||||
|       <line num="12" count="0" type="stmt"/> |  | ||||||
|       <line num="13" count="0" type="stmt"/> |  | ||||||
|       <line num="14" count="0" type="stmt"/> |  | ||||||
|       <line num="15" count="0" type="stmt"/> |  | ||||||
|       <line num="16" count="0" type="stmt"/> |  | ||||||
|       <line num="17" count="0" type="stmt"/> |  | ||||||
|     </file> |  | ||||||
|     <file name="list.vue" path="/home/valere/sidebase/components/todo/list.vue"> |  | ||||||
|       <metrics statements="13" coveredstatements="0" conditionals="1" coveredconditionals="0" methods="1" coveredmethods="0"/> |  | ||||||
|       <line num="1" count="0" type="cond" truecount="0" falsecount="1"/> |  | ||||||
|       <line num="2" count="0" type="stmt"/> |  | ||||||
|       <line num="3" count="0" type="stmt"/> |  | ||||||
|       <line num="4" count="0" type="stmt"/> |  | ||||||
|       <line num="5" count="0" type="stmt"/> |  | ||||||
|       <line num="6" count="0" type="stmt"/> |  | ||||||
|       <line num="7" count="0" type="stmt"/> |  | ||||||
|       <line num="8" count="0" type="stmt"/> |  | ||||||
|       <line num="9" count="0" type="stmt"/> |  | ||||||
|       <line num="10" count="0" type="stmt"/> |  | ||||||
|       <line num="11" count="0" type="stmt"/> |  | ||||||
|       <line num="12" count="0" type="stmt"/> |  | ||||||
|       <line num="13" count="0" type="stmt"/> |  | ||||||
|     </file> |  | ||||||
|     <file name="row.vue" path="/home/valere/sidebase/components/todo/row.vue"> |  | ||||||
|       <metrics statements="63" coveredstatements="0" conditionals="1" coveredconditionals="0" methods="1" coveredmethods="0"/> |  | ||||||
|       <line num="1" count="0" type="cond" truecount="0" falsecount="1"/> |  | ||||||
|       <line num="2" count="0" type="stmt"/> |  | ||||||
|       <line num="3" count="0" type="stmt"/> |  | ||||||
|       <line num="4" count="0" type="stmt"/> |  | ||||||
|       <line num="5" count="0" type="stmt"/> |  | ||||||
|       <line num="6" count="0" type="stmt"/> |  | ||||||
|       <line num="7" count="0" type="stmt"/> |  | ||||||
|       <line num="8" count="0" type="stmt"/> |  | ||||||
|       <line num="9" count="0" type="stmt"/> |  | ||||||
|       <line num="10" count="0" type="stmt"/> |  | ||||||
|       <line num="11" count="0" type="stmt"/> |  | ||||||
|       <line num="12" count="0" type="stmt"/> |  | ||||||
|       <line num="13" count="0" type="stmt"/> |  | ||||||
|       <line num="14" count="0" type="stmt"/> |  | ||||||
|       <line num="15" count="0" type="stmt"/> |  | ||||||
|       <line num="16" count="0" type="stmt"/> |  | ||||||
|       <line num="17" count="0" type="stmt"/> |  | ||||||
|       <line num="18" count="0" type="stmt"/> |  | ||||||
|       <line num="19" count="0" type="stmt"/> |  | ||||||
|       <line num="20" count="0" type="stmt"/> |  | ||||||
|       <line num="21" count="0" type="stmt"/> |  | ||||||
|       <line num="22" count="0" type="stmt"/> |  | ||||||
|       <line num="23" count="0" type="stmt"/> |  | ||||||
|       <line num="24" count="0" type="stmt"/> |  | ||||||
|       <line num="25" count="0" type="stmt"/> |  | ||||||
|       <line num="26" count="0" type="stmt"/> |  | ||||||
|       <line num="27" count="0" type="stmt"/> |  | ||||||
|       <line num="28" count="0" type="stmt"/> |  | ||||||
|       <line num="29" count="0" type="stmt"/> |  | ||||||
|       <line num="30" count="0" type="stmt"/> |  | ||||||
|       <line num="31" count="0" type="stmt"/> |  | ||||||
|       <line num="32" count="0" type="stmt"/> |  | ||||||
|       <line num="33" count="0" type="stmt"/> |  | ||||||
|       <line num="34" count="0" type="stmt"/> |  | ||||||
|       <line num="35" count="0" type="stmt"/> |  | ||||||
|       <line num="36" count="0" type="stmt"/> |  | ||||||
|       <line num="37" count="0" type="stmt"/> |  | ||||||
|       <line num="38" count="0" type="stmt"/> |  | ||||||
|       <line num="39" count="0" type="stmt"/> |  | ||||||
|       <line num="40" count="0" type="stmt"/> |  | ||||||
|       <line num="41" count="0" type="stmt"/> |  | ||||||
|       <line num="42" count="0" type="stmt"/> |  | ||||||
|       <line num="43" count="0" type="stmt"/> |  | ||||||
|       <line num="44" count="0" type="stmt"/> |  | ||||||
|       <line num="45" count="0" type="stmt"/> |  | ||||||
|       <line num="46" count="0" type="stmt"/> |  | ||||||
|       <line num="47" count="0" type="stmt"/> |  | ||||||
|       <line num="48" count="0" type="stmt"/> |  | ||||||
|       <line num="49" count="0" type="stmt"/> |  | ||||||
|       <line num="50" count="0" type="stmt"/> |  | ||||||
|       <line num="51" count="0" type="stmt"/> |  | ||||||
|       <line num="52" count="0" type="stmt"/> |  | ||||||
|       <line num="53" count="0" type="stmt"/> |  | ||||||
|       <line num="54" count="0" type="stmt"/> |  | ||||||
|       <line num="55" count="0" type="stmt"/> |  | ||||||
|       <line num="56" count="0" type="stmt"/> |  | ||||||
|       <line num="57" count="0" type="stmt"/> |  | ||||||
|       <line num="58" count="0" type="stmt"/> |  | ||||||
|       <line num="59" count="0" type="stmt"/> |  | ||||||
|       <line num="60" count="0" type="stmt"/> |  | ||||||
|       <line num="61" count="0" type="stmt"/> |  | ||||||
|       <line num="62" count="0" type="stmt"/> |  | ||||||
|       <line num="63" count="0" type="stmt"/> |  | ||||||
|     </file> |  | ||||||
|   </project> |  | ||||||
| </coverage> |  | ||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 445 B | 
| @@ -1,146 +0,0 @@ | |||||||
|  |  | ||||||
| <!doctype html> |  | ||||||
| <html lang="en"> |  | ||||||
|  |  | ||||||
| <head> |  | ||||||
|     <title>Code coverage report for All files</title> |  | ||||||
|     <meta charset="utf-8" /> |  | ||||||
|     <link rel="stylesheet" href="prettify.css" /> |  | ||||||
|     <link rel="stylesheet" href="base.css" /> |  | ||||||
|     <link rel="shortcut icon" type="image/x-icon" href="favicon.png" /> |  | ||||||
|     <meta name="viewport" content="width=device-width, initial-scale=1" /> |  | ||||||
|     <style type='text/css'> |  | ||||||
|         .coverage-summary .sorter { |  | ||||||
|             background-image: url(sort-arrow-sprite.png); |  | ||||||
|         } |  | ||||||
|     </style> |  | ||||||
| </head> |  | ||||||
|      |  | ||||||
| <body> |  | ||||||
| <div class='wrapper'> |  | ||||||
|     <div class='pad1'> |  | ||||||
|         <h1>All files</h1> |  | ||||||
|         <div class='clearfix'> |  | ||||||
|              |  | ||||||
|             <div class='fl pad1y space-right2'> |  | ||||||
|                 <span class="strong">0% </span> |  | ||||||
|                 <span class="quiet">Statements</span> |  | ||||||
|                 <span class='fraction'>0/93</span> |  | ||||||
|             </div> |  | ||||||
|          |  | ||||||
|              |  | ||||||
|             <div class='fl pad1y space-right2'> |  | ||||||
|                 <span class="strong">0% </span> |  | ||||||
|                 <span class="quiet">Branches</span> |  | ||||||
|                 <span class='fraction'>0/3</span> |  | ||||||
|             </div> |  | ||||||
|          |  | ||||||
|              |  | ||||||
|             <div class='fl pad1y space-right2'> |  | ||||||
|                 <span class="strong">0% </span> |  | ||||||
|                 <span class="quiet">Functions</span> |  | ||||||
|                 <span class='fraction'>0/3</span> |  | ||||||
|             </div> |  | ||||||
|          |  | ||||||
|              |  | ||||||
|             <div class='fl pad1y space-right2'> |  | ||||||
|                 <span class="strong">0% </span> |  | ||||||
|                 <span class="quiet">Lines</span> |  | ||||||
|                 <span class='fraction'>0/93</span> |  | ||||||
|             </div> |  | ||||||
|          |  | ||||||
|              |  | ||||||
|         </div> |  | ||||||
|         <p class="quiet"> |  | ||||||
|             Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block. |  | ||||||
|         </p> |  | ||||||
|         <template id="filterTemplate"> |  | ||||||
|             <div class="quiet"> |  | ||||||
|                 Filter: |  | ||||||
|                 <input oninput="onInput()" type="search" id="fileSearch"> |  | ||||||
|             </div> |  | ||||||
|         </template> |  | ||||||
|     </div> |  | ||||||
|     <div class='status-line low'></div> |  | ||||||
|     <div class="pad1"> |  | ||||||
| <table class="coverage-summary"> |  | ||||||
| <thead> |  | ||||||
| <tr> |  | ||||||
|    <th data-col="file" data-fmt="html" data-html="true" class="file">File</th> |  | ||||||
|    <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th> |  | ||||||
|    <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th> |  | ||||||
|    <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th> |  | ||||||
|    <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th> |  | ||||||
|    <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th> |  | ||||||
|    <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th> |  | ||||||
|    <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th> |  | ||||||
|    <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th> |  | ||||||
|    <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th> |  | ||||||
| </tr> |  | ||||||
| </thead> |  | ||||||
| <tbody><tr> |  | ||||||
| 	<td class="file low" data-value="add.vue"><a href="add.vue.html">add.vue</a></td> |  | ||||||
| 	<td data-value="0" class="pic low"> |  | ||||||
| 	<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div> |  | ||||||
| 	</td> |  | ||||||
| 	<td data-value="0" class="pct low">0%</td> |  | ||||||
| 	<td data-value="17" class="abs low">0/17</td> |  | ||||||
| 	<td data-value="0" class="pct low">0%</td> |  | ||||||
| 	<td data-value="1" class="abs low">0/1</td> |  | ||||||
| 	<td data-value="0" class="pct low">0%</td> |  | ||||||
| 	<td data-value="1" class="abs low">0/1</td> |  | ||||||
| 	<td data-value="0" class="pct low">0%</td> |  | ||||||
| 	<td data-value="17" class="abs low">0/17</td> |  | ||||||
| 	</tr> |  | ||||||
|  |  | ||||||
| <tr> |  | ||||||
| 	<td class="file low" data-value="list.vue"><a href="list.vue.html">list.vue</a></td> |  | ||||||
| 	<td data-value="0" class="pic low"> |  | ||||||
| 	<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div> |  | ||||||
| 	</td> |  | ||||||
| 	<td data-value="0" class="pct low">0%</td> |  | ||||||
| 	<td data-value="13" class="abs low">0/13</td> |  | ||||||
| 	<td data-value="0" class="pct low">0%</td> |  | ||||||
| 	<td data-value="1" class="abs low">0/1</td> |  | ||||||
| 	<td data-value="0" class="pct low">0%</td> |  | ||||||
| 	<td data-value="1" class="abs low">0/1</td> |  | ||||||
| 	<td data-value="0" class="pct low">0%</td> |  | ||||||
| 	<td data-value="13" class="abs low">0/13</td> |  | ||||||
| 	</tr> |  | ||||||
|  |  | ||||||
| <tr> |  | ||||||
| 	<td class="file low" data-value="row.vue"><a href="row.vue.html">row.vue</a></td> |  | ||||||
| 	<td data-value="0" class="pic low"> |  | ||||||
| 	<div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div> |  | ||||||
| 	</td> |  | ||||||
| 	<td data-value="0" class="pct low">0%</td> |  | ||||||
| 	<td data-value="63" class="abs low">0/63</td> |  | ||||||
| 	<td data-value="0" class="pct low">0%</td> |  | ||||||
| 	<td data-value="1" class="abs low">0/1</td> |  | ||||||
| 	<td data-value="0" class="pct low">0%</td> |  | ||||||
| 	<td data-value="1" class="abs low">0/1</td> |  | ||||||
| 	<td data-value="0" class="pct low">0%</td> |  | ||||||
| 	<td data-value="63" class="abs low">0/63</td> |  | ||||||
| 	</tr> |  | ||||||
|  |  | ||||||
| </tbody> |  | ||||||
| </table> |  | ||||||
| </div> |  | ||||||
|                 <div class='push'></div><!-- for sticky footer --> |  | ||||||
|             </div><!-- /wrapper --> |  | ||||||
|             <div class='footer quiet pad2 space-top1 center small'> |  | ||||||
|                 Code coverage generated by |  | ||||||
|                 <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a> |  | ||||||
|                 at 2023-03-01T07:48:52.713Z |  | ||||||
|             </div> |  | ||||||
|         <script src="prettify.js"></script> |  | ||||||
|         <script> |  | ||||||
|             window.onload = function () { |  | ||||||
|                 prettyPrint(); |  | ||||||
|             }; |  | ||||||
|         </script> |  | ||||||
|         <script src="sorter.js"></script> |  | ||||||
|         <script src="block-navigation.js"></script> |  | ||||||
|     </body> |  | ||||||
| </html> |  | ||||||
|      |  | ||||||
| @@ -1,124 +0,0 @@ | |||||||
|  |  | ||||||
| <!doctype html> |  | ||||||
| <html lang="en"> |  | ||||||
|  |  | ||||||
| <head> |  | ||||||
|     <title>Code coverage report for list.vue</title> |  | ||||||
|     <meta charset="utf-8" /> |  | ||||||
|     <link rel="stylesheet" href="prettify.css" /> |  | ||||||
|     <link rel="stylesheet" href="base.css" /> |  | ||||||
|     <link rel="shortcut icon" type="image/x-icon" href="favicon.png" /> |  | ||||||
|     <meta name="viewport" content="width=device-width, initial-scale=1" /> |  | ||||||
|     <style type='text/css'> |  | ||||||
|         .coverage-summary .sorter { |  | ||||||
|             background-image: url(sort-arrow-sprite.png); |  | ||||||
|         } |  | ||||||
|     </style> |  | ||||||
| </head> |  | ||||||
|      |  | ||||||
| <body> |  | ||||||
| <div class='wrapper'> |  | ||||||
|     <div class='pad1'> |  | ||||||
|         <h1><a href="index.html">All files</a> list.vue</h1> |  | ||||||
|         <div class='clearfix'> |  | ||||||
|              |  | ||||||
|             <div class='fl pad1y space-right2'> |  | ||||||
|                 <span class="strong">0% </span> |  | ||||||
|                 <span class="quiet">Statements</span> |  | ||||||
|                 <span class='fraction'>0/13</span> |  | ||||||
|             </div> |  | ||||||
|          |  | ||||||
|              |  | ||||||
|             <div class='fl pad1y space-right2'> |  | ||||||
|                 <span class="strong">0% </span> |  | ||||||
|                 <span class="quiet">Branches</span> |  | ||||||
|                 <span class='fraction'>0/1</span> |  | ||||||
|             </div> |  | ||||||
|          |  | ||||||
|              |  | ||||||
|             <div class='fl pad1y space-right2'> |  | ||||||
|                 <span class="strong">0% </span> |  | ||||||
|                 <span class="quiet">Functions</span> |  | ||||||
|                 <span class='fraction'>0/1</span> |  | ||||||
|             </div> |  | ||||||
|          |  | ||||||
|              |  | ||||||
|             <div class='fl pad1y space-right2'> |  | ||||||
|                 <span class="strong">0% </span> |  | ||||||
|                 <span class="quiet">Lines</span> |  | ||||||
|                 <span class='fraction'>0/13</span> |  | ||||||
|             </div> |  | ||||||
|          |  | ||||||
|              |  | ||||||
|         </div> |  | ||||||
|         <p class="quiet"> |  | ||||||
|             Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block. |  | ||||||
|         </p> |  | ||||||
|         <template id="filterTemplate"> |  | ||||||
|             <div class="quiet"> |  | ||||||
|                 Filter: |  | ||||||
|                 <input oninput="onInput()" type="search" id="fileSearch"> |  | ||||||
|             </div> |  | ||||||
|         </template> |  | ||||||
|     </div> |  | ||||||
|     <div class='status-line low'></div> |  | ||||||
|     <pre><table class="coverage"> |  | ||||||
| <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a> |  | ||||||
| <a name='L2'></a><a href='#L2'>2</a> |  | ||||||
| <a name='L3'></a><a href='#L3'>3</a> |  | ||||||
| <a name='L4'></a><a href='#L4'>4</a> |  | ||||||
| <a name='L5'></a><a href='#L5'>5</a> |  | ||||||
| <a name='L6'></a><a href='#L6'>6</a> |  | ||||||
| <a name='L7'></a><a href='#L7'>7</a> |  | ||||||
| <a name='L8'></a><a href='#L8'>8</a> |  | ||||||
| <a name='L9'></a><a href='#L9'>9</a> |  | ||||||
| <a name='L10'></a><a href='#L10'>10</a> |  | ||||||
| <a name='L11'></a><a href='#L11'>11</a> |  | ||||||
| <a name='L12'></a><a href='#L12'>12</a> |  | ||||||
| <a name='L13'></a><a href='#L13'>13</a> |  | ||||||
| <a name='L14'></a><a href='#L14'>14</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ><template></span></span></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  <section class="h-screen w-screen justify-center items-center flex"></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >    <ul class="bg-gray-100 flex-row border-2 w-10/12 md:w-5/6 lg:w-1/2"></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      <TodoAdd /></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      <TodoRow v-for="(todo, index) in store.getTodos" :key="index" :todo="todo" /></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >    </ul></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  </section></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" ></template></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" ></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" ><script lang="ts" setup></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >import { useTodoStore } from '~~/stores/TodoStore'</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >const store = useTodoStore()</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" ></script></span> |  | ||||||
|  </pre></td></tr></table></pre> |  | ||||||
|  |  | ||||||
|                 <div class='push'></div><!-- for sticky footer --> |  | ||||||
|             </div><!-- /wrapper --> |  | ||||||
|             <div class='footer quiet pad2 space-top1 center small'> |  | ||||||
|                 Code coverage generated by |  | ||||||
|                 <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a> |  | ||||||
|                 at 2023-03-01T07:48:52.713Z |  | ||||||
|             </div> |  | ||||||
|         <script src="prettify.js"></script> |  | ||||||
|         <script> |  | ||||||
|             window.onload = function () { |  | ||||||
|                 prettyPrint(); |  | ||||||
|             }; |  | ||||||
|         </script> |  | ||||||
|         <script src="sorter.js"></script> |  | ||||||
|         <script src="block-navigation.js"></script> |  | ||||||
|     </body> |  | ||||||
| </html> |  | ||||||
|      |  | ||||||
| @@ -1 +0,0 @@ | |||||||
| .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} |  | ||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -1,274 +0,0 @@ | |||||||
|  |  | ||||||
| <!doctype html> |  | ||||||
| <html lang="en"> |  | ||||||
|  |  | ||||||
| <head> |  | ||||||
|     <title>Code coverage report for row.vue</title> |  | ||||||
|     <meta charset="utf-8" /> |  | ||||||
|     <link rel="stylesheet" href="prettify.css" /> |  | ||||||
|     <link rel="stylesheet" href="base.css" /> |  | ||||||
|     <link rel="shortcut icon" type="image/x-icon" href="favicon.png" /> |  | ||||||
|     <meta name="viewport" content="width=device-width, initial-scale=1" /> |  | ||||||
|     <style type='text/css'> |  | ||||||
|         .coverage-summary .sorter { |  | ||||||
|             background-image: url(sort-arrow-sprite.png); |  | ||||||
|         } |  | ||||||
|     </style> |  | ||||||
| </head> |  | ||||||
|      |  | ||||||
| <body> |  | ||||||
| <div class='wrapper'> |  | ||||||
|     <div class='pad1'> |  | ||||||
|         <h1><a href="index.html">All files</a> row.vue</h1> |  | ||||||
|         <div class='clearfix'> |  | ||||||
|              |  | ||||||
|             <div class='fl pad1y space-right2'> |  | ||||||
|                 <span class="strong">0% </span> |  | ||||||
|                 <span class="quiet">Statements</span> |  | ||||||
|                 <span class='fraction'>0/63</span> |  | ||||||
|             </div> |  | ||||||
|          |  | ||||||
|              |  | ||||||
|             <div class='fl pad1y space-right2'> |  | ||||||
|                 <span class="strong">0% </span> |  | ||||||
|                 <span class="quiet">Branches</span> |  | ||||||
|                 <span class='fraction'>0/1</span> |  | ||||||
|             </div> |  | ||||||
|          |  | ||||||
|              |  | ||||||
|             <div class='fl pad1y space-right2'> |  | ||||||
|                 <span class="strong">0% </span> |  | ||||||
|                 <span class="quiet">Functions</span> |  | ||||||
|                 <span class='fraction'>0/1</span> |  | ||||||
|             </div> |  | ||||||
|          |  | ||||||
|              |  | ||||||
|             <div class='fl pad1y space-right2'> |  | ||||||
|                 <span class="strong">0% </span> |  | ||||||
|                 <span class="quiet">Lines</span> |  | ||||||
|                 <span class='fraction'>0/63</span> |  | ||||||
|             </div> |  | ||||||
|          |  | ||||||
|              |  | ||||||
|         </div> |  | ||||||
|         <p class="quiet"> |  | ||||||
|             Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block. |  | ||||||
|         </p> |  | ||||||
|         <template id="filterTemplate"> |  | ||||||
|             <div class="quiet"> |  | ||||||
|                 Filter: |  | ||||||
|                 <input oninput="onInput()" type="search" id="fileSearch"> |  | ||||||
|             </div> |  | ||||||
|         </template> |  | ||||||
|     </div> |  | ||||||
|     <div class='status-line low'></div> |  | ||||||
|     <pre><table class="coverage"> |  | ||||||
| <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a> |  | ||||||
| <a name='L2'></a><a href='#L2'>2</a> |  | ||||||
| <a name='L3'></a><a href='#L3'>3</a> |  | ||||||
| <a name='L4'></a><a href='#L4'>4</a> |  | ||||||
| <a name='L5'></a><a href='#L5'>5</a> |  | ||||||
| <a name='L6'></a><a href='#L6'>6</a> |  | ||||||
| <a name='L7'></a><a href='#L7'>7</a> |  | ||||||
| <a name='L8'></a><a href='#L8'>8</a> |  | ||||||
| <a name='L9'></a><a href='#L9'>9</a> |  | ||||||
| <a name='L10'></a><a href='#L10'>10</a> |  | ||||||
| <a name='L11'></a><a href='#L11'>11</a> |  | ||||||
| <a name='L12'></a><a href='#L12'>12</a> |  | ||||||
| <a name='L13'></a><a href='#L13'>13</a> |  | ||||||
| <a name='L14'></a><a href='#L14'>14</a> |  | ||||||
| <a name='L15'></a><a href='#L15'>15</a> |  | ||||||
| <a name='L16'></a><a href='#L16'>16</a> |  | ||||||
| <a name='L17'></a><a href='#L17'>17</a> |  | ||||||
| <a name='L18'></a><a href='#L18'>18</a> |  | ||||||
| <a name='L19'></a><a href='#L19'>19</a> |  | ||||||
| <a name='L20'></a><a href='#L20'>20</a> |  | ||||||
| <a name='L21'></a><a href='#L21'>21</a> |  | ||||||
| <a name='L22'></a><a href='#L22'>22</a> |  | ||||||
| <a name='L23'></a><a href='#L23'>23</a> |  | ||||||
| <a name='L24'></a><a href='#L24'>24</a> |  | ||||||
| <a name='L25'></a><a href='#L25'>25</a> |  | ||||||
| <a name='L26'></a><a href='#L26'>26</a> |  | ||||||
| <a name='L27'></a><a href='#L27'>27</a> |  | ||||||
| <a name='L28'></a><a href='#L28'>28</a> |  | ||||||
| <a name='L29'></a><a href='#L29'>29</a> |  | ||||||
| <a name='L30'></a><a href='#L30'>30</a> |  | ||||||
| <a name='L31'></a><a href='#L31'>31</a> |  | ||||||
| <a name='L32'></a><a href='#L32'>32</a> |  | ||||||
| <a name='L33'></a><a href='#L33'>33</a> |  | ||||||
| <a name='L34'></a><a href='#L34'>34</a> |  | ||||||
| <a name='L35'></a><a href='#L35'>35</a> |  | ||||||
| <a name='L36'></a><a href='#L36'>36</a> |  | ||||||
| <a name='L37'></a><a href='#L37'>37</a> |  | ||||||
| <a name='L38'></a><a href='#L38'>38</a> |  | ||||||
| <a name='L39'></a><a href='#L39'>39</a> |  | ||||||
| <a name='L40'></a><a href='#L40'>40</a> |  | ||||||
| <a name='L41'></a><a href='#L41'>41</a> |  | ||||||
| <a name='L42'></a><a href='#L42'>42</a> |  | ||||||
| <a name='L43'></a><a href='#L43'>43</a> |  | ||||||
| <a name='L44'></a><a href='#L44'>44</a> |  | ||||||
| <a name='L45'></a><a href='#L45'>45</a> |  | ||||||
| <a name='L46'></a><a href='#L46'>46</a> |  | ||||||
| <a name='L47'></a><a href='#L47'>47</a> |  | ||||||
| <a name='L48'></a><a href='#L48'>48</a> |  | ||||||
| <a name='L49'></a><a href='#L49'>49</a> |  | ||||||
| <a name='L50'></a><a href='#L50'>50</a> |  | ||||||
| <a name='L51'></a><a href='#L51'>51</a> |  | ||||||
| <a name='L52'></a><a href='#L52'>52</a> |  | ||||||
| <a name='L53'></a><a href='#L53'>53</a> |  | ||||||
| <a name='L54'></a><a href='#L54'>54</a> |  | ||||||
| <a name='L55'></a><a href='#L55'>55</a> |  | ||||||
| <a name='L56'></a><a href='#L56'>56</a> |  | ||||||
| <a name='L57'></a><a href='#L57'>57</a> |  | ||||||
| <a name='L58'></a><a href='#L58'>58</a> |  | ||||||
| <a name='L59'></a><a href='#L59'>59</a> |  | ||||||
| <a name='L60'></a><a href='#L60'>60</a> |  | ||||||
| <a name='L61'></a><a href='#L61'>61</a> |  | ||||||
| <a name='L62'></a><a href='#L62'>62</a> |  | ||||||
| <a name='L63'></a><a href='#L63'>63</a> |  | ||||||
| <a name='L64'></a><a href='#L64'>64</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-no"> </span> |  | ||||||
| <span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"><span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" ><span class="branch-0 cbranch-no" title="branch not covered" ><template v-if="isActive"></span></span></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  <li class="hover:bg-green-100 px-8 py-4 flex justify-between"></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >    <NCheckbox</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      v-if="!editMode"</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      :checked="todo.isDone"</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      :label="todo.content"</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      size="large"</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      class="grow"</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      @update:checked="toggleDone(todo)"</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >    /></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >    <input</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      v-if="editMode"</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      ref="editinput"</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      v-model="newContent"</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      class="grow px-2"</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      type="text"</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      @focusout="updateContent(todo)"</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      @keypress.enter="updateContent(todo)"</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >    ></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >    <div class="flex justify-around w-24"></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      <NButton type="warning" @click="editTodo()"></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >        🖊️</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      </NButton></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      <NButton type="error" @click="store.dropTodo(todo)"></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >        🗑</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >      </NButton></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >    </div></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  </li></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" ></template></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" ></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" ><script lang="ts" setup></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >import Todo from 'types/todo'</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >import { useTodoStore } from '~~/stores/TodoStore'</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >const store = useTodoStore()</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >interface Props {</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  todo: Todo</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >}</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >const props = defineProps<Props>()</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >const editMode = ref(false)</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >const newContent = ref(props.todo.content)</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >const editinput = ref<HTMLInputElement>()</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >const toggleDone = (todo: Todo) => {</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  todo.isDone = !todo.isDone</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  store.updateTodo(todo)</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >}</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >const editTodo = () => {</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  editMode.value = !editMode.value</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  nextTick(() => {</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >    editinput.value?.focus()</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  })</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >}</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >const updateContent = (todo: Todo) => {</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  todo.content = newContent.value</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  store.updateTodo(todo)</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  editMode.value = !editMode</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >}</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" ></script></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" ></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" ><style></span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >.n-checkbox--checked .n-checkbox__label {</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >  @apply line-through opacity-50;</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" >}</span> |  | ||||||
| <span class="cstat-no" title="statement not covered" ></style></span> |  | ||||||
|  </pre></td></tr></table></pre> |  | ||||||
|  |  | ||||||
|                 <div class='push'></div><!-- for sticky footer --> |  | ||||||
|             </div><!-- /wrapper --> |  | ||||||
|             <div class='footer quiet pad2 space-top1 center small'> |  | ||||||
|                 Code coverage generated by |  | ||||||
|                 <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a> |  | ||||||
|                 at 2023-03-01T07:48:52.713Z |  | ||||||
|             </div> |  | ||||||
|         <script src="prettify.js"></script> |  | ||||||
|         <script> |  | ||||||
|             window.onload = function () { |  | ||||||
|                 prettyPrint(); |  | ||||||
|             }; |  | ||||||
|         </script> |  | ||||||
|         <script src="sorter.js"></script> |  | ||||||
|         <script src="block-navigation.js"></script> |  | ||||||
|     </body> |  | ||||||
| </html> |  | ||||||
|      |  | ||||||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 138 B | 
| @@ -1,196 +0,0 @@ | |||||||
| /* eslint-disable */ |  | ||||||
| var addSorting = (function() { |  | ||||||
|     'use strict'; |  | ||||||
|     var cols, |  | ||||||
|         currentSort = { |  | ||||||
|             index: 0, |  | ||||||
|             desc: false |  | ||||||
|         }; |  | ||||||
|  |  | ||||||
|     // returns the summary table element |  | ||||||
|     function getTable() { |  | ||||||
|         return document.querySelector('.coverage-summary'); |  | ||||||
|     } |  | ||||||
|     // returns the thead element of the summary table |  | ||||||
|     function getTableHeader() { |  | ||||||
|         return getTable().querySelector('thead tr'); |  | ||||||
|     } |  | ||||||
|     // returns the tbody element of the summary table |  | ||||||
|     function getTableBody() { |  | ||||||
|         return getTable().querySelector('tbody'); |  | ||||||
|     } |  | ||||||
|     // returns the th element for nth column |  | ||||||
|     function getNthColumn(n) { |  | ||||||
|         return getTableHeader().querySelectorAll('th')[n]; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     function onFilterInput() { |  | ||||||
|         const searchValue = document.getElementById('fileSearch').value; |  | ||||||
|         const rows = document.getElementsByTagName('tbody')[0].children; |  | ||||||
|         for (let i = 0; i < rows.length; i++) { |  | ||||||
|             const row = rows[i]; |  | ||||||
|             if ( |  | ||||||
|                 row.textContent |  | ||||||
|                     .toLowerCase() |  | ||||||
|                     .includes(searchValue.toLowerCase()) |  | ||||||
|             ) { |  | ||||||
|                 row.style.display = ''; |  | ||||||
|             } else { |  | ||||||
|                 row.style.display = 'none'; |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     // loads the search box |  | ||||||
|     function addSearchBox() { |  | ||||||
|         var template = document.getElementById('filterTemplate'); |  | ||||||
|         var templateClone = template.content.cloneNode(true); |  | ||||||
|         templateClone.getElementById('fileSearch').oninput = onFilterInput; |  | ||||||
|         template.parentElement.appendChild(templateClone); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     // loads all columns |  | ||||||
|     function loadColumns() { |  | ||||||
|         var colNodes = getTableHeader().querySelectorAll('th'), |  | ||||||
|             colNode, |  | ||||||
|             cols = [], |  | ||||||
|             col, |  | ||||||
|             i; |  | ||||||
|  |  | ||||||
|         for (i = 0; i < colNodes.length; i += 1) { |  | ||||||
|             colNode = colNodes[i]; |  | ||||||
|             col = { |  | ||||||
|                 key: colNode.getAttribute('data-col'), |  | ||||||
|                 sortable: !colNode.getAttribute('data-nosort'), |  | ||||||
|                 type: colNode.getAttribute('data-type') || 'string' |  | ||||||
|             }; |  | ||||||
|             cols.push(col); |  | ||||||
|             if (col.sortable) { |  | ||||||
|                 col.defaultDescSort = col.type === 'number'; |  | ||||||
|                 colNode.innerHTML = |  | ||||||
|                     colNode.innerHTML + '<span class="sorter"></span>'; |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|         return cols; |  | ||||||
|     } |  | ||||||
|     // attaches a data attribute to every tr element with an object |  | ||||||
|     // of data values keyed by column name |  | ||||||
|     function loadRowData(tableRow) { |  | ||||||
|         var tableCols = tableRow.querySelectorAll('td'), |  | ||||||
|             colNode, |  | ||||||
|             col, |  | ||||||
|             data = {}, |  | ||||||
|             i, |  | ||||||
|             val; |  | ||||||
|         for (i = 0; i < tableCols.length; i += 1) { |  | ||||||
|             colNode = tableCols[i]; |  | ||||||
|             col = cols[i]; |  | ||||||
|             val = colNode.getAttribute('data-value'); |  | ||||||
|             if (col.type === 'number') { |  | ||||||
|                 val = Number(val); |  | ||||||
|             } |  | ||||||
|             data[col.key] = val; |  | ||||||
|         } |  | ||||||
|         return data; |  | ||||||
|     } |  | ||||||
|     // loads all row data |  | ||||||
|     function loadData() { |  | ||||||
|         var rows = getTableBody().querySelectorAll('tr'), |  | ||||||
|             i; |  | ||||||
|  |  | ||||||
|         for (i = 0; i < rows.length; i += 1) { |  | ||||||
|             rows[i].data = loadRowData(rows[i]); |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|     // sorts the table using the data for the ith column |  | ||||||
|     function sortByIndex(index, desc) { |  | ||||||
|         var key = cols[index].key, |  | ||||||
|             sorter = function(a, b) { |  | ||||||
|                 a = a.data[key]; |  | ||||||
|                 b = b.data[key]; |  | ||||||
|                 return a < b ? -1 : a > b ? 1 : 0; |  | ||||||
|             }, |  | ||||||
|             finalSorter = sorter, |  | ||||||
|             tableBody = document.querySelector('.coverage-summary tbody'), |  | ||||||
|             rowNodes = tableBody.querySelectorAll('tr'), |  | ||||||
|             rows = [], |  | ||||||
|             i; |  | ||||||
|  |  | ||||||
|         if (desc) { |  | ||||||
|             finalSorter = function(a, b) { |  | ||||||
|                 return -1 * sorter(a, b); |  | ||||||
|             }; |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         for (i = 0; i < rowNodes.length; i += 1) { |  | ||||||
|             rows.push(rowNodes[i]); |  | ||||||
|             tableBody.removeChild(rowNodes[i]); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         rows.sort(finalSorter); |  | ||||||
|  |  | ||||||
|         for (i = 0; i < rows.length; i += 1) { |  | ||||||
|             tableBody.appendChild(rows[i]); |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|     // removes sort indicators for current column being sorted |  | ||||||
|     function removeSortIndicators() { |  | ||||||
|         var col = getNthColumn(currentSort.index), |  | ||||||
|             cls = col.className; |  | ||||||
|  |  | ||||||
|         cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); |  | ||||||
|         col.className = cls; |  | ||||||
|     } |  | ||||||
|     // adds sort indicators for current column being sorted |  | ||||||
|     function addSortIndicators() { |  | ||||||
|         getNthColumn(currentSort.index).className += currentSort.desc |  | ||||||
|             ? ' sorted-desc' |  | ||||||
|             : ' sorted'; |  | ||||||
|     } |  | ||||||
|     // adds event listeners for all sorter widgets |  | ||||||
|     function enableUI() { |  | ||||||
|         var i, |  | ||||||
|             el, |  | ||||||
|             ithSorter = function ithSorter(i) { |  | ||||||
|                 var col = cols[i]; |  | ||||||
|  |  | ||||||
|                 return function() { |  | ||||||
|                     var desc = col.defaultDescSort; |  | ||||||
|  |  | ||||||
|                     if (currentSort.index === i) { |  | ||||||
|                         desc = !currentSort.desc; |  | ||||||
|                     } |  | ||||||
|                     sortByIndex(i, desc); |  | ||||||
|                     removeSortIndicators(); |  | ||||||
|                     currentSort.index = i; |  | ||||||
|                     currentSort.desc = desc; |  | ||||||
|                     addSortIndicators(); |  | ||||||
|                 }; |  | ||||||
|             }; |  | ||||||
|         for (i = 0; i < cols.length; i += 1) { |  | ||||||
|             if (cols[i].sortable) { |  | ||||||
|                 // add the click event handler on the th so users |  | ||||||
|                 // dont have to click on those tiny arrows |  | ||||||
|                 el = getNthColumn(i).querySelector('.sorter').parentElement; |  | ||||||
|                 if (el.addEventListener) { |  | ||||||
|                     el.addEventListener('click', ithSorter(i)); |  | ||||||
|                 } else { |  | ||||||
|                     el.attachEvent('onclick', ithSorter(i)); |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|     // adds sorting functionality to the UI |  | ||||||
|     return function() { |  | ||||||
|         if (!getTable()) { |  | ||||||
|             return; |  | ||||||
|         } |  | ||||||
|         cols = loadColumns(); |  | ||||||
|         loadData(); |  | ||||||
|         addSearchBox(); |  | ||||||
|         addSortIndicators(); |  | ||||||
|         enableUI(); |  | ||||||
|     }; |  | ||||||
| })(); |  | ||||||
|  |  | ||||||
| window.addEventListener('load', addSorting); |  | ||||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| @@ -1,8 +1,7 @@ | |||||||
| version: '3.7' |  | ||||||
| services: | services: | ||||||
|   pegazdev: |   dockerwebcom: | ||||||
|     build: . |     build: . | ||||||
|     container_name: pegazdev |     container_name: dockerwebcom | ||||||
|     restart: unless-stopped |     restart: unless-stopped | ||||||
|     ports: |     ports: | ||||||
|       - $PORT:3000 |       - $PORT:3000 | ||||||
| @@ -14,4 +13,4 @@ services: | |||||||
|  |  | ||||||
| networks: | networks: | ||||||
|   default: |   default: | ||||||
|     name: pegaz |     name: dockerweb | ||||||
|   | |||||||
							
								
								
									
										151
									
								
								logo.svg
									
									
									
									
									
								
							
							
						
						
									
										151
									
								
								logo.svg
									
									
									
									
									
								
							| @@ -2,104 +2,81 @@ | |||||||
| <!-- Created with Inkscape (http://www.inkscape.org/) --> | <!-- Created with Inkscape (http://www.inkscape.org/) --> | ||||||
|  |  | ||||||
| <svg | <svg | ||||||
|    xmlns:dc="http://purl.org/dc/elements/1.1/" |    width="111.83958mm" | ||||||
|    xmlns:cc="http://creativecommons.org/ns#" |    height="111.83958mm" | ||||||
|    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |    viewBox="0 0 111.83957 111.83957" | ||||||
|    xmlns:svg="http://www.w3.org/2000/svg" |  | ||||||
|    xmlns="http://www.w3.org/2000/svg" |  | ||||||
|    xmlns:xlink="http://www.w3.org/1999/xlink" |  | ||||||
|    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |  | ||||||
|    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |  | ||||||
|    width="51.180511mm" |  | ||||||
|    height="34.942585mm" |  | ||||||
|    viewBox="0 0 51.180511 34.942585" |  | ||||||
|    version="1.1" |    version="1.1" | ||||||
|    id="svg5807" |    id="svg1" | ||||||
|    inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" |    inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)" | ||||||
|    sodipodi:docname="pegaz.svg"> |    sodipodi:docname="logo.svg" | ||||||
|   <defs |    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | ||||||
|      id="defs5801"> |    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | ||||||
|     <linearGradient |    xmlns="http://www.w3.org/2000/svg" | ||||||
|        inkscape:collect="always" |    xmlns:svg="http://www.w3.org/2000/svg"> | ||||||
|        id="linearGradient5890"> |  | ||||||
|       <stop |  | ||||||
|          style="stop-color:#322eeb;stop-opacity:1" |  | ||||||
|          offset="0" |  | ||||||
|          id="stop5886" /> |  | ||||||
|       <stop |  | ||||||
|          style="stop-color:#702fff;stop-opacity:1" |  | ||||||
|          offset="1" |  | ||||||
|          id="stop5888" /> |  | ||||||
|     </linearGradient> |  | ||||||
|     <linearGradient |  | ||||||
|        inkscape:collect="always" |  | ||||||
|        xlink:href="#linearGradient5890" |  | ||||||
|        id="linearGradient5892" |  | ||||||
|        x1="37.362221" |  | ||||||
|        y1="294.65009" |  | ||||||
|        x2="19.9897" |  | ||||||
|        y2="279.14844" |  | ||||||
|        gradientUnits="userSpaceOnUse" |  | ||||||
|        gradientTransform="matrix(3.7795276,0,0,3.7795276,18.897638,-1009.3508)" /> |  | ||||||
|   </defs> |  | ||||||
|   <sodipodi:namedview |   <sodipodi:namedview | ||||||
|      id="base" |      id="namedview1" | ||||||
|      pagecolor="#ffffff" |      pagecolor="#505050" | ||||||
|      bordercolor="#666666" |      bordercolor="#eeeeee" | ||||||
|      borderopacity="1.0" |      borderopacity="1" | ||||||
|      inkscape:pageopacity="0.0" |      inkscape:showpageshadow="0" | ||||||
|      inkscape:pageshadow="2" |      inkscape:pageopacity="0" | ||||||
|      inkscape:zoom="2" |      inkscape:pagecheckerboard="0" | ||||||
|      inkscape:cx="61.470446" |      inkscape:deskcolor="#505050" | ||||||
|      inkscape:cy="-7.789637" |  | ||||||
|      inkscape:document-units="mm" |      inkscape:document-units="mm" | ||||||
|      inkscape:current-layer="layer1" |      inkscape:zoom="1.0293883" | ||||||
|      showgrid="false" |      inkscape:cx="230.71954" | ||||||
|      fit-margin-top="5" |      inkscape:cy="183.11846" | ||||||
|      fit-margin-left="5" |  | ||||||
|      fit-margin-right="5" |  | ||||||
|      fit-margin-bottom="5" |  | ||||||
|      inkscape:window-width="1920" |      inkscape:window-width="1920" | ||||||
|      inkscape:window-height="1048" |      inkscape:window-height="1011" | ||||||
|      inkscape:window-x="0" |      inkscape:window-x="0" | ||||||
|      inkscape:window-y="-4" |      inkscape:window-y="0" | ||||||
|      inkscape:window-maximized="1" |      inkscape:window-maximized="1" | ||||||
|      showguides="true" |      inkscape:current-layer="layer1" /> | ||||||
|      inkscape:guide-bbox="true"> |   <defs | ||||||
|     <sodipodi:guide |      id="defs1" /> | ||||||
|        position="35.172669,28.437477" |  | ||||||
|        orientation="1,0" |  | ||||||
|        id="guide952" |  | ||||||
|        inkscape:locked="false" /> |  | ||||||
|     <sodipodi:guide |  | ||||||
|        position="38.820898,24.134438" |  | ||||||
|        orientation="0,1" |  | ||||||
|        id="guide954" |  | ||||||
|        inkscape:locked="false" /> |  | ||||||
|   </sodipodi:namedview> |  | ||||||
|   <metadata |  | ||||||
|      id="metadata5804"> |  | ||||||
|     <rdf:RDF> |  | ||||||
|       <cc:Work |  | ||||||
|          rdf:about=""> |  | ||||||
|         <dc:format>image/svg+xml</dc:format> |  | ||||||
|         <dc:type |  | ||||||
|            rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |  | ||||||
|         <dc:title /> |  | ||||||
|       </cc:Work> |  | ||||||
|     </rdf:RDF> |  | ||||||
|   </metadata> |  | ||||||
|   <g |   <g | ||||||
|      inkscape:label="Layer 1" |      inkscape:label="Layer 1" | ||||||
|      inkscape:groupmode="layer" |      inkscape:groupmode="layer" | ||||||
|      id="layer1" |      id="layer1" | ||||||
|      transform="translate(5,-267.05741)"> |      transform="translate(-49.080209,-92.580211)"> | ||||||
|  |     <g | ||||||
|  |        id="g2" | ||||||
|  |        transform="matrix(5.5108247,0,0,5.5108247,118.69148,125.59682)" | ||||||
|  |        style="display:inline;fill:#ffffff"> | ||||||
|  |       <g | ||||||
|  |          style="display:inline;fill:#0062f8;fill-opacity:0.446602" | ||||||
|  |          transform="matrix(0.61412638,0,0,0.61412638,-46.767414,1.3479387)" | ||||||
|  |          id="g1236-3-3-2"> | ||||||
|  |         <circle | ||||||
|  |            style="display:inline;fill:#0062f8;fill-opacity:0.446602;stroke:none;stroke-width:302.362;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:161.197;stroke-opacity:1" | ||||||
|  |            id="path1180-2-6-6-9" | ||||||
|  |            cx="72.107216" | ||||||
|  |            cy="4.5725055" | ||||||
|  |            r="9.6730785" /> | ||||||
|  |         <circle | ||||||
|  |            style="display:inline;fill:#0062f8;fill-opacity:0.446602;stroke:none;stroke-width:428.643;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:161.197;stroke-opacity:1" | ||||||
|  |            id="path1180-9-7-7-1" | ||||||
|  |            cx="72.107216" | ||||||
|  |            cy="4.5725055" | ||||||
|  |            r="13.713011" /> | ||||||
|  |         <circle | ||||||
|  |            style="display:inline;fill:#0062f8;fill-opacity:0.446602;stroke:none;stroke-width:516.481;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:161.197;stroke-opacity:1" | ||||||
|  |            id="path1180-1-5-5-27" | ||||||
|  |            cx="72.107216" | ||||||
|  |            cy="4.5725055" | ||||||
|  |            r="16.523087" /> | ||||||
|  |       </g> | ||||||
|       <path |       <path | ||||||
|        style="display:inline;fill:url(#linearGradient5892);fill-opacity:1;stroke-width:0.99665797" |  | ||||||
|        d="m 135.29297,18.898438 c -15.90988,0.449723 -22.89844,21.96289 -22.89844,21.96289 -4.74107,-8.737181 -16.406391,-9.600018 -19.919921,-9.662109 l -59.322265,-0.002 c -4.8e-4,0.0038 -9.09e-4,0.0081 -0.002,0.01563 l -14.199219,-0.03711 c -0.02646,0.250205 -0.04434,0.501031 -0.05273,0.751953 0.0079,7.377147 7.711797,13.530744 17.759765,14.185547 l 31.982422,0.0625 v -0.0039 l 14.494141,0.02539 c 1.363124,0.02268 2.456124,1.13466 2.457031,2.498046 0,1.377638 -1.11455,2.495694 -2.492188,2.5 v 0.002 H 68.640625 v -0.02148 H 37.486328 c -0.606153,0 -0.256172,3.8e-5 -0.822266,0 v 0.002 c 0.0093,7.37642 7.74982,14.323771 17.796876,14.978516 0,0 1.558206,0.0032 1.628906,0.0039 0.544082,0.0038 2.013817,0.01758 12.535156,0.01758 0.01247,7.56e-4 0.02464,0.0032 0.03711,0.0039 0,0 1.917481,0.01953 14.4375,0.01953 1.377676,0.0038 2.492188,1.122324 2.492188,2.5 0,1.294601 -0.988167,2.347277 -2.25,2.474609 h -12.701172 -2 -14.195313 v 0.01563 c 0.0068,6.466999 5.958335,12.601876 14.195313,14.458985 l 2,0.490234 c 5.267465,0.03335 10.535418,0.004 15.802734,0.05859 -16.81854,0.0076 11.125029,0.002 14.15625,0.002 l 3.25,0.210937 9.2832,8.482422 c 16.74585,9.688082 31.23828,11.119142 31.23828,11.119142 0,0 11.90291,15.36174 29.47461,1.06836 1.55626,-1.26588 0.0137,-2.98828 0.0137,-2.98828 L 127.49414,40.861328 Z M 36.664062,51.177734 c -8.319917,0 -13.595359,-9.23e-4 -14.050781,-0.002 v 0.002 c -0.430261,-5.67e-4 4.377264,-3.4e-4 14.050781,0 z M 141.93945,29.009766 c -5.87501,2.187477 -8.125,11.9375 -8.125,11.9375 l 3.8125,5.125 z" |  | ||||||
|        id="rect269-7-1-0" |  | ||||||
|          inkscape:connector-curvature="0" |          inkscape:connector-curvature="0" | ||||||
|        sodipodi:nodetypes="ccccccccccccccccscccccccscccccccccccccccccccccccc" |          style="display:inline;fill:#ffffff;stroke-width:0.433462" | ||||||
|        transform="matrix(0.26458333,0,0,0.26458333,-5,267.05741)" /> |          id="path881-7-5-5-0" | ||||||
|  |          d="m 3.9199448,3.7220977 c -0.0282,-0.02295 -0.29172,-0.221932 -0.84699,-0.221932 -0.13871,0 -0.28565,0.013 -0.4378,0.0377 -0.10749,-0.738187 -0.71564,-1.097959 -0.74382,-1.113996 l -0.14954,-0.08669 -0.0984,0.142176 c -0.12298,0.190471 -0.21255,0.400537 -0.26484,0.621149 -0.0997,0.421326 -0.039,0.816643 0.17468,1.155612 -0.25834,0.143476 -0.67013003,0.181186 -0.75596003,0.182051 H -6.0544552 c -0.17908,7.09e-4 -0.32415,0.145584 -0.3251,0.324667 0.12299,0.569402 0.12059,0.553034 0.31955,1.075789 0.23623,0.619849 0.58734,1.076285 1.04421,1.356736 0.51191,0.31426 1.34546,0.494146 2.28694,0.494146 0.4404,0 0.87993,-0.03991 1.27004,-0.115302 0.61422,-0.118332 1.17252,-0.321625 1.65843,-0.602942 0.42468,-0.246154 0.80673,-0.559405 1.13134,-0.927608 0.54269,-0.615519 0.68368,-0.724924 1.08704,-1.222306 0.0325,0.0015 0.0641,0.002 0.0958,0.002 0.59428,0 0.96012,-0.238404 1.16168,-0.437793 0.2189,-0.216731 0.29692,-0.432597 0.30516,-0.456436 l 0.0421,-0.124838 z" | ||||||
|  |          sodipodi:nodetypes="cscccccccccccsccccscccc" /> | ||||||
|  |       <path | ||||||
|  |          style="font-weight:bold;font-size:3.06667px;font-family:Comfortaa;-inkscape-font-specification:'Comfortaa Bold';letter-spacing:0px;display:inline;fill:#ffffff;stroke-width:1.51181" | ||||||
|  |          d="m -6.3933452,1.1512817 h 0.55254 l 0.38633,1.624676 0.38333,-1.624676 h 0.55553 l 0.38334,1.624676 0.38633,-1.624676 h 0.54804 l -0.52708,2.235614 h -0.66484 l -0.4058,-1.699546 -0.4013,1.699546 h -0.66485 z m 5.11361,1.392579 v 0.152735 h -1.25332 q 0.0195,0.188672 0.13626,0.283008 0.1168,0.09434 0.32643,0.09434 0.16921,0 0.3459,-0.04941 0.17819,-0.05091 0.36537,-0.152735 v 0.413282 q -0.19017,0.07187 -0.38034,0.107813 -0.19017,0.03743 -0.38034,0.03743 -0.45521,0 -0.70827,-0.2306 -0.25156,-0.232096 -0.25156,-0.64987 0,-0.410287 0.24707,-0.645378 0.24857,-0.235092 0.68281,-0.235092 0.39532,0 0.6319,0.238086 0.23809,0.238087 0.23809,0.636394 z m -0.55104,-0.17819 q 0,-0.152735 -0.0898,-0.245573 -0.0883,-0.09434 -0.23209,-0.09434 -0.15573,0 -0.25306,0.08835 -0.0973,0.08685 -0.12129,0.251563 z m 1.84928,0.675326 q 0.17221,0 0.26205,-0.125781 0.0913,-0.125782 0.0913,-0.365365 0,-0.239584 -0.0913,-0.365365 -0.0898,-0.125782 -0.26205,-0.125782 -0.1722,0 -0.26503,0.127279 -0.0914,0.125782 -0.0914,0.363868 0,0.238086 0.0914,0.365365 0.0928,0.125781 0.26503,0.125781 z m -0.35638,-1.085613 q 0.11081,-0.146745 0.24558,-0.215625 0.13476,-0.07038 0.30996,-0.07038 0.30996,0 0.50910997,0.24707 0.19916,0.245574 0.19916,0.6334 0,0.387826 -0.19916,0.634896 -0.19914997,0.245573 -0.50910997,0.245573 -0.1752,0 -0.30996,-0.06888 -0.13477,-0.07038 -0.24558,-0.217122 v 0.242578 h -0.53606 v -2.32995 h 0.53606 z" | ||||||
|  |          id="text2-6-9" | ||||||
|  |          aria-label="Web" /> | ||||||
|  |     </g> | ||||||
|   </g> |   </g> | ||||||
| </svg> | </svg> | ||||||
|   | |||||||
| Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 5.3 KiB | 
| @@ -18,5 +18,16 @@ export default defineNuxtConfig({ | |||||||
|   extends: ['@sidebase/core'], |   extends: ['@sidebase/core'], | ||||||
|   typescript: { |   typescript: { | ||||||
|     shim: false |     shim: false | ||||||
|   } |   }, | ||||||
|  |   app: { | ||||||
|  |     head: { | ||||||
|  |       script: [ | ||||||
|  |         { | ||||||
|  |           src: "https://umami.erudi.fr/script.js", | ||||||
|  |           defer: true, | ||||||
|  |           "data-website-id": "93b97d68-8f3c-476a-888f-13876e73de1f", | ||||||
|  |         }, | ||||||
|  |       ], | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
| }) | }) | ||||||
|   | |||||||
							
								
								
									
										81
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										81
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @@ -1,5 +1,5 @@ | |||||||
| { | { | ||||||
|   "name": "pegaz.dev", |   "name": "docker-web.com", | ||||||
|   "lockfileVersion": 2, |   "lockfileVersion": 2, | ||||||
|   "requires": true, |   "requires": true, | ||||||
|   "packages": { |   "packages": { | ||||||
| @@ -7,7 +7,6 @@ | |||||||
|       "hasInstallScript": true, |       "hasInstallScript": true, | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@pinia/nuxt": "^0.4.6", |         "@pinia/nuxt": "^0.4.6", | ||||||
|         "@prisma/client": "^4.8.1", |  | ||||||
|         "@sidebase/core": "^0.1.4", |         "@sidebase/core": "^0.1.4", | ||||||
|         "pinia": "^2.0.30", |         "pinia": "^2.0.30", | ||||||
|         "youtubei": "^1.1.2" |         "youtubei": "^1.1.2" | ||||||
| @@ -29,7 +28,6 @@ | |||||||
|         "nuxt": "3.0.0", |         "nuxt": "3.0.0", | ||||||
|         "nuxt-svgo": "^1.1.0", |         "nuxt-svgo": "^1.1.0", | ||||||
|         "playwright": "^1.29.2", |         "playwright": "^1.29.2", | ||||||
|         "prisma": "^4.8.1", |  | ||||||
|         "typescript": "^4.9.4", |         "typescript": "^4.9.4", | ||||||
|         "unplugin-auto-import": "^0.12.1", |         "unplugin-auto-import": "^0.12.1", | ||||||
|         "unplugin-vue-components": "^0.22.12", |         "unplugin-vue-components": "^0.22.12", | ||||||
| @@ -1213,38 +1211,6 @@ | |||||||
|       "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", |       "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "node_modules/@prisma/client": { |  | ||||||
|       "version": "4.8.1", |  | ||||||
|       "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.8.1.tgz", |  | ||||||
|       "integrity": "sha512-d4xhZhETmeXK/yZ7K0KcVOzEfI5YKGGEr4F5SBV04/MU4ncN/HcE28sy3e4Yt8UFW0ZuImKFQJE+9rWt9WbGSQ==", |  | ||||||
|       "hasInstallScript": true, |  | ||||||
|       "dependencies": { |  | ||||||
|         "@prisma/engines-version": "4.8.0-61.d6e67a83f971b175a593ccc12e15c4a757f93ffe" |  | ||||||
|       }, |  | ||||||
|       "engines": { |  | ||||||
|         "node": ">=14.17" |  | ||||||
|       }, |  | ||||||
|       "peerDependencies": { |  | ||||||
|         "prisma": "*" |  | ||||||
|       }, |  | ||||||
|       "peerDependenciesMeta": { |  | ||||||
|         "prisma": { |  | ||||||
|           "optional": true |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "node_modules/@prisma/engines": { |  | ||||||
|       "version": "4.8.1", |  | ||||||
|       "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.8.1.tgz", |  | ||||||
|       "integrity": "sha512-93tctjNXcIS+i/e552IO6tqw17sX8liivv8WX9lDMCpEEe3ci+nT9F+1oHtAafqruXLepKF80i/D20Mm+ESlOw==", |  | ||||||
|       "devOptional": true, |  | ||||||
|       "hasInstallScript": true |  | ||||||
|     }, |  | ||||||
|     "node_modules/@prisma/engines-version": { |  | ||||||
|       "version": "4.8.0-61.d6e67a83f971b175a593ccc12e15c4a757f93ffe", |  | ||||||
|       "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.8.0-61.d6e67a83f971b175a593ccc12e15c4a757f93ffe.tgz", |  | ||||||
|       "integrity": "sha512-MHSOSexomRMom8QN4t7bu87wPPD+pa+hW9+71JnVcF3DqyyO/ycCLhRL1we3EojRpZxKvuyGho2REQsMCvxcJw==" |  | ||||||
|     }, |  | ||||||
|     "node_modules/@rollup/plugin-alias": { |     "node_modules/@rollup/plugin-alias": { | ||||||
|       "version": "4.0.2", |       "version": "4.0.2", | ||||||
|       "dev": true, |       "dev": true, | ||||||
| @@ -9583,23 +9549,6 @@ | |||||||
|         "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" |         "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/prisma": { |  | ||||||
|       "version": "4.8.1", |  | ||||||
|       "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.8.1.tgz", |  | ||||||
|       "integrity": "sha512-ZMLnSjwulIeYfaU1O6/LF6PEJzxN5par5weykxMykS9Z6ara/j76JH3Yo2AH3bgJbPN4Z6NeCK9s5fDkzf33cg==", |  | ||||||
|       "devOptional": true, |  | ||||||
|       "hasInstallScript": true, |  | ||||||
|       "dependencies": { |  | ||||||
|         "@prisma/engines": "4.8.1" |  | ||||||
|       }, |  | ||||||
|       "bin": { |  | ||||||
|         "prisma": "build/index.js", |  | ||||||
|         "prisma2": "build/index.js" |  | ||||||
|       }, |  | ||||||
|       "engines": { |  | ||||||
|         "node": ">=14.17" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "node_modules/process-nextick-args": { |     "node_modules/process-nextick-args": { | ||||||
|       "version": "2.0.1", |       "version": "2.0.1", | ||||||
|       "license": "MIT" |       "license": "MIT" | ||||||
| @@ -14098,25 +14047,6 @@ | |||||||
|       "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", |       "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|     "@prisma/client": { |  | ||||||
|       "version": "4.8.1", |  | ||||||
|       "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.8.1.tgz", |  | ||||||
|       "integrity": "sha512-d4xhZhETmeXK/yZ7K0KcVOzEfI5YKGGEr4F5SBV04/MU4ncN/HcE28sy3e4Yt8UFW0ZuImKFQJE+9rWt9WbGSQ==", |  | ||||||
|       "requires": { |  | ||||||
|         "@prisma/engines-version": "4.8.0-61.d6e67a83f971b175a593ccc12e15c4a757f93ffe" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "@prisma/engines": { |  | ||||||
|       "version": "4.8.1", |  | ||||||
|       "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.8.1.tgz", |  | ||||||
|       "integrity": "sha512-93tctjNXcIS+i/e552IO6tqw17sX8liivv8WX9lDMCpEEe3ci+nT9F+1oHtAafqruXLepKF80i/D20Mm+ESlOw==", |  | ||||||
|       "devOptional": true |  | ||||||
|     }, |  | ||||||
|     "@prisma/engines-version": { |  | ||||||
|       "version": "4.8.0-61.d6e67a83f971b175a593ccc12e15c4a757f93ffe", |  | ||||||
|       "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.8.0-61.d6e67a83f971b175a593ccc12e15c4a757f93ffe.tgz", |  | ||||||
|       "integrity": "sha512-MHSOSexomRMom8QN4t7bu87wPPD+pa+hW9+71JnVcF3DqyyO/ycCLhRL1we3EojRpZxKvuyGho2REQsMCvxcJw==" |  | ||||||
|     }, |  | ||||||
|     "@rollup/plugin-alias": { |     "@rollup/plugin-alias": { | ||||||
|       "version": "4.0.2", |       "version": "4.0.2", | ||||||
|       "dev": true, |       "dev": true, | ||||||
| @@ -19386,15 +19316,6 @@ | |||||||
|         "react-is": "^17.0.1" |         "react-is": "^17.0.1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "prisma": { |  | ||||||
|       "version": "4.8.1", |  | ||||||
|       "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.8.1.tgz", |  | ||||||
|       "integrity": "sha512-ZMLnSjwulIeYfaU1O6/LF6PEJzxN5par5weykxMykS9Z6ara/j76JH3Yo2AH3bgJbPN4Z6NeCK9s5fDkzf33cg==", |  | ||||||
|       "devOptional": true, |  | ||||||
|       "requires": { |  | ||||||
|         "@prisma/engines": "4.8.1" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "process-nextick-args": { |     "process-nextick-args": { | ||||||
|       "version": "2.0.1" |       "version": "2.0.1" | ||||||
|     }, |     }, | ||||||
|   | |||||||
| @@ -34,7 +34,6 @@ | |||||||
|     "nuxt": "3.0.0", |     "nuxt": "3.0.0", | ||||||
|     "nuxt-svgo": "^1.1.0", |     "nuxt-svgo": "^1.1.0", | ||||||
|     "playwright": "^1.29.2", |     "playwright": "^1.29.2", | ||||||
|     "prisma": "^4.8.1", |  | ||||||
|     "typescript": "^4.9.4", |     "typescript": "^4.9.4", | ||||||
|     "unplugin-auto-import": "^0.12.1", |     "unplugin-auto-import": "^0.12.1", | ||||||
|     "unplugin-vue-components": "^0.22.12", |     "unplugin-vue-components": "^0.22.12", | ||||||
| @@ -45,7 +44,6 @@ | |||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@pinia/nuxt": "^0.4.6", |     "@pinia/nuxt": "^0.4.6", | ||||||
|     "@prisma/client": "^4.8.1", |  | ||||||
|     "@sidebase/core": "^0.1.4", |     "@sidebase/core": "^0.1.4", | ||||||
|     "pinia": "^2.0.30", |     "pinia": "^2.0.30", | ||||||
|     "youtubei": "^1.1.2" |     "youtubei": "^1.1.2" | ||||||
|   | |||||||
| @@ -3,8 +3,8 @@ | |||||||
|     <header class="h-screen flex flex-col justify-center"> |     <header class="h-screen flex flex-col justify-center"> | ||||||
|       <nav class="fixed right-0 top-0 p-2 z-50"> |       <nav class="fixed right-0 top-0 p-2 z-50"> | ||||||
|         <a |         <a | ||||||
|           title="Go to Pegaz GitHub repo" |           title="Go to docker-web GitHub repo" | ||||||
|           href="https://github.com/valerebron/pegaz" |           href="https://github.com/docker-web/docker-web" | ||||||
|           target="_blank" |           target="_blank" | ||||||
|         > |         > | ||||||
|           <SvgGithub class="bg-white rounded-full shadow-lg hover:scale-105" /> |           <SvgGithub class="bg-white rounded-full shadow-lg hover:scale-105" /> | ||||||
| @@ -16,6 +16,7 @@ | |||||||
|     <main class="-mt-20"> |     <main class="-mt-20"> | ||||||
|       <Demo /> |       <Demo /> | ||||||
|       <Disclaimer /> |       <Disclaimer /> | ||||||
|  |       <!-- <Create /> --> | ||||||
|       <BackupRestore /> |       <BackupRestore /> | ||||||
|       <ApplicationsList /> |       <ApplicationsList /> | ||||||
|     </main> |     </main> | ||||||
| @@ -23,7 +24,7 @@ | |||||||
| </template> | </template> | ||||||
|  |  | ||||||
| <style> | <style> | ||||||
| .pegaz-section { | .docker-web-section { | ||||||
|   @apply flex flex-col md:flex-row items-center justify-center mb-28; |   @apply flex flex-col md:flex-row items-center justify-center mb-28; | ||||||
| } | } | ||||||
| .title { | .title { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user