Initial commit

This commit is contained in:
Ninjdai 2025-08-11 22:30:37 +02:00
commit 6fbdc0b4fc
18 changed files with 2910 additions and 0 deletions

24
.gitignore vendored Normal file
View file

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

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

@ -0,0 +1,3 @@
{
"recommendations": ["Vue.volar"]
}

5
README.md Normal file
View file

@ -0,0 +1,5 @@
# Vue 3 + TypeScript + Vite
This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
Learn more about the recommended Project Setup and IDE Support in the [Vue Docs TypeScript Guide](https://vuejs.org/guide/typescript/overview.html#project-setup).

13
index.html Normal file
View file

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

2588
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

29
package.json Normal file
View file

@ -0,0 +1,29 @@
{
"name": "ue-web",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vue-tsc -b && vite build",
"preview": "vite preview"
},
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^7.0.0",
"@fortawesome/free-brands-svg-icons": "^7.0.0",
"@fortawesome/free-solid-svg-icons": "^7.0.0",
"@fortawesome/vue-fontawesome": "^3.1.1",
"flowbite": "^3.1.2",
"flowbite-vue": "^0.2.1",
"vue": "^3.5.18"
},
"devDependencies": {
"@tailwindcss/vite": "^4.1.11",
"@vitejs/plugin-vue": "^6.0.1",
"@vue/tsconfig": "^0.7.0",
"tailwindcss": "^4.1.11",
"typescript": "~5.8.3",
"vite": "^7.1.0",
"vue-tsc": "^3.0.5"
}
}

1
public/UEA.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 754 KiB

72
src/App.vue Normal file
View file

@ -0,0 +1,72 @@
<template>
<Navbar />
<div class="main">
<!-- Section Accueil -->
<section id="home" class="py-16 bg-gray-100/10">
<div class="container mx-auto px-4">
<h1 class="text-4xl font-bold mb-8 text-center">Union Étudiante Auvergne</h1>
<p class="text-lg text-center">
L'Union Étudiante Auvergne est le syndicat étudiant majoritaire de l'Université Clermont Auvergne.<br/>
Nous sommes présent·es sur les différents campus de la fac pour informer, défendre et organiser la solidarité.<br/>
Rejoins-nous !
</p>
</div>
</section>
<!-- Section Actions -->
<section id="actions" class="py-16">
<div class="container mx-auto px-4">
<h2 class="text-3xl font-bold mb-8 text-center">Nos Actions</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
<div class="bg-gray-100/10 p-4 rounded shadow">
<h3 class="text-xl font-bold mb-2">FECReD</h3>
<p class="text-white">Le FECReD est le Festival Étudiant Contre le Racisme et les Discriminations, que nous organisons chaque année</p>
</div>
<div class="bg-gray-100/10 p-4 rounded shadow">
<h3 class="text-xl font-bold mb-2">Bourse Aux Livres Solidaire</h3>
<p class="text-white">La Bourse Aux Livres est une action à visée solidaire de partage de l'accès à la culture. Avant l'évènement, amène-nous tes manuels, romans ou BDs à <a href="#contact">notre local</a> ou sur une de nos tables de récupération, choisis entre un prix ou prix libre, et nous passons par tous les sites de la fac et te rendons l'argent de la vente et les livres restants à la fin de l'action.</p>
</div>
<div class="bg-gray-100/10 p-4 rounded shadow">
<h3 class="text-xl font-bold mb-2">Conférences</h3>
<p class="text-white">
Nous organisons et participons régulièrement à des conférences sur divers thèmes reliés aux étudiant·es et à leurs combats.
<br/>En 2025:
<br/>· Résister en étudiant·es, l'exemple des Gergoviottes (1939-1945) en présence de chercheur·euses du GERME
<br/>· Universités Israëliennes, Universités Palestiniennes par Ivar Ekeland
</p>
</div>
</div>
</div>
</section>
<!-- Section Contact -->
<section id="contact" class="py-16 bg-gray-100/10">
<div class="container mx-auto px-4">
<h2 class="text-3xl font-bold mb-8 text-center">Nous Contacter</h2>
<p class="text-lg text-center">
Tu peux nous contacter <a href="mailto:unionetudianteauvergne@gmail.com">par mail</a> (unionetudianteauvergne@gmail.com), en DM par <a href="#socials">nos réseaux sociaux</a> (Insta, Twitter...).
<br/>Notre local à la fac de lettres (29 Bd Gergovia) est ouvert tous les jours de la semaine de midi à 14h, tu peux te rendre sur place ou nous appeler au <b>04 73 34 66 31</b> sur cet horaire.
</p>
</div>
</section>
<!-- Section Réseaux Sociaux -->
<section id="socials" class="py-16">
<div class="container mx-auto px-4">
<h2 class="text-3xl font-bold mb-8 text-center">Réseaux Sociaux</h2>
<div class="flex justify-center space-x-4">
<a href="https://www.instagram.com/unionetudianteauvergne" target="_blank" class="text-2xl"><font-awesome-icon :icon="['fab', 'fa-instagram']" /></a>
<a href="https://x.com/UEAuvergne" target="_blank" class="text-2xl"><font-awesome-icon :icon="['fab', 'fa-twitter']" /></a>
<a href="https://linktr.ee/unionetudianteauvergne" target="_blank" class="text-2xl"><font-awesome-icon :icon="['fab', 'fa-linktree']" /></a>
</div>
</div>
</section>
</div>
<Footer />
</template>
<script setup>
import Navbar from './components/Navbar.vue'
import Footer from './components/Footer.vue';
</script>

