.avada-db-table ol { margin-top: 0px; margin-bottom: 0px; } .avada-db-table tr textarea { width: 100%; height: 150px; } .awb-critical-hero { display: flex; align-items: center; } .awb-critical-hero form { width: 33.33%; flex-shrink: 0; padding-left: 2.8em; position: relative; } .awb-critical-hero form select, .awb-critical-hero form input { width: 100% !important; } .awb-critical-hero form select { margin: 0 0 1em 0 !important; } .avada-db-create-form .pyre_desc { display: none; } .avada-db-create-form .pyre_field { width: 100% !important; float: none !important; } .pyre_metabox_field { display: none; border: none !important; } .awb-critical-hero .pyre_field .select2-selection--multiple .select2-search__field { margin-bottom: 5px; padding-left: 7px; } .awb-critical-hero .pyre_field .select2-container .select2-selection > .select2-selection__rendered { margin-right: 0; } .awb-critical-hero .pyre_field .select2-selection--multiple { display: flex; } .awb-critical-hero .pyre_metabox_field { padding-top: 0; } .awb-critical-loader { align-items: center; display: none; } .awb-critical-loader .loading-message { margin-left: 0.7em; } .awb-critical-loader .avada-db-loader { display: block; } input[type="submit"].processing { display: none; } input[type="submit"].processing + .awb-critical-loader { display: flex; } #awb-critical-css .wp-list-table tr.processing { opacity: 0.5; pointer-events: none; } /* Regenerate button */ .awb-update-row .awb-spinner { display: inline-block; margin-right: 5px; background: none; flex-shrink: 0; margin-top: 0; border-radius: 50%; line-height: 1 !important; border: none; width: 1em; height: 1em; box-sizing: border-box; } .awb-update-row .awb-spinner i { font-size: 0.85em; } .awb-update-row.processing .awb-spinner { border: 3px solid rgba(0, 0, 0, 0.2); border-bottom: 3px solid #333; animation: avada-rotate 0.8s infinite linear; } .awb-update-row.processing .awb-spinner i{ visibility: hidden; } /* Modal */ #wpwrap .avada-db-critical .awb-admin-modal-wrap { top: 40%; transform: translateY(-50%); } .awb-admin-modal-wrap .awb-admin-modal-content { padding: 20px 20px 30px 20px; } .awb-admin-modal-wrap .awb-critical-css-modal-title { margin-bottom: 20px; } .awb-admin-modal-wrap .awb-critical-css-modal-title i { margin-right: 10px; color: #198fd9; } .awb-admin-modal-wrap .awb-critical-css-modal-text { line-height: 1.7; } .awb-admin-modal-wrap .awb-admin-modal-corner-close { border: 1px solid #e8e8e8; }import React, { useEffect, useState } from 'react' import InputWithButton from './InputWithButton' import verifyExtensionsToken from '../../api/verifyExtensionsToken' import ButtonActionProvider from '../Actions/ButtonActionProvider' import { tokenUrl } from '../../utils/linkGenerator' import useGlobalConfig from '../Contexts/useGlobalConfig' import Button from '../Buttons/Button' import styles from './ExtensionsToken.module.scss' /** * Generates a form allowing the user to input an Extensions API token * * @param trackingParams * @param customActionHook * @param completedCallback * @returns {*} * @constructor */ const ExtensionsToken = ({ trackingParams = {}, customActionHook = null, completedCallback = null }) => { const [token, setToken] = useState('') const [error, setError] = useState(null) const [saved, setSaved] = useState(false) const { setSubscriptionStatus } = useGlobalConfig() // Call our completedCallback() after our "saved" state variable is set to true: useEffect(() => { if (saved) { if (completedCallback) { completedCallback() } } }, [saved]) useEffect(() => { // each time our local project name changes we update our saved state to false. setSaved(false) setError(null) }, [token]) const tokenIsCorrectLength = token.length === 36 return ( { // Update local token state value: setToken(e.target.value) }} className={`${styles.input} ${tokenIsCorrectLength ? styles.success : ''}`} spellCheck='false' autoComplete='false' placeholder='Enter token here' /> )} Button={( } LoadingButton={ close
play_arrow

Le Giornate di Bertinoro

Elena Ostanel | Chi fa la città ? | GDB 2019

Saverio Cuoghi 27 Ottobre 2019 412 5


Background
share close

“Servono Fondazioni filantropiche (e imprese, anche classiche) che investano su azioni sociali, di empowerment dei cittadini sui temi dell’urbano e dell’abitare, come nel caso del Community Benefit Framework a Toronto”

Elena Ostanel, Urbanista & Rigeneratrice

Civitas, urbanisti, Comunità, strumenti per leggere il territorio, software e hardware urbano, IUAV, cambiamento ed etica, città dei ricchi e città dei poveri, community organizing, Toronto, infrastruttura sociale, Planning table, Fondazioni, Ruolo delle imprese sociali e “classiche”, Community Benefit Framework le parole chiave della #conversazione

Elena Ostanel BIO

è Marie Sklodowska-Curie Fellow per il progetto NEIGHBOURCHANGE presso l’Università Iuav di Venezia.

È Dottore di ricerca in Pianificazione Territoriale e Politiche Pubbliche del Territorio (2012) e svolge dal 2008 attività di ricerca e progettazione in quartieri ad alto tasso di immigrazione collaborando con la Cattedra UNESCO per l’inclusione sociale e spaziale dei migranti internazionali.

A Iuav coordina dal 2015 il primo Master italiano dedicato ai temi della Rigenerazione Urbana e Innovazione Sociale U-Rise.

È visiting researcher presso TUDelft- Faculty of Architecture and the Built Environment e University of Toronto- Faculty of Social Work. Ha svolto periodi di ricerca a Parigi (MINES Paris Tech), Johannesburg (University of the Witwatersrand), Berlino e Rotterdam.

È stata visiting Professor alla Venice International University per il corso City and Immigration.

Presidente del CdA dello Spin Off Accademico dell’Università Iuav di Venezia EST/CO+.Autrice di numerosi articoli nazionali e internazionali sulla segregazione residenziale, la convivenza nelle periferie e la rigenerazione urbana, ha di recente pubblicato il volume Spazi fuori dal Comune. Rigenerare, includere, innovare, 2017, FrancoAngeli, Milano e contribuito con il capitolo La città interculturale (2018) nel testo Città, Sostantivo Plurale per Fondazione Feltrinelli Editore.

Rate it
Previous episode
Post comments (0)

Leave a reply