Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • geocontrib/geocontrib-frontend
  • ext_matthieu/geocontrib-frontend
  • fnecas/geocontrib-frontend
  • MatthieuE/geocontrib-frontend
4 results
Show changes
Showing
with 326 additions and 2100 deletions
public/img/icons/apple-touch-icon-152x152.png

3.95 KiB

public/img/icons/apple-touch-icon-180x180.png

4.57 KiB

public/img/icons/apple-touch-icon-60x60.png

1.46 KiB

public/img/icons/apple-touch-icon-76x76.png

1.78 KiB

public/img/icons/apple-touch-icon.png

4.57 KiB | W: 0px | H: 0px

public/img/icons/apple-touch-icon.png

16.1 KiB | W: 0px | H: 0px

public/img/icons/apple-touch-icon.png
public/img/icons/apple-touch-icon.png
public/img/icons/apple-touch-icon.png
public/img/icons/apple-touch-icon.png
  • 2-up
  • Swipe
  • Onion skin
public/img/icons/favicon-16x16.png

799 B | W: 0px | H: 0px

public/img/icons/favicon-16x16.png

717 B | W: 0px | H: 0px

public/img/icons/favicon-16x16.png
public/img/icons/favicon-16x16.png
public/img/icons/favicon-16x16.png
public/img/icons/favicon-16x16.png
  • 2-up
  • Swipe
  • Onion skin
public/img/icons/favicon-32x32.png

1.24 KiB | W: 0px | H: 0px

public/img/icons/favicon-32x32.png

1.62 KiB | W: 0px | H: 0px

public/img/icons/favicon-32x32.png
public/img/icons/favicon-32x32.png
public/img/icons/favicon-32x32.png
public/img/icons/favicon-32x32.png
  • 2-up
  • Swipe
  • Onion skin
public/img/icons/favicon.ico

15 KiB

public/img/icons/msapplication-icon-144x144.png

1.14 KiB

public/img/icons/mstile-150x150.png

4.18 KiB

<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M8.00251 14.9297L0 1.07422H6.14651L8.00251 4.27503L9.84583 1.07422H16L8.00251 14.9297Z" fill="black"/>
</svg>
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
\ No newline at end of file
public/img/logo-geocontrib.png

156 KiB

public/img/logo-neogeo-circle.png

120 KiB

