p-accountのSPAを追加、プロフィールのAPIを追加

このコミットが含まれているのは:
トランギャー 2021-10-03 00:08:39 +07:00
コミット d537b99309
33個のファイルの変更1082行の追加1177行の削除

ファイルの表示

@ -10,7 +10,7 @@
"production": "mix --production"
},
"dependencies": {
"@emotion/react": "^11.4.0",
"@emotion/react": "^11.4.1",
"@emotion/styled": "^11.3.0",
"@iconify/icons-ant-design": "^1.1.0",
"@iconify/icons-eva": "^1.1.0",
@ -21,6 +21,7 @@
"@material-ui/styles": "^5.0.0-beta.1",
"@material-ui/utils": "^5.0.0-beta.0",
"@mui/icons-material": "^5.0.1",
"@mui/material": "^5.0.2",
"@testing-library/jest-dom": "^5.14.1",
"apexcharts": "^3.27.3",
"change-case": "^4.1.2",
@ -41,7 +42,7 @@
"react-helmet-async": "^1.0.9",
"react-image-crop-component": "^1.1.2",
"react-paginate": "^7.1.3",
"react-router-dom": "^6.0.0-beta.0",
"react-router-dom": "^5.2.1",
"react-scripts": "4.0.0",
"react-select": "^4.3.1",
"react-simple-star-rating": "^3.0.0",
@ -52,10 +53,10 @@
"yup": "^0.32.9"
},
"devDependencies": {
"@babel/core": "^7.14.8",
"@babel/core": "^7.15.5",
"@babel/eslint-parser": "^7.14.7",
"@babel/preset-react": "^7.0.0",
"axios": "^0.21",
"axios": "^0.21.4",
"bootstrap": "^4.0.0",
"eslint": "^7.31.0",
"eslint-config-airbnb": "^18.2.1",
@ -65,13 +66,13 @@
"eslint-plugin-import": "^2.23.4",
"eslint-plugin-jsx-a11y": "^6.4.1",
"eslint-plugin-prettier": "^3.4.0",
"eslint-plugin-react": "^7.24.0",
"eslint-plugin-react": "^7.26.1",
"eslint-plugin-react-hooks": "^4.2.0",
"jquery": "^3.2",
"laravel-mix": "^6.0.6",
"laravel-mix": "^6.0.31",
"lodash": "^4.17.19",
"popper.js": "^1.12",
"postcss": "^8.1.14",
"postcss": "^8.3.8",
"prettier": "^2.3.1",
"resolve-url-loader": "^3.1.2",
"sass": "^1.42.1",

ファイルの表示

@ -1,23 +1,6 @@
require('./bootstrap');
require('./parent/meeting');
require('./parent/meeting/add');
require('./parent/meeting/edit');
require('./parent/meeting/detail');
require('./parent/favorite');
require('./parent/search');
require('./parent/child');
require('./parent/child/add');
require('./parent/child/edit');
require('./parent/child/detail');
require('./parent/profile');
require('./parent/profile/password_edit');
require('./parent/profile/edit');
require('./parent/profile/withdrawal');
require('./parent/profile/withdrawal_complete');
require('./parent/app');
require('./pages/contact');
require('./pages/contact/complete');

62
backend/resources/js/parent/app.js vendored ノーマルファイル
ファイルの表示

@ -0,0 +1,62 @@
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import Side from '../component/side';
import Meeting from '../parent/meeting';
import MeetingDetail from '../parent/meeting/detail';
import MeetingAdd from '../parent/meeting/add';
import MeetingEdit from '../parent/meeting/edit';
import Favorite from '../parent/favorite';
import Search from '../parent/search';
import Child from '../parent/child';
import ChildAdd from '../parent/child/add';
import ChildEdit from '../parent/child/edit';
import ChildDetail from '../parent/child/detail';
import Profile from '../parent/profile';
import ProfileEdit from '../parent/profile/edit';
import ProfilePasswordEdit from '../parent/profile/password_edit';
import ProfileWithdrawal from '../parent/profile/withdrawal';
import ProfileWithdrawalComplete from '../parent/profile/withdrawal_complete';
import { BrowserRouter, Route, Switch } from 'react-router-dom'
export default class App extends Component {
render() {
return (
<main className="l-container">
<BrowserRouter>
<Switch>
<Route exact path='/p-account/meeting' component={Meeting} />
<Route exact path='/p-account/meeting/detail/:id' component={MeetingDetail} />
<Route exact path='/p-account/meeting/new' component={MeetingAdd} />
<Route exact path='/p-account/meeting/edit/:id' component={MeetingEdit} />
<Route exact path='/p-account/favorite' component={Favorite} />
<Route exact path='/p-account/search' component={Search} />
<Route exact path='/p-account/child' component={Child} />
<Route exact path='/p-account/child/add' component={ChildAdd} />
<Route exact path='/p-account/child/edit/hire-date/:id' component={ChildEdit} />
<Route exact path='/p-account/child/detail/:id' component={ChildDetail} />
<Route exact path='/p-account/profile' component={Profile} />
<Route exact path='/p-account/profile/edit/:id' component={ProfileEdit} />
<Route exact path='/p-account/profile/edit/password/:id' component={ProfilePasswordEdit} />
<Route exact path='/p-account/profile/withdrawal' component={ProfileWithdrawal} />
<Route exact path='/p-account/profile/withdrawal/complete' component={ProfileWithdrawalComplete} />
</Switch>
</BrowserRouter>
<Side />
</main>
);
}
}
if(document.getElementById('p-app')){
ReactDOM.render(
<App />,
document.getElementById('p-app')
)
}

ファイルの表示

@ -1,88 +1,45 @@
import React, { useEffect, useState } from 'react';
import ReactDOM from 'react-dom';
import Side from '../../component/side';
const ChildAdd = () => {
return (
<main className="l-container">
<div className="l-content">
<div className="l-content-w560">
<div className="l-content__ttl">
<div className="l-content__ttl__left">
<h2>子詳細</h2>
<h2>子追加</h2>
</div>
<div className="p-notification">
<div className="p-notification-icon">
<div className="p-notification-icon-wrap">
<div className="count">1</div>
<div className="p-notification-icon-bg"></div>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.742 19.855" className="icon svg-icon svg-fill svg-y50" ><g fill="none" stroke="#080808" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" data-name="Icon feather-alert-triangle" transform="translate(0.777 0.75)"><path d="M11.188,5.322,2.6,19.659A2.028,2.028,0,0,0,4.334,22.7H21.51a2.028,2.028,0,0,0,1.734-3.042L14.656,5.322a2.028,2.028,0,0,0-3.468,0Z" data-name="パス 3" transform="translate(-2.328 -4.346)"/><path d="M18,13.5v6.91" data-name="パス 4" transform="translate(-7.406 -8.547)"/><path d="M18,25.5h0" data-name="パス 5" transform="translate(-7.406 -11.2)"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.742 19.855" className="icon svg-icon svg-fill svg-y50" ><g fill="none" stroke="#080808" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1.5" data-name="Icon feather-alert-triangle" transform="translate(0.777 0.75)"><path d="M11.188,5.322,2.6,19.659A2.028,2.028,0,0,0,4.334,22.7H21.51a2.028,2.028,0,0,0,1.734-3.042L14.656,5.322a2.028,2.028,0,0,0-3.468,0Z" data-name="パス 3" transform="translate(-2.328 -4.346)"/><path d="M18,13.5v6.91" data-name="パス 4" transform="translate(-7.406 -8.547)"/><path d="M18,25.5h0" data-name="パス 5" transform="translate(-7.406 -11.2)"/></g></svg>
</div>
</div>
</div>
</div>
<div className="l-content-wrap">
<div className="profile-container">
<div className="profile-wrap">
<div className="profile-content">
<div className="profile-thumb">
{/* <label> */}
<input id="profile-file" type="file" className="profile-thumb-img" />
<img src="../../../assets/img/avatar/avatar-sample04.jpg" id="profile-file-preview" className="profile-thumb__image" alt="" />
{/* </label> */}
</div>
<p className="profile-name">田中 達也</p>
<div className="profile-info">
<div className="profile-info__item">
<p className="profile-info__icon">
<img src="../../../assets/img/icon/mail.svg" alt="メール" />
</p>
<p className="txt">chankan77@gmail.com</p>
</div>
<div className="profile-info__item">
<p className="profile-info__icon">
<img src="../../../assets/img/icon/phone.svg" alt="電話" />
</p>
<p className="txt">08012927104</p>
</div>
<div className="profile-info__item">
<p className="profile-info__icon">
<img src="../../../assets/img/icon/building.svg" alt="会社名" />
</p>
<p className="txt">株式会社ZOTMAN</p>
</div>
<div className="profile-info__item">
<p className="profile-info__icon">
<img src="../../../assets/img/icon/calendar.svg" alt="日付" />
</p>
<p className="txt">2021/7/12</p>
</div>
<section className="edit-container">
<div className="edit-wrap">
<div className="edit-content">
<form action="" className="edit-form">
<div className="edit-set">
<label className="control-label" htmlFor="tel">追加する子の電話番号を入力</label>
<input type="tel" name="tel" value="" className="input-default input-tel input-h60 input-w480" id="tel" />
</div>
<div className="p-profile-btn">
<a data-v-ade1d018="" className="btn-default btn-yellow btn-profile btn-r8 btn-h52">
<span>入社日を変更</span>
</a>
</div>
<button type="button" className="btn-edit btn-default btn-h70 btn-r14 btn-yellow">追加 or 招待</button>
</form>
<div className="p-profile-txtLink">
<button type="button" className="a-icon txt-link">削除する</button>
</div>
</div>
</section>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<Side />
</main>
)
}
if(document.getElementById('p-child-add')){
ReactDOM.render(
<ChildAdd />,
document.getElementById('p-child-add')
)
}
export default ChildAdd;

ファイルの表示

@ -4,7 +4,6 @@ import Side from '../../component/side';
const ChildDetail = () => {
return (
<main className="l-container">
<div className="l-content">
<div className="l-content-w560">
<div className="l-content__ttl">
@ -75,14 +74,7 @@ const ChildDetail = () => {
</div>
</div>
</div>
<Side />
</main>
)
}
if(document.getElementById('p-child-detail')){
ReactDOM.render(
<ChildDetail />,
document.getElementById('p-child-detail')
)
}
export default ChildDetail;

ファイルの表示

@ -1,10 +1,7 @@
import React, { useEffect, useState } from 'react';
import ReactDOM from 'react-dom';
import Side from '../../component/side';
const ChildEdit = () => {
return (
<main className="l-container">
<div className="l-content">
<div className="l-content-w560">
<div className="l-content__ttl">
@ -43,14 +40,7 @@ const ChildEdit = () => {
</div>
</div>
</div>
<Side />
</main>
)
}
if(document.getElementById('p-child-edit')){
ReactDOM.render(
<ChildEdit />,
document.getElementById('p-child-edit')
)
}
export default ChildEdit;

ファイルの表示

@ -4,7 +4,6 @@ import Side from '../../component/side';
const Child = () => {
return (
<main className="l-container">
<div className="l-content">
<div className="l-content__ttl">
<div className="l-content__ttl__left">
@ -95,14 +94,7 @@ const Child = () => {
</section>
</div>
</div>
<Side />
</main>
)
}
if(document.getElementById('p-child')){
ReactDOM.render(
<Child />,
document.getElementById('p-child')
)
}
export default Child;

ファイルの表示

@ -1,10 +1,7 @@
import React, { useEffect, useState } from 'react';
import ReactDOM from 'react-dom';
import Side from '../../component/side';
const Favorite = () => {
return (
<main className="l-container">
<div className="l-content">
<div className="l-content__ttl">
<div className="l-content__ttl__left">
@ -207,14 +204,7 @@ const Favorite = () => {
</div>
</div>
</div>
<Side />
</main>
)
}
if(document.getElementById('p-favorite')){
ReactDOM.render(
<Favorite />,
document.getElementById('p-favorite')
)
}
export default Favorite;

ファイルの表示

@ -1,10 +1,7 @@
import React, { useEffect, useState } from 'react';
import ReactDOM from 'react-dom';
import Side from '../../component/side';
const MeetingAdd = () => {
return (
<main className="l-container">
<div className="l-content">
<div className="l-content-w560">
<div className="l-content__ttl">
@ -83,14 +80,7 @@ const MeetingAdd = () => {
</div>
</div>
</div>
<Side />
</main>
)
}
if(document.getElementById('p-meeting-add')){
ReactDOM.render(
<MeetingAdd />,
document.getElementById('p-meeting-add')
)
}
export default MeetingAdd;

ファイルの表示

@ -1,10 +1,7 @@
import React, { useEffect, useState } from 'react';
import ReactDOM from 'react-dom';
import Side from '../../component/side';
const MeetingDetail = () => {
return (
<main className="l-container">
<div className="l-content">
<div className="l-content-w560">
<div className="l-content__ttl">
@ -140,14 +137,7 @@ const MeetingDetail = () => {
</div>
</div>
</div>
<Side />
</main>
)
}
if(document.getElementById('p-meeting-detail')){
ReactDOM.render(
<MeetingDetail />,
document.getElementById('p-meeting-detail')
)
}
export default MeetingDetail;

ファイルの表示

@ -1,10 +1,7 @@
import React, { useEffect, useState } from 'react';
import ReactDOM from 'react-dom';
import Side from '../../component/side';
const MeetingEdit = () => {
return (
<main className="l-container">
<div className="l-content">
<div className="l-content__ttl">
<div className="l-content__ttl__left">
@ -104,14 +101,7 @@ const MeetingEdit = () => {
</div>
</div>
</div>
<Side />
</main>
)
}
if(document.getElementById('p-meeting-edit')){
ReactDOM.render(
<MeetingEdit />,
document.getElementById('p-meeting-edit')
)
}
export default MeetingEdit;

ファイルの表示

@ -1,10 +1,7 @@
import React, { useEffect, useState } from 'react';
import ReactDOM from 'react-dom';
import Side from '../../component/side';
const Meeting = () => {
return (
<main className="l-container">
<div className="l-content">
<div className="l-content__ttl">
<div className="l-content__ttl__left">
@ -92,14 +89,7 @@ const Meeting = () => {
</div>
</div>
</div>
<Side />
</main>
)
}
if(document.getElementById('p-meeting')){
ReactDOM.render(
<Meeting />,
document.getElementById('p-meeting')
)
}
export default Meeting;

ファイルの表示

@ -1,10 +1,7 @@
import React, { useEffect, useState } from 'react';
import ReactDOM from 'react-dom';
import Side from '../../component/side';
const ProfileEdit = () => {
return (
<main className="l-container">
<div className="l-content">
<div className="l-content-w560">
<div className="l-content__ttl">
@ -58,14 +55,7 @@ const ProfileEdit = () => {
</div>
</div>
</div>
<Side />
</main>
)
}
if(document.getElementById('p-profile-edit')){
ReactDOM.render(
<ProfileEdit />,
document.getElementById('p-profile-edit')
)
}
export default ProfileEdit;

ファイルの表示

@ -1,10 +1,25 @@
import React, { useEffect, useState } from 'react';
import ReactDOM from 'react-dom';
import Side from '../../component/side';
import axios from 'axios';
import { useHistory } from 'react-router-dom'
const Profile = () => {
const [child, setChild] = useState(null);
const history = useHistory();
useEffect(() => {
axios.get('/api/children/detail/1', {params: { father_id: 1 }}).then((response) => {
if(response.data.status_code==200){
console.log(response.data.params[0]);
setChild(response.data.params[0]);
} else if(response.data.status_code==400){
//TODO
}
});
}, []);
if (!child) return null;
return (
<main className="l-container">
<div className="l-content">
<div className="l-content-w560">
<div className="l-content__ttl">
@ -16,7 +31,12 @@ const Profile = () => {
<div className="p-notification-icon-wrap">
<div className="count">1</div>
<div className="p-notification-icon-bg"></div>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.742 19.855" className="icon svg-icon svg-fill svg-y50" ><g fill="none" stroke="#080808" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1.5" data-name="Icon feather-alert-triangle" transform="translate(0.777 0.75)"><path d="M11.188,5.322,2.6,19.659A2.028,2.028,0,0,0,4.334,22.7H21.51a2.028,2.028,0,0,0,1.734-3.042L14.656,5.322a2.028,2.028,0,0,0-3.468,0Z" data-name="パス 3" transform="translate(-2.328 -4.346)"/><path d="M18,13.5v6.91" data-name="パス 4" transform="translate(-7.406 -8.547)"/><path d="M18,25.5h0" data-name="パス 5" transform="translate(-7.406 -11.2)"/></g></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22.742 19.855" className="icon svg-icon svg-fill svg-y50" >
<g fill="none" stroke="#080808" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1.5" data-name="Icon feather-alert-triangle" transform="translate(0.777 0.75)">
<path d="M11.188,5.322,2.6,19.659A2.028,2.028,0,0,0,4.334,22.7H21.51a2.028,2.028,0,0,0,1.734-3.042L14.656,5.322a2.028,2.028,0,0,0-3.468,0Z" data-name="パス 3" transform="translate(-2.328 -4.346)"/>
<path d="M18,13.5v6.91" data-name="パス 4" transform="translate(-7.406 -8.547)"/><path d="M18,25.5h0" data-name="パス 5" transform="translate(-7.406 -11.2)"/>
</g>
</svg>
</div>
</div>
</div>
@ -29,7 +49,7 @@ const Profile = () => {
<div className="profile-thumb">
{/* <label> */}
<input id="profile-file" type="file" className="profile-thumb-img" />
<img src="../assets/img/avatar/avatar-sample04.jpg" id="profile-file-preview" className="profile-thumb__image" alt="" />
<img src={ child.image } id="profile-file-preview" className="profile-thumb__image" alt="" />
{/* </label> */}
<div className="profile-camera">
<label className="btn-default btn-camera btn-shadow">
@ -38,33 +58,50 @@ const Profile = () => {
</label>
</div>
</div>
<p className="profile-name">田中 達也</p>
<p className="profile-name">{ child.last_name } { child.first_name }</p>
<div className="profile-info">
<div className="profile-info__item">
<p className="profile-info__icon">
<img src="../assets/img/icon/mail.svg" alt="メール" />
</p>
<p className="txt">chankan77@gmail.com</p>
<p className="txt">{ child.email }</p>
</div>
<div className="profile-info__item">
<p className="profile-info__icon">
<img src="../assets/img/icon/phone.svg" alt="電話" />
</p>
<p className="txt">08012927104</p>
<p className="txt">{ child.tel }</p>
</div>
<div className="profile-info__item">
<p className="txt">ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ</p>
<p className="txt">{ child.company }</p>
</div>
</div>
<div className="p-profile-btn">
<a data-v-ade1d018="" className="btn-default btn-yellow btn-profile btn-r8 btn-h52">
<a
onClick={e => {
e.preventDefault();
history.push({
pathname: '/p-account/profile/edit/1',
state: {}
});
}}
data-v-ade1d018=""
className="btn-default btn-yellow btn-profile btn-r8 btn-h52">
<span>プロフィールを変更する</span>
</a>
</div>
<div className="p-profile-btn">
<a data-v-ade1d018="" className="btn-default btn-yellow btn-password btn-r8 btn-h52">
<a
onClick={e => {
e.preventDefault();
history.push({
pathname: '/p-account/profile/edit/password/1',
state: {}
});
}}
data-v-ade1d018=""
className="btn-default btn-yellow btn-password btn-r8 btn-h52">
<span>パスワードを変更する</span>
</a>
</div>
@ -83,14 +120,7 @@ const Profile = () => {
</div>
</div>
</div>
<Side />
</main>
)
}
if(document.getElementById('p-profile')){
ReactDOM.render(
<Profile />,
document.getElementById('p-profile')
)
}
export default Profile;

ファイルの表示

@ -1,10 +1,7 @@
import React, { useEffect, useState } from 'react';
import ReactDOM from 'react-dom';
import Side from '../../component/side';
const ProfilePasswordEdit = () => {
return (
<main className="l-container">
<div className="l-content">
<div className="l-content-w560">
<div className="l-content__ttl">
@ -46,14 +43,7 @@ const ProfilePasswordEdit = () => {
</div>
</div>
</div>
<Side />
</main>
)
}
if(document.getElementById('p-profile-password-edit')){
ReactDOM.render(
<ProfilePasswordEdit />,
document.getElementById('p-profile-password-edit')
)
}
export default ProfilePasswordEdit;

ファイルの表示

@ -1,10 +1,7 @@
import React, { useEffect, useState } from 'react';
import ReactDOM from 'react-dom';
import Side from '../../component/side';
const ProfileWithdrawal = () => {
return (
<main className="l-container">
<div className="l-content">
<div className="l-content-w560">
<div className="l-content__ttl">
@ -41,14 +38,7 @@ const ProfileWithdrawal = () => {
</div>
</div>
</div>
<Side />
</main>
)
}
if(document.getElementById('p-profile-withdrawal')){
ReactDOM.render(
<ProfileWithdrawal />,
document.getElementById('p-profile-withdrawal')
)
}
export default ProfileWithdrawal;

ファイルの表示

@ -1,10 +1,7 @@
import React, { useEffect, useState } from 'react';
import ReactDOM from 'react-dom';
import Side from '../../component/side';
const ProfileWithdrawalComplete = () => {
return (
<main className="l-container">
<div className="l-content">
<div className="l-content-w560">
<div className="l-content__ttl">
@ -41,14 +38,7 @@ const ProfileWithdrawalComplete = () => {
</div>
</div>
</div>
<Side />
</main>
)
}
if(document.getElementById('p-profile-withdrawal-complete')){
ReactDOM.render(
<ProfileWithdrawalComplete />,
document.getElementById('p-profile-withdrawal-complete')
)
}
export default ProfileWithdrawalComplete;

ファイルの表示

@ -1,10 +1,7 @@
import React, { useEffect, useState } from 'react';
import ReactDOM from 'react-dom';
import Side from '../../component/side';
const Search = () => {
return (
<main className="l-container">
<div className="l-content">
<div className="l-content__ttl">
<div className="l-content__ttl__left">
@ -205,15 +202,7 @@ const Search = () => {
</section>
</div>
</div>
<Side />
</main>
)
}
if(document.getElementById('p-search')){
ReactDOM.render(
<Search />,
document.getElementById('p-search')
)
}
export default Search;

ファイルの表示

@ -3,5 +3,5 @@
@section('title', '子追加')
@section('content')
<div id="p-child-add"></div>
<div id="p-app"></div>
@endsection

ファイルの表示

@ -3,5 +3,5 @@
@section('title', '子詳細')
@section('content')
<div id="p-child-detail"></div>
<div id="p-app"></div>
@endsection

ファイルの表示

@ -3,5 +3,5 @@
@section('title', '入社日を変更')
@section('content')
<div id="p-child-edit"></div>
<div id="p-app"></div>
@endsection

ファイルの表示

@ -3,5 +3,5 @@
@section('title', '子一覧')
@section('content')
<div id="p-child"></div>
<div id="p-app"></div>
@endsection

ファイルの表示

@ -3,5 +3,5 @@
@section('title', 'お気に入り')
@section('content')
<div id="p-favorite"></div>
<div id="p-app"></div>
@endsection

ファイルの表示

@ -3,5 +3,5 @@
@section('title', 'ミーティング作成')
@section('content')
<div id="p-meeting-add"></div>
<div id="p-app"></div>
@endsection

ファイルの表示

@ -3,5 +3,5 @@
@section('title', 'ミーティング詳細')
@section('content')
<div id="p-meeting-detail"></div>
<div id="p-app"></div>
@endsection

ファイルの表示

@ -3,5 +3,5 @@
@section('title', 'ミーティング作成')
@section('content')
<div id="p-meeting-edit"></div>
<div id="p-app"></div>
@endsection

ファイルの表示

@ -3,5 +3,5 @@
@section('title', 'ミーティング一覧')
@section('content')
<div id="p-meeting"></div>
<div id="p-app"></div>
@endsection

ファイルの表示

@ -1,7 +1,6 @@
@extends('p_account.layout')
@section('title', 'プロフィール編集')
@section('content')
<div id="p-profile-edit"></div>
<div id="p-app"></div>
@endsection

ファイルの表示

@ -3,5 +3,5 @@
@section('title', 'プロフィール')
@section('content')
<div id="p-profile"></div>
<div id="p-app"></div>
@endsection

ファイルの表示

@ -3,5 +3,5 @@
@section('title', 'パスワード編集')
@section('content')
<div id="p-profile-password-edit"></div>
<div id="p-app"></div>
@endsection

ファイルの表示

@ -3,5 +3,5 @@
@section('title', '退会確認')
@section('content')
<div id="p-profile-withdrawal"></div>
<div id="p-app"></div>
@endsection

ファイルの表示

@ -3,5 +3,5 @@
@section('title', '退会完了')
@section('content')
<div id="p-profile-withdrawal-complete"></div>
<div id="p-app"></div>
@endsection

ファイルの表示

@ -3,5 +3,5 @@
@section('title', 'ミーティング検索')
@section('content')
<div id="p-search"></div>
<div id="p-app"></div>
@endsection