# Source: frontend/src/components/Link.component.js

    import {Component} from '../../lib/vues6.js'
    import {router} from '../module/routing.js'

    const template = `
    <a href="#" @click="on_click()">{{ text }}</a>
    `

    /**
     * Component providing hyper-links that navigate to other pages in the SPA,
     * without reloading the page.
     */
    class LinkComponent extends Component {
        static get selector() { return 'app-link' }
        static get template() { return template }
        static get props() { return ['href', 'args', 'text'] }

        /**
         * Called when the link is clicked. Navigates the router.
         */
        on_click() {
            router.navigate(this.href, this.args)
        }
    }

    export default LinkComponent