...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<!-- import not working for roboto condensed inside component style, only in head https://stackoverflow.com/questions/36724268/roboto-condensed-google-font-falls-back-in-all-browsers --> <!-- import not working for roboto condensed inside component style, only in head https://stackoverflow.com/questions/36724268/roboto-condensed-google-font-falls-back-in-all-browsers -->
<style>@import url('https://fonts.googleapis.com/css?family=Roboto Condensed:400,700,400italic,700italic&subset=latin');</style> <style>@import url('https://fonts.googleapis.com/css?family=Roboto Condensed:400,700,400italic,700italic&subset=latin');</style>
<base href="<%= htmlWebpackPlugin.files.publicPath %>">
<title><%= htmlWebpackPlugin.options.title %></title> <title><%= htmlWebpackPlugin.options.title %></title>
</head> </head>
<body> <body>
......
sonar.sources = src
sonar.exclusions = build/**, node_modules/**, src/assets/resources/**
#sonar.tests = api/tests/
<template> <template>
<div v-frag> <div id="app">
<header class="header-menu"> <GeorchestraHeader
<div class="ui container"> v-if="isGeorchestra"
<div class="ui inverted icon menu"> :key="$route.fullPath"
<router-link to="/" class="header item"> />
<img <AppHeader v-else />
class="ui mini right spaced image"
src="@/assets/img/logo-neogeo-circle.png"
/> <div id="app-content">
<!-- :src="LOGO_PATH" --> <span id="scroll-top-anchor" />
{{ getApplicationName() }} <div
</router-link> :class="{ active: loader.isLoading }"
class="ui inverted dimmer"
<div >
id="menu-dropdown" <div class="ui text loader">
:class="['ui dropdown item', { 'active visible': menuIsOpen }]" {{ loader.message }}
v-if="project"
@click="menuIsOpen = !menuIsOpen"
>
Projet : {{ project.title }}
<i class="dropdown icon"></i>
<div
:class="['menu', { 'visible transition': menuIsOpen }]"
style="z-index: 401"
>
<router-link
:to="{
name: 'project_detail',
params: { slug: project.slug },
}"
class="item"
>
<i class="home icon"></i>Accueil
</router-link>
<router-link
:to="{
name: 'liste-signalements',
params: { slug: project.slug },
}"
class="item"
>
<i class="list icon"></i>Liste & Carte
</router-link>
<router-link
v-if="user.is_administrator"
:to="{
name: 'project_mapping',
params: { slug: project.slug },
}"
class="item"
>
<i class="map icon"></i>Fonds cartographiques
</router-link>
<router-link
v-if="user.is_administrator"
:to="{
name: 'project_members',
params: { slug: project.slug },
}"
class="item"
>
<i class="users icon"></i>Membres
</router-link>
</div>
</div>
<div class="right menu">
<router-link v-if="user" to="/my_account/" class="item">
{{ userFullname || user.username || "Utilisateur inconnu" }}
</router-link>
<div
v-if="user && user.is_administrator"
class="item ui label vertical"
>
<span v-if="USER_LEVEL_PROJECTS && project">
{{ USER_LEVEL_PROJECTS[project.slug] }}</span
>
<br />
<span v-if="user.is_administrator"> Gestionnaire métier </span>
</div>
<!-- // todo : find out SSO_SETTED in django -->
<a v-if="user && !SSO_SETTED" @click="logout" class="item"
><i class="ui logout icon"></i>
</a>
<router-link v-else-if="!user" to="/connexion/" class="item"
>Se Connecter</router-link
>
</div>
</div> </div>
</div> </div>
</header>
<main>
<div class="ui stackable grid centered container">
<div v-if="messages" class="row">
<div class="fourteen wide column">
<div
v-for="(message, index) in messages"
:key="'message-' + index"
class="ui positive message"
>
<div class="ui info message">
<div class="header">
<i class="info circle icon"></i> Informations
</div>
<ul class="list">
{{
message.comment
}}
</ul>
</div>
</div>
</div>
</div>
<router-view />
<!-- //* Les views sont injectées ici -->
</div>
</main>
<footer> <!-- //* Les views sont injectées ici -->
<div class="ui compact text menu"> <router-view class="page-content" />
<router-link to="/mentions/" class="item">Mentions légales</router-link> </div>
<router-link to="/aide/" class="item">Aide</router-link>
<p class="item">Version {{ PACKAGE_VERSION }}</p> <AppFooter />
</div>
</footer>
</div> </div>
</template> </template>
<script> <script>
import frag from "vue-frag"; import { mapState } from 'vuex';
import { mapState } from "vuex";
import { mapGetters } from "vuex"; import AppHeader from '@/components/AppHeader';
import AppFooter from '@/components/AppFooter';
import GeorchestraHeader from '@/components/GeorchestraHeader.vue';
export default { export default {
name: "App", name: 'App',
directives: { components: {
frag, GeorchestraHeader,
AppHeader,
AppFooter,
}, },
data() { data() {
return { return {
menuIsOpen: false, menuIsOpen: false,
messages: null, rightMenuIsOpen: true,
baseUrl: this.$store.state.configuration.BASE_URL,
width: window.innerWidth > 0 ? window.innerWidth : screen.width,
}; };
}, },
computed: { computed: {
...mapState([ ...mapState([
"projects", 'user',
"user", 'USER_LEVEL_PROJECTS',
"SSO_SETTED", 'configuration',
"USER_LEVEL_PROJECTS", 'loader',
"configuration",
]), ]),
...mapGetters(["project"]), ...mapState('projects', [
//LOGO_PATH: () => require(`${configuration.VUE_APP_LOGO_PATH}`), 'projects',
//APPLICATION_NAME: () => this.configuration.VUE_APP_APPLICATION_NAME, 'project',
PACKAGE_VERSION: () => process.env.PACKAGE_VERSION || "0", ]),
userFullname: function () { isGeorchestra() {
if (this.user.first_name || this.user.last_name) return this.configuration.GEORCHESTRA_INTEGRATION?.HEADER;
return this.user.first_name + " " + this.user.last_name;
return null;
},
},
methods: {
logout() {
this.$store.dispatch("LOGOUT");
},
getApplicationName() {
return this.configuration.VUE_APP_APPLICATION_NAME;
},
clickOutsideMenu(e) {
if (!e.target.closest("#menu-dropdown")) this.menuIsOpen = false;
}, },
}, },
created() {
window.addEventListener("mousedown", this.clickOutsideMenu);
},
beforeDestroy() {
window.removeEventListener("mousedown", this.clickOutsideMenu);
},
}; };
</script> </script>
<style> <style scoped>
@import "./assets/styles/base.css"; .ui.active.dimmer {
@import "./assets/resources/semantic-ui-2.4.2/semantic.min.css"; position: fixed;
.header-menu {
min-width: 560px;
}
body {
height: 100vh;
margin: 0;
}
header {
min-height: 61px;
}
footer {
min-height: 40px;
}
/* Trick */
body {
display: flex;
flex-direction: column;
}
footer {
margin-top: auto;
}
.vertical {
flex-direction: column;
justify-content: center;
} }
</style> </style>
\ No newline at end of file
const faIcons = [
'circle',
'address-book',
'address-card',
'adjust',
'ambulance',
'anchor',
'angle-double-down',
'angle-double-left',
'angle-double-right',
'angle-double-up',
'angle-down',
'angle-left',
'angle-right',
'angle-up',
'apple-alt',
'archive',
'archway',
'arrow-alt-circle-down',
'arrow-alt-circle-left',
'arrow-alt-circle-right',
'arrow-alt-circle-up',
'arrow-circle-down',
'arrow-circle-left',
'arrow-circle-right',
'arrow-circle-up',
'arrow-down',
'arrow-left',
'arrow-right',
'arrow-up',
'arrows-alt',
'arrows-alt-h',
'arrows-alt-v',
'assistive-listening-systems',
'asterisk',
'at',
'atlas',
'award',
'baby',
'baby-carriage',
'backspace',
'backward',
'bahai',
'balance-scale',
'ban',
'band-aid',
'baseball-ball',
'basketball-ball',
'bed',
'beer',
'bicycle',
'biking',
'binoculars',
'blind',
'bolt',
'bong',
'book',
'book-medical',
'book-open',
'book-reader',
'box-open',
'briefcase',
'briefcase-medical',
'broadcast-tower',
'building',
'bus',
'bus-alt',
'camera',
'camera-retro',
'campground',
'car',
'car-alt',
'car-side',
'caravan',
'caret-down',
'caret-left',
'caret-right',
'caret-square-down',
'caret-square-left',
'caret-square-right',
'caret-square-up',
'caret-up',
'carrot',
'cart-arrow-down',
'cart-plus',
'cash-register',
'check',
'check-circle',
'check-square',
'chevron-circle-down',
'chevron-circle-left',
'chevron-circle-right',
'chevron-circle-up',
'chevron-down',
'chevron-left',
'chevron-right',
'chevron-up',
'city',
'clinic-medical',
'clock',
'cocktail',
'code-branch',
'coffee',
'cog',
'cogs',
'comment',
'comment-alt',
'compass',
'compress',
'compress-alt',
'compress-arrows-alt',
'concierge-bell',
'credit-card',
'cross',
'crosshairs',
'crow',
'deaf',
'directions',
'dog',
'edit',
'envelope',
'euro-sign',
'exclamation',
'exclamation-circle',
'exclamation-triangle',
'expand',
'eye',
'eye-slash',
'faucet',
'female',
'file',
'fire-alt',
'fish',
'flag',
'flask',
'gas-pump',
'gavel',
'graduation-cap',
'h-square',
'hammer',
'hiking',
'home',
'hospital',
'hospital-symbol',
'hotel',
'hourglass-half',
'house-damage',
'house-user',
'image',
'industry',
'info',
'info-circle',
'landmark',
'laptop-house',
'leaf',
'life-ring',
'lightbulb',
'location-arrow',
'lock',
'long-arrow-alt-down',
'long-arrow-alt-left',
'long-arrow-alt-right',
'long-arrow-alt-up',
'male',
'map',
'map-marked',
'map-marked-alt',
'map-marker',
'map-marker-alt',
'map-pin',
'map-signs',
'marker',
'medal',
'medkit',
'microphone',
'microscope',
'mobile-alt',
'money-bill',
'motorcycle',
'mountain',
'mouse-pointer',
'mug-hot',
'music',
'paint-brush',
'palette',
'paper-plane',
'parking',
'paw',
'pen',
'phone-alt',
'plane',
'plug',
'plus',
'plus-circle',
'plus-square',
'podcast',
'question',
'question-circle',
'radiation',
'recycle',
'road',
'running',
'satellite-dish',
'search',
'search-location',
'seedling',
'share-alt',
'ship',
'shopping-basket',
'shopping-cart',
'shuttle-van',
'skiing',
'snowflake',
'sort-down',
'square',
'square-full',
'star',
'star-and-crescent',
'star-of-david',
'star-of-life',
'stethoscope',
'sticky-note',
'store',
'store-alt',
'street-view',
'subway',
'suitcase',
'suitcase-rolling',
'sun',
'swimmer',
'syringe',
'tag',
'taxi',
'temperature-high',
'temperature-low',
'thumbs-down',
'thumbs-up',
'thumbtack',
'times',
'times-circle',
'tint',
'tint-slash',
'toolbox',
'tools',
'tractor',
'train',
'tram',
'trash-alt',
'tree',
'trophy',
'truck',
'truck-moving',
'tshirt',
'tv',
'umbrella',
'umbrella-beach',
'university',
'user-circle',
'user-friends',
'user-graduate',
'user-md',
'utensils',
'vial',
'video',
'walking',
'water',
'weight-hanging',
'wheelchair',
'wifi',
'wine-glass-alt',
'wrench'
];
export default faIcons;