feat: adiciona Dockerfile e corrige header
parent
4f31f091e6
commit
e23949103a
|
@ -0,0 +1,26 @@
|
||||||
|
FROM node:22-alpine AS build
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
COPY package*-json yarn.lock ./
|
||||||
|
|
||||||
|
RUN yarn install --frozen-lockfile
|
||||||
|
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
ARG VITE_URL_BACKEND
|
||||||
|
ENV VITE_URL_BACKEND=$VITE_URL_BACKEND
|
||||||
|
|
||||||
|
RUN yarn build
|
||||||
|
|
||||||
|
FROM node:22-alpine AS production
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
RUN yarn global add serve
|
||||||
|
|
||||||
|
COPY --from=build /app/dist /app/dist
|
||||||
|
|
||||||
|
EXPOSE 3333
|
||||||
|
|
||||||
|
CMD ["serve", "-s", "dist", "-l", "3333"]
|
26
index.html
26
index.html
|
@ -1,16 +1,14 @@
|
||||||
<!doctype html>
|
<!DOCTYPE html>
|
||||||
<html lang="pt-BR" data-theme="dark">
|
<html lang="pt-BR" data-theme="dark">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<link rel="icon" type="image/png" href="/src/assets/HIT-Logo_Naranja_24mm.png" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<title>Omnihit Manager</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
<head>
|
<body>
|
||||||
<meta charset="UTF-8" />
|
<div id="app"></div>
|
||||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
<script type="module" src="/src/main.ts"></script>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
</body>
|
||||||
<title>Vite + Vue + TS</title>
|
</html>
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div id="app"></div>
|
|
||||||
<script type="module" src="/src/main.ts"></script>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 944 B |
Binary file not shown.
After Width: | Height: | Size: 3.2 KiB |
|
@ -20,9 +20,9 @@ const hasSessionAlerts = computed(() => reminderSessions.value);
|
||||||
<div class="border-b border-border bg-cardBg">
|
<div class="border-b border-border bg-cardBg">
|
||||||
<div class="p-6">
|
<div class="p-6">
|
||||||
<div class="flex justify-between items-center">
|
<div class="flex justify-between items-center">
|
||||||
<div class="flex items-center gap-2">
|
<div class="flex items-center gap-4">
|
||||||
<h1 class="text-2xl font-bold text-accent">SESSÕES</h1>
|
<img src="../assets/HIT-Logo_Naranja_78mm.png" alt="hit-logo" width="64" />
|
||||||
<div v-if="hasSessionAlerts" class="w-2 h-2 bg-red-500 rounded-full"></div>
|
<h1 class="text-2xl font-bold text-accent">Omnihit Manager</h1>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -36,7 +36,7 @@ const hasSessionAlerts = computed(() => reminderSessions.value);
|
||||||
<!-- Conteúdo principal -->
|
<!-- Conteúdo principal -->
|
||||||
<div v-else class="p-6">
|
<div v-else class="p-6">
|
||||||
<!-- Grid de sessões -->
|
<!-- Grid de sessões -->
|
||||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
|
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
|
||||||
<SessionCard
|
<SessionCard
|
||||||
v-for="(session, index) in sessions"
|
v-for="(session, index) in sessions"
|
||||||
:key="`session_${index}`"
|
:key="`session_${index}`"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import { defineStore } from 'pinia';
|
import { defineStore } from 'pinia';
|
||||||
import type { Application, Session } from '../props/websocketResponse';
|
import type { Application, Session } from '../props/websocketResponse';
|
||||||
import { computed, reactive, ref } from 'vue';
|
import { ref } from 'vue';
|
||||||
|
|
||||||
export const useStore = defineStore('application', () => {
|
export const useStore = defineStore('application', () => {
|
||||||
const applications = ref<Application[]>([]);
|
const applications = ref<Application[]>([]);
|
||||||
|
|
Loading…
Reference in New Issue