1
src/assets/vue.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="37.07" height="36" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 198"><path fill="#41B883" d="M204.8 0H256L128 220.8L0 0h97.92L128 51.2L157.44 0h47.36Z"></path><path fill="#41B883" d="m0 0l128 220.8L256 0h-51.2L128 132.48L50.56 0H0Z"></path><path fill="#35495E" d="M50.56 0L128 133.12L204.8 0h-47.36L128 51.2L97.92 0H50.56Z"></path></svg>

After

Width:  |  Height:  |  Size: 496 B

23
src/components/Footer.vue Normal file
View file

@ -0,0 +1,23 @@
<template>
<fwb-footer>
<fwb-footer-copyright
by="Union Étudiante Auvergne"
href="https://ueauvergne.fr"
copyright-message="MIT."
/>
<fwb-footer-link-group>
<fwb-footer-link href="mailto:unionetudianteauvergne@gmail.com">
Contact
</fwb-footer-link>
</fwb-footer-link-group>
</fwb-footer>
</template>
<script setup>
import {
FwbFooter,
FwbFooterCopyright,
FwbFooterLink,
FwbFooterLinkGroup,
} from 'flowbite-vue'
</script>

34
src/components/Navbar.vue Normal file
View file

@ -0,0 +1,34 @@
<template>
<fwb-navbar>
<template #logo>
<fwb-navbar-logo alt="Flowbite logo" image-url="/UEA.svg" link="#">
Union Étudiante Auvergne
</fwb-navbar-logo>
</template>
<template #default="{isShowMenu}">
<fwb-navbar-collapse :is-show-menu="isShowMenu">
<fwb-navbar-link link="#home">
Accueil
</fwb-navbar-link>
<fwb-navbar-link link="#actions">
Actions
</fwb-navbar-link>
<fwb-navbar-link link="#contact">
Nous Contacter
</fwb-navbar-link>
<fwb-navbar-link link="#socials">
Réseaux Sociaux
</fwb-navbar-link>
</fwb-navbar-collapse>
</template>
</fwb-navbar>
</template>
<script setup lang="ts">
import {
FwbNavbar,
FwbNavbarCollapse,
FwbNavbarLink,
FwbNavbarLogo
} from 'flowbite-vue'
</script>

13
src/main.ts Normal file
View file

@ -0,0 +1,13 @@
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import { library } from '@fortawesome/fontawesome-svg-core'
import { } from '@fortawesome/free-solid-svg-icons'
import { faInstagram, faTwitter, faFacebook, faLinktree } from '@fortawesome/free-brands-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
library.add( faInstagram, faTwitter, faFacebook, faLinktree)
createApp(App)
.component('font-awesome-icon', FontAwesomeIcon)
.mount('#app')

45
src/style.css Normal file
View file

@ -0,0 +1,45 @@
@import "tailwindcss";
/* import Flowbite Vue styles */
@import "flowbite-vue/index.css";
/* import Flowbite plugin */
@plugin "flowbite/plugin";
/* add Flowbite Vue directory using @source directive */
@source "../node_modules/flowbite-vue";
:root {
font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
line-height: 1.5;
font-weight: 400;
color-scheme: light dark;
color: rgba(255, 255, 255, 0.87);
background-color: #552a86;
font-synthesis: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.main {
margin-top: 30px;
}
nav {
position:fixed;
width:100vw;
z-index:200;
top: 0;
}
a {
font-weight: 500;
color: #ffd754;
text-decoration: inherit;
}
a:hover {
color: #ffc40c;
}

1
src/vite-env.d.ts vendored Normal file
View file

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

15
tsconfig.app.json Normal file
View file

@ -0,0 +1,15 @@
{
"extends": "@vue/tsconfig/tsconfig.dom.json",
"compilerOptions": {
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
/* Linting */
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"erasableSyntaxOnly": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedSideEffectImports": true
},
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"]
}

7
tsconfig.json Normal file
View file

@ -0,0 +1,7 @@
{
"files": [],
"references": [
{ "path": "./tsconfig.app.json" },
{ "path": "./tsconfig.node.json" }
]
}

25
tsconfig.node.json Normal file
View file

@ -0,0 +1,25 @@
{
"compilerOptions": {
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
"target": "ES2023",
"lib": ["ES2023"],
"module": "ESNext",
"skipLibCheck": true,
/* Bundler mode */
"moduleResolution": "bundler",
"allowImportingTsExtensions": true,
"verbatimModuleSyntax": true,
"moduleDetection": "force",
"noEmit": true,
/* Linting */
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"erasableSyntaxOnly": true,
"noFallthroughCasesInSwitch": true,
"noUncheckedSideEffectImports": true
},
"include": ["vite.config.ts"]
}

11
vite.config.ts Normal file
View file

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