public function getCurrentArea(): AreaContract
    {
        $segment = $this->request->segment(1);
        $area    = $segment ? $this->getById($segment) : null;


        if (!$area && $this->auth->check()) {
            $user  = $this->auth->user();
            $areas = $user->getArea();
            if (is_array($areas)) {
                $area = $this->areas->getById(reset($areas));
            } else {
                $area = $this->areas->getById($areas);
            }
        }

        return $area ?: $this->getDefault();
    }